[evolution/webkit] Bug #633788 - Mail plugin's update-actions handler is never called



commit f4518e7cc9f1c086f0991b7b56c5764167991ac5
Author: Milan Crha <mcrha redhat com>
Date:   Tue Jan 18 18:02:03 2011 +0100

    Bug #633788 - Mail plugin's update-actions handler is never called

 modules/mail/e-mail-shell-view-private.c           |   19 +++++++++++++++++++
 .../mailing-list-actions/mailing-list-actions.c    |    3 ++-
 2 files changed, 21 insertions(+), 1 deletions(-)
---
diff --git a/modules/mail/e-mail-shell-view-private.c b/modules/mail/e-mail-shell-view-private.c
index a4e74c3..6a15f4e 100644
--- a/modules/mail/e-mail-shell-view-private.c
+++ b/modules/mail/e-mail-shell-view-private.c
@@ -387,6 +387,20 @@ mail_shell_view_reader_changed_cb (EMailShellView *mail_shell_view,
 }
 
 static void
+mail_shell_view_reader_update_actions_cb (EMailReader *reader,
+					  guint32 state,
+					  EMailShellView *mail_shell_view)
+{
+	EMailShellContent *mail_shell_content;
+
+	g_return_if_fail (mail_shell_view != NULL);
+	g_return_if_fail (mail_shell_view->priv != NULL);
+
+	mail_shell_content = mail_shell_view->priv->mail_shell_content;
+	e_mail_reader_update_actions (E_MAIL_READER (mail_shell_content), state);
+}
+
+static void
 mail_shell_view_prepare_for_quit_done_cb (CamelFolder *folder,
                                           gpointer user_data)
 {
@@ -608,6 +622,11 @@ e_mail_shell_view_private_constructed (EMailShellView *mail_shell_view)
 		mail_shell_view, G_CONNECT_SWAPPED);
 
 	g_signal_connect_object (
+		e_mail_shell_content_get_mail_view (mail_shell_content), "update-actions",
+		G_CALLBACK (mail_shell_view_reader_update_actions_cb),
+		mail_shell_view, 0);
+
+	g_signal_connect_object (
 		reader, "folder-loaded",
 		G_CALLBACK (e_mail_view_update_view_instance),
 		mail_view, G_CONNECT_SWAPPED);
diff --git a/plugins/mailing-list-actions/mailing-list-actions.c b/plugins/mailing-list-actions/mailing-list-actions.c
index fd3ae6c..8090c21 100644
--- a/plugins/mailing-list-actions/mailing-list-actions.c
+++ b/plugins/mailing-list-actions/mailing-list-actions.c
@@ -348,7 +348,8 @@ update_actions_cb (EMailReader *reader,
 {
 	gboolean sensitive;
 
-	sensitive = (state & E_MAIL_READER_SELECTION_IS_MAILING_LIST);
+	sensitive = (state & E_MAIL_READER_SELECTION_IS_MAILING_LIST) != 0
+		 && (state & E_MAIL_READER_SELECTION_SINGLE) != 0;
 	gtk_action_group_set_sensitive (action_group, sensitive);
 }
 



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