/* Send & receive. */
modest_mail_operation_queue_add (modest_runtime_get_mail_operation_queue (), mail_op);
- modest_mail_operation_update_account (mail_op, info->account_name, new_messages_arrived, info->win);
+ modest_mail_operation_update_account (mail_op, info->account_name, (info->win) ? FALSE : TRUE,
+ new_messages_arrived, info->win);
g_object_unref (G_OBJECT (mail_op));
clean:
gpointer user_data)
{
ModestMsgEditWindow *edit_window;
- char *info_text;
+ ModestMainWindow *win;
+
+ /* FIXME. Make the header view sensitive again. This is a
+ * temporary hack. See modest_ui_actions_on_save_to_drafts()
+ * for details */
+ win = MODEST_MAIN_WINDOW(modest_window_mgr_get_main_window(
+ modest_runtime_get_window_mgr(), FALSE));
+ if (win != NULL) {
+ GtkWidget *hdrview = modest_main_window_get_child_widget(
+ win, MODEST_MAIN_WINDOW_WIDGET_TYPE_HEADER_VIEW);
+ if (hdrview) gtk_widget_set_sensitive(hdrview, TRUE);
+ }
edit_window = MODEST_MSG_EDIT_WINDOW (user_data);
return;
modest_msg_edit_window_set_draft (edit_window, saved_draft);
- info_text = g_strdup_printf (_("mail_va_saved_to_drafts"), _("mcen_me_folder_drafts"));
- modest_platform_information_banner (NULL, NULL, info_text);
- g_free (info_text);
}
void
MsgData *data;
gchar *account_name, *from;
ModestAccountMgr *account_mgr;
+ char *info_text;
g_return_if_fail (MODEST_IS_MSG_EDIT_WINDOW(edit_window));
data->priority_flags,
on_save_to_drafts_cb,
edit_window);
+ info_text = g_strdup_printf (_("mail_va_saved_to_drafts"), _("mcen_me_folder_drafts"));
+ modest_platform_information_banner (NULL, NULL, info_text);
+
/* Frees */
+ g_free (info_text);
g_free (from);
g_free (account_name);
g_object_unref (G_OBJECT (transport_account));
modest_msg_edit_window_free_msg_data (edit_window, data);
modest_msg_edit_window_reset_modified (edit_window);
+
+ /* ** FIXME **
+ * If the drafts folder is selected then make the header view
+ * insensitive while the message is being saved to drafts
+ * (it'll be sensitive again in on_save_to_drafts_cb()). This
+ * is not very clean but it avoids letting the drafts folder
+ * in an inconsistent state: the user could edit the message
+ * being saved and undesirable things would happen.
+ * In the average case the user won't notice anything at
+ * all. In the worst case (the user is editing a really big
+ * file from Drafts) the header view will be insensitive
+ * during the saving process (10 or 20 seconds, depending on
+ * the message). Anyway this is just a quick workaround: once
+ * we find a better solution it should be removed
+ * See NB#65125 (commend #18) for details.
+ */
+ ModestMainWindow *win = MODEST_MAIN_WINDOW(modest_window_mgr_get_main_window(
+ modest_runtime_get_window_mgr(), FALSE));
+ if (win != NULL) {
+ ModestFolderView *view = MODEST_FOLDER_VIEW(modest_main_window_get_child_widget(
+ win, MODEST_MAIN_WINDOW_WIDGET_TYPE_FOLDER_VIEW));
+ if (view != NULL) {
+ TnyFolder *folder = TNY_FOLDER(modest_folder_view_get_selected(view));
+ if (folder) {
+ if (modest_tny_folder_is_local_folder(folder)) {
+ TnyFolderType folder_type;
+ folder_type = modest_tny_folder_get_local_or_mmc_folder_type(folder);
+ if (folder_type == TNY_FOLDER_TYPE_DRAFTS) {
+ GtkWidget *hdrview = modest_main_window_get_child_widget(
+ win, MODEST_MAIN_WINDOW_WIDGET_TYPE_HEADER_VIEW);
+ if (hdrview) gtk_widget_set_sensitive(hdrview, FALSE);
+ }
+ }
+ }
+ if (folder != NULL) g_object_unref(folder);
+ }
+ }
}
/* For instance, when clicking the Send toolbar button when editing a message: */
data->attachments,
data->images,
data->priority_flags);
+
+ if (modest_mail_operation_get_status (mail_operation) == MODEST_MAIL_OPERATION_STATUS_IN_PROGRESS)
+ modest_platform_information_banner (NULL, NULL, _("mcen_ib_outbox_waiting_to_be_sent"));
+
/* Free data: */
g_free (from);