aboutsummaryrefslogtreecommitdiffstats
path: root/shell/e-shell-window.c
diff options
context:
space:
mode:
authorWilliam Jon McCann <mccann@jhu.edu>2004-06-03 04:37:14 +0800
committerWilliam Jon McCann <mccann@src.gnome.org>2004-06-03 04:37:14 +0800
commit846953d493d286b63b3345442834591551c6d338 (patch)
treef17d41b9f4fa29a25541cdf59abec326ecbd5424 /shell/e-shell-window.c
parentd9deb731a06228dcb0023e9fe0c00a847c5b65f1 (diff)
downloadgsoc2013-evolution-846953d493d286b63b3345442834591551c6d338.tar
gsoc2013-evolution-846953d493d286b63b3345442834591551c6d338.tar.gz
gsoc2013-evolution-846953d493d286b63b3345442834591551c6d338.tar.bz2
gsoc2013-evolution-846953d493d286b63b3345442834591551c6d338.tar.lz
gsoc2013-evolution-846953d493d286b63b3345442834591551c6d338.tar.xz
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.c30
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);
}