aboutsummaryrefslogtreecommitdiffstats
path: root/shell/e-shell-window-commands.c
diff options
context:
space:
mode:
Diffstat (limited to 'shell/e-shell-window-commands.c')
-rw-r--r--shell/e-shell-window-commands.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/shell/e-shell-window-commands.c b/shell/e-shell-window-commands.c
index 7a307e7c84..51619a09aa 100644
--- a/shell/e-shell-window-commands.c
+++ b/shell/e-shell-window-commands.c
@@ -50,6 +50,7 @@
#include <libedataserverui/e-passwords.h>
+#include <gconf/gconf-client.h>
#include <string.h>
/* Utility functions. */
@@ -904,6 +905,22 @@ view_toolbar_item_toggled_handler (BonoboUIComponent *ui_component,
"hidden", is_visible ? "0" : "1", NULL);
}
+static void
+view_statusbar_item_toggled_handler (BonoboUIComponent *ui_component,
+ const char *path,
+ Bonobo_UIComponent_EventType type,
+ const char *state,
+ EShellWindow *shell_window)
+{
+ GtkWidget *status_bar = e_shell_window_peek_statusbar (shell_window);
+ gboolean is_visible;
+ is_visible = state[0] == '1';
+ if(is_visible)
+ gtk_widget_show (status_bar);
+ else
+ gtk_widget_hide (status_bar);
+ gconf_client_set_bool (gconf_client_get_default (),"/apps/evolution/shell/view_defaults/statusbar_visible", is_visible, NULL);
+}
/* Public API. */
@@ -942,6 +959,9 @@ e_shell_window_commands_setup (EShellWindow *shell_window)
bonobo_ui_component_add_listener (uic, "ViewToolbar",
(BonoboUIListenerFn)view_toolbar_item_toggled_handler,
(gpointer)shell_window);
+ bonobo_ui_component_add_listener (uic, "ViewStatusBar",
+ (BonoboUIListenerFn)view_statusbar_item_toggled_handler,
+ (gpointer)shell_window);
e_pixmaps_update (uic, pixmaps);