[evolution] Update EMailBrowser actions when MessageList reloads.



commit d33ed726f9562015b65c27360b02be0dfad7c11b
Author: Matthew Barnes <mbarnes redhat com>
Date:   Thu Aug 18 12:17:04 2011 -0400

    Update EMailBrowser actions when MessageList reloads.
    
    There was never a bug filed for this, but some mailing list discussion:
    http://mail.gnome.org/archives/evolution-list/2011-August/msg00084.html

 mail/e-mail-reader.c |   13 ++++++++++++-
 mail/e-mail-reader.h |    1 +
 2 files changed, 13 insertions(+), 1 deletions(-)
---
diff --git a/mail/e-mail-reader.c b/mail/e-mail-reader.c
index fad5415..0408d95 100644
--- a/mail/e-mail-reader.c
+++ b/mail/e-mail-reader.c
@@ -2828,6 +2828,15 @@ mail_reader_set_message (EMailReader *reader,
 }
 
 static void
+mail_reader_folder_loaded (EMailReader *reader)
+{
+	guint32 state;
+
+	state = e_mail_reader_check_state (reader);
+	e_mail_reader_update_actions (reader, state);
+}
+
+static void
 mail_reader_update_actions (EMailReader *reader,
                             guint32 state)
 {
@@ -3259,6 +3268,7 @@ e_mail_reader_default_init (EMailReaderInterface *interface)
 	interface->set_folder = mail_reader_set_folder;
 	interface->set_message = mail_reader_set_message;
 	interface->open_selected_mail = e_mail_reader_open_selected;
+	interface->folder_loaded = mail_reader_folder_loaded;
 	interface->update_actions = mail_reader_update_actions;
 
 	g_object_interface_install_property (
@@ -3302,7 +3312,8 @@ e_mail_reader_default_init (EMailReaderInterface *interface)
 		"folder-loaded",
 		G_OBJECT_CLASS_TYPE (interface),
 		G_SIGNAL_RUN_FIRST,
-		0, NULL, NULL,
+		G_STRUCT_OFFSET (EMailReaderInterface, folder_loaded),
+		NULL, NULL,
 		g_cclosure_marshal_VOID__VOID,
 		G_TYPE_NONE, 0);
 
diff --git a/mail/e-mail-reader.h b/mail/e-mail-reader.h
index f4df175..331837d 100644
--- a/mail/e-mail-reader.h
+++ b/mail/e-mail-reader.h
@@ -111,6 +111,7 @@ struct _EMailReaderInterface {
 	gboolean	(*enable_show_folder)	(EMailReader *reader);
 
 	/* Signals */
+	void		(*folder_loaded)	(EMailReader *reader);
 	void		(*show_search_bar)	(EMailReader *reader);
 	void		(*update_actions)	(EMailReader *reader,
 						 guint32 state);



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]