Bug #634403 - Mails Label popup menu is not updated properly

This commit is contained in:
Milan Crha
2011-01-19 14:56:35 +01:00
parent a5bbb0c3a2
commit 3cce94edcb
7 changed files with 10 additions and 1 deletions

View File

@ -344,8 +344,10 @@ plugin_ui_disable_manager (EPluginUIHook *hook,
merge_id = GPOINTER_TO_UINT (data);
/* Merge ID could be 0 if the plugin is disabled. */
if (merge_id > 0)
if (merge_id > 0) {
gtk_ui_manager_remove_ui (ui_manager, merge_id);
gtk_ui_manager_ensure_update (ui_manager);
}
if (remove)
g_hash_table_remove (hash_table, id);

View File

@ -1819,6 +1819,7 @@ e_mail_shell_view_update_popup_labels (EMailShellView *mail_shell_view)
/* Unmerge the previous menu items. */
gtk_ui_manager_remove_ui (ui_manager, merge_id);
e_action_group_remove_all_actions (action_group);
gtk_ui_manager_ensure_update (ui_manager);
mail_shell_content = mail_shell_view->priv->mail_shell_content;
mail_view = e_mail_shell_content_get_mail_view (mail_shell_content);

View File

@ -193,6 +193,7 @@ mail_shell_view_toggled (EShellView *shell_view)
ui_manager, priv->merge_id);
} else if (!view_is_active && priv->merge_id != 0) {
gtk_ui_manager_remove_ui (ui_manager, priv->merge_id);
gtk_ui_manager_ensure_update (ui_manager);
priv->merge_id = 0;
}

View File

@ -780,6 +780,7 @@ update_actions_cb (EShellView *shell_view)
gtk_ui_manager_remove_ui (ui_manager, merge_id);
e_action_group_remove_all_actions (action_group);
gtk_ui_manager_ensure_update (ui_manager);
if (!plugin_enabled)
return;

View File

@ -730,6 +730,7 @@ shell_view_toggled (EShellView *shell_view)
} else if (!view_is_active && priv->merge_id != 0) {
e_plugin_ui_disable_manager (ui_manager, id);
gtk_ui_manager_remove_ui (ui_manager, priv->merge_id);
gtk_ui_manager_ensure_update (ui_manager);
priv->merge_id = 0;
}

View File

@ -2252,6 +2252,7 @@ e_shell_window_update_view_menu (EShellWindow *shell_window)
/* Unmerge the previous menu. */
gtk_ui_manager_remove_ui (ui_manager, merge_id);
e_action_group_remove_all_actions (action_group);
gtk_ui_manager_ensure_update (ui_manager);
/* We have a view ID, so forge ahead. */
count = gal_view_collection_get_count (view_collection);
@ -2362,6 +2363,7 @@ e_shell_window_update_search_menu (EShellWindow *shell_window)
/* Unmerge the previous menu. */
gtk_ui_manager_remove_ui (ui_manager, merge_id);
e_action_group_remove_all_actions (action_group);
gtk_ui_manager_ensure_update (ui_manager);
rule = e_rule_context_next_rule (context, NULL, source);
while (rule != NULL) {

View File

@ -716,6 +716,7 @@ attachment_view_update_actions (EAttachmentView *view)
gtk_ui_manager_remove_ui (priv->ui_manager, priv->merge_id);
action_group = e_attachment_view_get_action_group (view, "openwith");
e_action_group_remove_all_actions (action_group);
gtk_ui_manager_ensure_update (priv->ui_manager);
if (attachment == NULL || busy)
return;