From f5e47561f995ca50f2bbd45b940e0a10100281a5 Mon Sep 17 00:00:00 2001
From: Matthew Barnes <mbarnes@redhat.com>
Date: Sun, 2 Jun 2013 11:03:34 -0400
Subject: EMailReader: Add a "composer-created" signal.

Emitted to indicate a composer window was created in response to a user
action on the EMailReader.  Examples of such actions include replying,
forwarding, and starting a new message.

If applicable, the source message (i.e. the message being replied to or
forwarded) is included in the signal emission.

New functions:

  e_mail_reader_composer_created()
---
 mail/e-mail-reader-utils.c | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)

(limited to 'mail/e-mail-reader-utils.c')

diff --git a/mail/e-mail-reader-utils.c b/mail/e-mail-reader-utils.c
index ed6d14548a..0a7dc8d421 100644
--- a/mail/e-mail-reader-utils.c
+++ b/mail/e-mail-reader-utils.c
@@ -1322,6 +1322,7 @@ mail_reader_reply_message_parsed (GObject *object,
 	EMailBackend *backend;
 	EMailReader *reader = E_MAIL_READER (object);
 	EMailPartList *part_list;
+	EMsgComposer *composer;
 	CamelMimeMessage *message;
 	AsyncContext *async_context;
 
@@ -1333,7 +1334,7 @@ mail_reader_reply_message_parsed (GObject *object,
 	backend = e_mail_reader_get_backend (async_context->reader);
 	shell = e_shell_backend_get_shell (E_SHELL_BACKEND (backend));
 
-	em_utils_reply_to_message (
+	composer = em_utils_reply_to_message (
 		shell, message,
 		async_context->folder,
 		async_context->message_uid,
@@ -1342,6 +1343,8 @@ mail_reader_reply_message_parsed (GObject *object,
 		part_list,
 		async_context->address);
 
+	e_mail_reader_composer_created (reader, composer, message);
+
 	g_object_unref (part_list);
 
 	async_context_free (async_context);
@@ -1558,7 +1561,7 @@ e_mail_reader_reply_to_message (EMailReader *reader,
 	composer = em_utils_reply_to_message (
 		shell, new_message, folder, uid,
 		reply_type, reply_style, NULL, address);
-	if (composer && (validity_pgp_sum != 0 || validity_smime_sum != 0)) {
+	if (validity_pgp_sum != 0 || validity_smime_sum != 0) {
 		GtkToggleAction *action;
 
 		if ((validity_pgp_sum & E_MAIL_PART_VALIDITY_PGP) != 0) {
@@ -1586,6 +1589,8 @@ e_mail_reader_reply_to_message (EMailReader *reader,
 		}
 	}
 
+	e_mail_reader_composer_created (reader, composer, new_message);
+
 	if (address)
 		g_object_unref (address);
 
@@ -1626,9 +1631,11 @@ whole_message:
 		g_object_unref (activity);
 
 	} else {
-		em_utils_reply_to_message (
+		composer = em_utils_reply_to_message (
 			shell, src_message, folder, uid,
 			reply_type, reply_style, part_list, address);
+
+		e_mail_reader_composer_created (reader, composer, src_message);
 	}
 
 	g_clear_object (&address);
-- 
cgit