aboutsummaryrefslogtreecommitdiffstats
path: root/mail/em-composer-utils.c
diff options
context:
space:
mode:
authorMatthew Barnes <mbarnes@redhat.com>2009-05-02 12:56:55 +0800
committerMatthew Barnes <mbarnes@redhat.com>2009-05-02 12:56:55 +0800
commitf5ca8fdc13fa9d29dfb9fc941a01dbb64833b6ea (patch)
tree91036c36e2a40ee98dda5788ac5df66d536ee8af /mail/em-composer-utils.c
parent15af330cacae649e86d4d89a7a8c7f1795baa7ca (diff)
downloadgsoc2013-evolution-f5ca8fdc13fa9d29dfb9fc941a01dbb64833b6ea.tar
gsoc2013-evolution-f5ca8fdc13fa9d29dfb9fc941a01dbb64833b6ea.tar.gz
gsoc2013-evolution-f5ca8fdc13fa9d29dfb9fc941a01dbb64833b6ea.tar.bz2
gsoc2013-evolution-f5ca8fdc13fa9d29dfb9fc941a01dbb64833b6ea.tar.lz
gsoc2013-evolution-f5ca8fdc13fa9d29dfb9fc941a01dbb64833b6ea.tar.xz
gsoc2013-evolution-f5ca8fdc13fa9d29dfb9fc941a01dbb64833b6ea.tar.zst
gsoc2013-evolution-f5ca8fdc13fa9d29dfb9fc941a01dbb64833b6ea.zip
Merge changes from master.
Diffstat (limited to 'mail/em-composer-utils.c')
-rw-r--r--mail/em-composer-utils.c28
1 files changed, 15 insertions, 13 deletions
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));