static gboolean
_forbid_outgoing_xfers (ModestWindow *window)
{
- const gchar *account_name;
- TnyAccount *account;
+ const gchar *account_name = NULL;
+ TnyAccount *account = NULL;
gboolean dimmed = FALSE;
- account_name = modest_window_get_active_account (window);
- account = modest_tny_account_store_get_server_account (modest_runtime_get_account_store (),
- account_name,
- TNY_ACCOUNT_TYPE_STORE);
+#ifdef MODEST_TOOLKIT_HILDON2
+ /* We cannot just get the active account because the active
+ account of a header window that shows the headers of a
+ local account is the ID of the remote account */
+ if (MODEST_IS_HEADER_WINDOW (window)) {
+ ModestHeaderView *header_view;
+ TnyFolder *folder;
+
+ header_view = modest_header_window_get_header_view ((ModestHeaderWindow *) window);
+ folder = modest_header_view_get_folder (header_view);
+
+ if (folder) {
+ account = modest_tny_folder_get_account (folder);
+ g_object_unref (folder);
+ }
+ }
+#endif
+
+ if (!account) {
+ account_name = modest_window_get_active_account (window);
+ account = modest_tny_account_store_get_server_account (modest_runtime_get_account_store (),
+ account_name,
+ TNY_ACCOUNT_TYPE_STORE);
+ }
if (account) {
ModestProtocolType protocol_type;
gboolean
modest_ui_dimming_rules_on_add_to_contacts (ModestWindow *win, gpointer user_data)
{
- GSList *recipients;
+ GSList *recipients = NULL;
gboolean has_recipients_to_add;
g_return_val_if_fail (MODEST_IS_DIMMING_RULE (user_data), FALSE);
g_object_unref (msg);
}
} else if (MODEST_IS_MSG_EDIT_WINDOW (win)) {
- /* Get recipients */
- gchar *joined, *after_remove;
- MsgData *data = modest_msg_edit_window_get_msg_data ((ModestMsgEditWindow *) win);
-
- /* We don't check the from */
- joined = modest_text_utils_join_addresses (NULL, data->to, data->cc, data->bcc);
- after_remove = modest_text_utils_remove_duplicate_addresses (joined);
- g_free (joined);
-
- recipients = modest_text_utils_split_addresses_list (after_remove);
- g_free (after_remove);
-
- modest_msg_edit_window_free_msg_data ((ModestMsgEditWindow *) win, data);
+ /* Check if there are pending addresses to add */
+ return !modest_msg_edit_window_has_pending_addresses ((ModestMsgEditWindow *) win);
}
has_recipients_to_add = FALSE;