From f5ca8fdc13fa9d29dfb9fc941a01dbb64833b6ea Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Sat, 2 May 2009 00:56:55 -0400 Subject: Merge changes from master. --- mail/em-composer-utils.c | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) (limited to 'mail/em-composer-utils.c') diff --git a/mail/em-composer-utils.c b/mail/em-composer-utils.c index 381e7fbfc5..c32b05b402 100644 --- a/mail/em-composer-utils.c +++ b/mail/em-composer-utils.c @@ -499,7 +499,7 @@ struct _save_draft_info { }; static void -composer_set_no_change (EMsgComposer *composer, gboolean drop_undo) +composer_set_no_change (EMsgComposer *composer, gboolean drop_undo, gboolean editor_changed) { GtkhtmlEditor *editor; @@ -510,7 +510,9 @@ composer_set_no_change (EMsgComposer *composer, gboolean drop_undo) if (drop_undo) gtkhtml_editor_drop_undo (editor); - gtkhtml_editor_set_changed (editor, FALSE); + if (editor_changed) + gtkhtml_editor_set_changed (editor, FALSE); + e_composer_autosave_set_saved (composer, TRUE); } @@ -524,7 +526,7 @@ save_draft_done (CamelFolder *folder, CamelMimeMessage *msg, CamelMessageInfo *i if (!ok) goto done; - composer_set_no_change (sdi->composer, FALSE); + composer_set_no_change (sdi->composer, FALSE, FALSE); if ((emcs = sdi->emcs) == NULL) emcs = emcs_new (); @@ -698,7 +700,7 @@ em_utils_compose_new_message (const char *fromuri) if (composer == NULL) return; - composer_set_no_change (E_MSG_COMPOSER (composer), TRUE); + composer_set_no_change (E_MSG_COMPOSER (composer), TRUE, TRUE); gtk_widget_show (composer); } @@ -729,7 +731,7 @@ em_utils_compose_new_message_with_mailto (const char *url, const char *fromuri) && (account = mail_config_get_account_by_source_url(fromuri))) e_composer_header_table_set_account_name (table, account->name); - composer_set_no_change (composer, TRUE); + composer_set_no_change (composer, TRUE, url == NULL); gtk_widget_show ((GtkWidget *) composer); gdk_window_raise (((GtkWidget *) composer)->window); @@ -771,7 +773,7 @@ em_utils_post_to_folder (CamelFolder *folder) table, account->name); } - composer_set_no_change (composer, TRUE); + composer_set_no_change (composer, TRUE, TRUE); gtk_widget_show ((GtkWidget *) composer); gdk_window_raise (((GtkWidget *) composer)->window); @@ -802,7 +804,7 @@ em_utils_post_to_url (const char *url) g_list_free (list); } - composer_set_no_change (composer, TRUE); + composer_set_no_change (composer, TRUE, TRUE); gtk_widget_show ((GtkWidget *) composer); } @@ -956,7 +958,7 @@ edit_message (CamelMimeMessage *message, CamelFolder *drafts, const char *uid) emcs_set_drafts_info (emcs, drafts, uid); } - composer_set_no_change (composer, TRUE); + composer_set_no_change (composer, TRUE, FALSE); gtk_widget_show (GTK_WIDGET (composer)); } @@ -1087,7 +1089,7 @@ forward_attached (CamelFolder *folder, GPtrArray *uids, GPtrArray *messages, Cam if (uids) setup_forward_attached_callbacks (composer, folder, uids); - composer_set_no_change (composer, TRUE); + composer_set_no_change (composer, TRUE, FALSE); gtk_widget_show (GTK_WIDGET (composer)); } @@ -1171,7 +1173,7 @@ forward_non_attached (CamelFolder *folder, GPtrArray *uids, GPtrArray *messages, emcs_set_folder_info (emcs, folder, uids->pdata[i], CAMEL_MESSAGE_FORWARDED, CAMEL_MESSAGE_FORWARDED); } - composer_set_no_change (composer, TRUE); + composer_set_no_change (composer, TRUE, FALSE); gtk_widget_show (GTK_WIDGET (composer)); } @@ -1346,7 +1348,7 @@ em_utils_redirect_message (CamelMimeMessage *message) gtk_widget_show (GTK_WIDGET (composer)); - composer_set_no_change (composer, TRUE); + composer_set_no_change (composer, TRUE, FALSE); } static void @@ -2400,7 +2402,7 @@ em_utils_reply_to_message(CamelFolder *folder, const char *uid, CamelMimeMessage emcs = g_object_get_data (G_OBJECT (composer), "emcs"); emcs_set_folder_info (emcs, folder, uid, flags, flags); - composer_set_no_change (composer, TRUE); + composer_set_no_change (composer, TRUE, FALSE); gtk_widget_show (GTK_WIDGET (composer)); } @@ -2501,7 +2503,7 @@ post_reply_to_message (CamelFolder *folder, const char *uid, CamelMimeMessage *m emcs = g_object_get_data (G_OBJECT (composer), "emcs"); emcs_set_folder_info (emcs, real_folder, real_uid, flags, flags); - composer_set_no_change (composer, TRUE); + composer_set_no_change (composer, TRUE, FALSE); gtk_widget_show (GTK_WIDGET (composer)); -- cgit v1.2.3