diff options
author | William Jon McCann <mccann@jhu.edu> | 2004-06-03 04:37:14 +0800 |
---|---|---|
committer | William Jon McCann <mccann@src.gnome.org> | 2004-06-03 04:37:14 +0800 |
commit | 846953d493d286b63b3345442834591551c6d338 (patch) | |
tree | f17d41b9f4fa29a25541cdf59abec326ecbd5424 /shell/e-shell-window.c | |
parent | d9deb731a06228dcb0023e9fe0c00a847c5b65f1 (diff) | |
download | gsoc2013-evolution-846953d493d286b63b3345442834591551c6d338.tar.gz gsoc2013-evolution-846953d493d286b63b3345442834591551c6d338.tar.zst gsoc2013-evolution-846953d493d286b63b3345442834591551c6d338.zip |
Add listener for the ViewToolbar command.
2004-06-01 William Jon McCann <mccann@jhu.edu>
* e-shell-window-commands.c (e_shell_window_commands_setup):
Add listener for the ViewToolbar command.
(view_toolbar_item_toggled_handler):
New function to handle toggling toolbar visibility and saving state.
* e-shell-window.c (e_shell_window_save_defaults):
Save the status of the toolbar visibility.
(setup_widgets): Set initial state of toolbar visibility.
* apps_evolution_shell.schemas.in.in: Added schema for toolbar_visible.
svn path=/trunk/; revision=26157
Diffstat (limited to 'shell/e-shell-window.c')
-rw-r--r-- | shell/e-shell-window.c | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/shell/e-shell-window.c b/shell/e-shell-window.c index 996c151db9..3b7ed348bc 100644 --- a/shell/e-shell-window.c +++ b/shell/e-shell-window.c @@ -574,6 +574,7 @@ setup_widgets (EShellWindow *window) GSList *p; GString *xml; int button_id; + gboolean toolbar_visible; priv->paned = gtk_hpaned_new (); @@ -595,6 +596,20 @@ setup_widgets (EShellWindow *window) gtk_paned_set_position (GTK_PANED (priv->paned), gconf_client_get_int (gconf_client, "/apps/evolution/shell/view_defaults/folder_bar/width", NULL)); + toolbar_visible = gconf_client_get_bool (gconf_client, + "/apps/evolution/shell/view_defaults/toolbar_visible", + NULL); + bonobo_ui_component_set_prop (e_shell_window_peek_bonobo_ui_component (window), + "/commands/ViewToolbar", + "state", + toolbar_visible ? "1" : "0", + NULL); + bonobo_ui_component_set_prop (e_shell_window_peek_bonobo_ui_component (window), + "/Toolbar", + "hidden", + toolbar_visible ? "0" : "1", + NULL); + button_id = 0; xml = g_string_new(""); for (p = e_component_registry_peek_list (registry); p != NULL; p = p->next) { @@ -862,6 +877,8 @@ void e_shell_window_save_defaults (EShellWindow *window) { GConfClient *client = gconf_client_get_default (); + char *prop; + gboolean toolbar_visible; gconf_client_set_int (client, "/apps/evolution/shell/view_defaults/width", GTK_WIDGET (window)->allocation.width, NULL); @@ -871,6 +888,19 @@ e_shell_window_save_defaults (EShellWindow *window) gconf_client_set_int (client, "/apps/evolution/shell/view_defaults/folder_bar/width", gtk_paned_get_position (GTK_PANED (window->priv->paned)), NULL); + prop = bonobo_ui_component_get_prop (e_shell_window_peek_bonobo_ui_component (window), + "/commands/ViewToolbar", + "state", + NULL); + if (prop) { + toolbar_visible = prop[0] == '1'; + gconf_client_set_bool (client, + "/apps/evolution/shell/view_defaults/toolbar_visible", + toolbar_visible, + NULL); + g_free (prop); + } + g_object_unref (client); } |