diff options
Diffstat (limited to 'shell/e-shell-window-commands.c')
-rw-r--r-- | shell/e-shell-window-commands.c | 20 |
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); |