diff options
-rw-r--r-- | modules/mail/e-mail-shell-view-private.c | 19 | ||||
-rw-r--r-- | plugins/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 a4e74c32ad..6a15f4ed07 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 fd3ae6c0fa..8090c21063 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); } |