[evolution/gnome-40] I#1460 - Don't put signature above original message when editing sent mail as new
- From: Milan Crha <mcrha src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [evolution/gnome-40] I#1460 - Don't put signature above original message when editing sent mail as new
- Date: Wed, 21 Apr 2021 09:39:33 +0000 (UTC)
commit e6b370d784ddc30a630974d5a8c9195522e8e1b3
Author: Milan Crha <mcrha redhat com>
Date: Wed Apr 21 11:37:43 2021 +0200
I#1460 - Don't put signature above original message when editing sent mail as new
Closes https://gitlab.gnome.org/GNOME/evolution/-/issues/1460
src/composer/e-msg-composer.c | 11 +++++++++--
src/mail/e-mail-reader-utils.c | 1 +
2 files changed, 10 insertions(+), 2 deletions(-)
---
diff --git a/src/composer/e-msg-composer.c b/src/composer/e-msg-composer.c
index b39f7ec829..492170e7b1 100644
--- a/src/composer/e-msg-composer.c
+++ b/src/composer/e-msg-composer.c
@@ -1850,7 +1850,9 @@ msg_composer_mail_identity_changed_cb (EMsgComposer *composer)
/* Silently return if no identity is selected. */
if (!uid) {
e_content_editor_set_start_bottom (cnt_editor, E_THREE_STATE_INCONSISTENT);
- e_content_editor_set_top_signature (cnt_editor, E_THREE_STATE_INCONSISTENT);
+ e_content_editor_set_top_signature (cnt_editor,
+ e_msg_composer_get_is_reply_or_forward (composer) ? E_THREE_STATE_INCONSISTENT :
+ E_THREE_STATE_OFF);
g_free (alias_name);
g_free (alias_address);
@@ -1866,7 +1868,8 @@ msg_composer_mail_identity_changed_cb (EMsgComposer *composer)
e_content_editor_set_start_bottom (cnt_editor,
e_source_mail_composition_get_start_bottom (mc));
e_content_editor_set_top_signature (cnt_editor,
- e_source_mail_composition_get_top_signature (mc));
+ e_msg_composer_get_is_reply_or_forward (composer) ?
e_source_mail_composition_get_top_signature (mc) :
+ E_THREE_STATE_OFF);
extension_name = E_SOURCE_EXTENSION_OPENPGP;
pgp = e_source_get_extension (source, extension_name);
@@ -3771,6 +3774,10 @@ e_msg_composer_setup_with_message (EMsgComposer *composer,
editor = e_msg_composer_get_editor (composer);
cnt_editor = e_html_editor_get_content_editor (editor);
+ /* Editing message as new, then keep the signature always below the original message */
+ if (keep_signature && !e_msg_composer_get_is_reply_or_forward (composer))
+ e_content_editor_set_top_signature (cnt_editor, E_THREE_STATE_OFF);
+
if (postto) {
e_composer_header_table_set_post_to_list (table, postto);
g_list_foreach (postto, (GFunc) g_free, NULL);
diff --git a/src/mail/e-mail-reader-utils.c b/src/mail/e-mail-reader-utils.c
index ced107b7fd..b15001e277 100644
--- a/src/mail/e-mail-reader-utils.c
+++ b/src/mail/e-mail-reader-utils.c
@@ -2048,6 +2048,7 @@ mail_reader_edit_messages_cb (GObject *source_object,
ccd->reader = g_object_ref (async_context->reader);
ccd->folder = g_object_ref (folder);
ccd->message = g_object_ref (CAMEL_MIME_MESSAGE (value));
+ ccd->keep_signature = async_context->keep_signature;
if (async_context->replace)
ccd->message_uid = camel_pstring_strdup ((const gchar *) key);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]