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

This commit is contained in:
Milan Crha
2011-01-18 18:02:03 +01:00
parent d7bfcbbde7
commit d6ce64dc19
2 changed files with 21 additions and 1 deletions

View File

@ -386,6 +386,20 @@ mail_shell_view_reader_changed_cb (EMailShellView *mail_shell_view,
shell_taskbar, G_CONNECT_SWAPPED);
}
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)
@ -607,6 +621,11 @@ e_mail_shell_view_private_constructed (EMailShellView *mail_shell_view)
G_CALLBACK (mail_shell_view_reader_changed_cb),
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),

View File

@ -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);
}