aboutsummaryrefslogtreecommitdiffstats
path: root/shell/e-shell-window-actions.c
diff options
context:
space:
mode:
authorMatthew Barnes <mbarnes@redhat.com>2010-03-05 04:26:59 +0800
committerMatthew Barnes <mbarnes@redhat.com>2010-03-14 09:53:17 +0800
commitd7494c8f160b12e1199b06dcafdc8ff01b24b796 (patch)
tree28e4c85c915c770a4e7bfb48ede7f686d18da206 /shell/e-shell-window-actions.c
parent51cbd483d163138c3b570b01f0921f767ca64a7e (diff)
downloadgsoc2013-evolution-d7494c8f160b12e1199b06dcafdc8ff01b24b796.tar
gsoc2013-evolution-d7494c8f160b12e1199b06dcafdc8ff01b24b796.tar.gz
gsoc2013-evolution-d7494c8f160b12e1199b06dcafdc8ff01b24b796.tar.bz2
gsoc2013-evolution-d7494c8f160b12e1199b06dcafdc8ff01b24b796.tar.lz
gsoc2013-evolution-d7494c8f160b12e1199b06dcafdc8ff01b24b796.tar.xz
gsoc2013-evolution-d7494c8f160b12e1199b06dcafdc8ff01b24b796.tar.zst
gsoc2013-evolution-d7494c8f160b12e1199b06dcafdc8ff01b24b796.zip
Shell and UI manager cleanups.
Replace the EVO_EXPRESS environment variable with an --express command line option. (Note, this adds a new translatable string for --help.) Add an EUIManager class with an "express-mode" property and custom load functions that use our new "express" preprocessor. This replaces the UI manager functions in e-utils.c. (Also going to see if I can get GTK+ to add an "add_ui_from_string" method to GtkUIManagerClass that we can override. Then we could just call gtk_ui_manager_add_ui_from_string() and the preprocessor would automatically do its thing and chain up.) Add an "express-mode" read-only GObject property to EShell. Add e_shell_configure_ui_manager() to e-shell-utils.c. For now this just creates a one-way property binding: EShell:express-mode -> EUIManager:express-mode Call this immediately after e_ui_manager_new(). (EUIManager can't do this itself because it lives too low in the dependency hierarchy and doesn't know about EShell.)
Diffstat (limited to 'shell/e-shell-window-actions.c')
-rw-r--r--shell/e-shell-window-actions.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/shell/e-shell-window-actions.c b/shell/e-shell-window-actions.c
index c2c5aea1af..b4330e95f2 100644
--- a/shell/e-shell-window-actions.c
+++ b/shell/e-shell-window-actions.c
@@ -1887,7 +1887,8 @@ e_shell_window_actions_init (EShellWindow *shell_window)
g_return_if_fail (E_IS_SHELL_WINDOW (shell_window));
ui_manager = e_shell_window_get_ui_manager (shell_window);
- e_load_ui_manager_definition (ui_manager, "evolution-shell.ui");
+ e_ui_manager_add_ui_from_file (
+ E_UI_MANAGER (ui_manager), "evolution-shell.ui");
/* Shell Actions */
action_group = ACTION_GROUP (SHELL);
@@ -2024,6 +2025,7 @@ express_filter_new_actions (GList *list)
GtkWidget *
e_shell_window_create_new_menu (EShellWindow *shell_window)
{
+ EShell *shell;
GtkActionGroup *action_group;
GList *new_item_actions;
GList *new_source_actions;
@@ -2031,6 +2033,8 @@ e_shell_window_create_new_menu (EShellWindow *shell_window)
GtkWidget *menu;
GtkWidget *separator;
+ shell = e_shell_window_get_shell (shell_window);
+
/* Get sorted lists of "new item" and "new source" actions. */
action_group = ACTION_GROUP (NEW_ITEM);
@@ -2058,7 +2062,7 @@ e_shell_window_create_new_menu (EShellWindow *shell_window)
for (iter = list; iter != NULL; iter = iter->next)
iter->data = gtk_action_create_menu_item (iter->data);
- if (e_shell_window_get_express_mode (shell_window)) {
+ if (e_shell_get_express_mode (shell)) {
new_item_actions = express_filter_new_actions (new_item_actions);
g_list_free (new_source_actions);
new_source_actions = NULL;
@@ -2325,8 +2329,9 @@ e_shell_window_update_view_menu (EShellWindow *shell_window)
gtk_action_group_add_action (action_group, action);
gtk_ui_manager_add_ui (
- ui_manager, merge_id, path, action_name,
- action_name, GTK_UI_MANAGER_AUTO, FALSE);
+ ui_manager, merge_id,
+ path, action_name, action_name,
+ GTK_UI_MANAGER_AUTO, FALSE);
g_free (action_name);
g_free (tooltip);