aboutsummaryrefslogtreecommitdiffstats
path: root/shell/e-shell-window-private.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-private.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-private.c')
-rw-r--r--shell/e-shell-window-private.c20
1 files changed, 10 insertions, 10 deletions
diff --git a/shell/e-shell-window-private.c b/shell/e-shell-window-private.c
index 07f8f5bf1a..e70e76673c 100644
--- a/shell/e-shell-window-private.c
+++ b/shell/e-shell-window-private.c
@@ -228,7 +228,7 @@ e_shell_window_private_init (EShellWindow *shell_window)
signal_handler_ids = g_array_new (FALSE, FALSE, sizeof (gulong));
- priv->ui_manager = gtk_ui_manager_new ();
+ priv->ui_manager = e_ui_manager_new ();
priv->loaded_views = loaded_views;
priv->signal_handler_ids = signal_handler_ids;
@@ -282,20 +282,20 @@ e_shell_window_private_constructed (EShellWindow *shell_window)
e_shell_watch_window (shell, window);
- e_load_ui_manager_set_express (priv->ui_manager,
- e_shell_get_express_mode (shell));
+ ui_manager = e_shell_window_get_ui_manager (shell_window);
+ e_shell_configure_ui_manager (shell, E_UI_MANAGER (ui_manager));
/* Defer actions and menu merging until we have set express mode */
e_shell_window_actions_init (shell_window);
- accel_group = gtk_ui_manager_get_accel_group (priv->ui_manager);
+ accel_group = gtk_ui_manager_get_accel_group (ui_manager);
gtk_window_add_accel_group (GTK_WINDOW (shell_window), accel_group);
- merge_id = gtk_ui_manager_new_merge_id (priv->ui_manager);
+ merge_id = gtk_ui_manager_new_merge_id (ui_manager);
priv->custom_rule_merge_id = merge_id;
- merge_id = gtk_ui_manager_new_merge_id (priv->ui_manager);
+ merge_id = gtk_ui_manager_new_merge_id (ui_manager);
priv->gal_view_merge_id = merge_id;
@@ -425,7 +425,7 @@ e_shell_window_private_constructed (EShellWindow *shell_window)
key = "/apps/evolution/shell/view_defaults/statusbar_visible";
gconf_bridge_bind_property (bridge, key, object, "taskbar-visible");
- if (e_shell_get_express_mode(NULL)) {
+ if (e_shell_get_express_mode (shell)) {
e_shell_window_set_switcher_visible (shell_window, FALSE);
} else {
object = G_OBJECT (shell_window);
@@ -456,9 +456,9 @@ e_shell_window_private_constructed (EShellWindow *shell_window)
shell_window_init_switcher_style (shell_window);
id = "org.gnome.evolution.shell";
- ui_manager = e_shell_window_get_ui_manager (shell_window);
- e_plugin_ui_register_manager (ui_manager, id, shell_window);
- e_plugin_ui_enable_manager (ui_manager, id);
+ e_plugin_ui_register_manager (
+ E_UI_MANAGER (ui_manager), id, shell_window);
+ e_plugin_ui_enable_manager (E_UI_MANAGER (ui_manager), id);
}
void