[evolution/gnome-3-0] Update EMailBrowser actions when MessageList reloads.



commit a86ea97ad4538db94ce7af354edda7a34864ef14
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
    
    (cherry picked from commit d33ed726f9562015b65c27360b02be0dfad7c11b)

 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 8ae85f5..4d3eb3e 100644
--- a/mail/e-mail-reader.c
+++ b/mail/e-mail-reader.c
@@ -2950,6 +2950,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)
 {
@@ -3418,6 +3427,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 (
@@ -3461,7 +3471,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 d9a78f2..bcff95a 100644
--- a/mail/e-mail-reader.h
+++ b/mail/e-mail-reader.h
@@ -106,6 +106,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]