Updating branch refs/heads/master to 6c7744ab87c0a446a7267a5724b2aa0113430ad0 (commit) from b6952f26054d7a935c8c340acf82afe0a34d1e5e (commit)
commit 6c7744ab87c0a446a7267a5724b2aa0113430ad0 Author: David Schneider <dnschn...@gmail.com> Date: Thu Feb 16 11:29:17 2012 -0800 Added status bar toggling. src/main_window.c | 45 +++++++++++++++++++++++++++++++++++++++++++++ src/main_window_ui.xml | 1 + src/settings.c | 27 +++++++++++++++++++++++++++ 3 files changed, 73 insertions(+), 0 deletions(-) diff --git a/src/main_window.c b/src/main_window.c index ed71513..909bec4 100644 --- a/src/main_window.c +++ b/src/main_window.c @@ -239,6 +239,10 @@ static void cb_rstto_main_window_toggle_show_thumbnailbar ( GtkWidget *widget, RsttoMainWindow *window); +static void +cb_rstto_main_window_toggle_show_statusbar ( + GtkWidget *widget, + RsttoMainWindow *window); static void cb_rstto_main_window_fullscreen ( @@ -390,6 +394,8 @@ static const GtkToggleActionEntry toggle_action_entries[] = { "show-nav-toolbar", NULL, N_ ("Show _Navigation Toolbar"), NULL, NULL, G_CALLBACK (cb_rstto_main_window_toggle_show_nav_toolbar), TRUE, }, /* Toggle visibility of the thumbnailbar*/ { "show-thumbnailbar", NULL, N_ ("Show _Thumbnail Bar"), "<control>M", NULL, G_CALLBACK (cb_rstto_main_window_toggle_show_thumbnailbar), TRUE, }, + /* Toggle visibility of the statusbar*/ + { "show-statusbar", NULL, N_ ("Show _Status Bar"), NULL, NULL, G_CALLBACK (cb_rstto_main_window_toggle_show_statusbar), TRUE, }, }; /** Image sorting options*/ @@ -679,6 +685,7 @@ rstto_main_window_init (RsttoMainWindow *window) gtk_widget_set_no_show_all (window->priv->toolbar, TRUE); gtk_widget_set_no_show_all (window->priv->image_list_toolbar, TRUE); gtk_widget_set_no_show_all (window->priv->t_bar_s_window, TRUE); + gtk_widget_set_no_show_all (window->priv->statusbar, TRUE); gtk_widget_show_all (window->priv->thumbnailbar); gtk_widget_set_no_show_all ( gtk_ui_manager_get_widget (window->priv->ui_manager, "/main-menu/view-menu/show-nav-toolbar"), TRUE); @@ -770,6 +777,22 @@ rstto_main_window_init (RsttoMainWindow *window) FALSE); gtk_widget_hide (window->priv->t_bar_s_window); } + if (rstto_settings_get_boolean_property (RSTTO_SETTINGS (window->priv->settings_manager), "show-statusbar")) + { + gtk_check_menu_item_set_active ( + GTK_CHECK_MENU_ITEM ( + gtk_ui_manager_get_widget (window->priv->ui_manager, "/main-menu/view-menu/show-statusbar")), + TRUE); + gtk_widget_show (window->priv->statusbar); + } + else + { + gtk_check_menu_item_set_active ( + GTK_CHECK_MENU_ITEM ( + gtk_ui_manager_get_widget (window->priv->ui_manager, "/main-menu/view-menu/show-statusbar")), + FALSE); + gtk_widget_hide (window->priv->statusbar); + } /** * Set sort-type @@ -3450,6 +3473,28 @@ cb_rstto_main_window_toggle_show_thumbnailbar (GtkWidget *widget, RsttoMainWindo } } +/** + * cb_rstto_main_window_toggle_show_statusbar: + * @widget: + * @window: + * + * + */ +static void +cb_rstto_main_window_toggle_show_statusbar (GtkWidget *widget, RsttoMainWindow *window) +{ + if (gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (widget))) + { + gtk_widget_show (window->priv->statusbar); + rstto_settings_set_boolean_property (RSTTO_SETTINGS (window->priv->settings_manager), "show-statusbar", TRUE); + } + else + { + gtk_widget_hide (window->priv->statusbar); + rstto_settings_set_boolean_property (RSTTO_SETTINGS (window->priv->settings_manager), "show-statusbar", FALSE); + } +} + RsttoImageListIter * rstto_main_window_get_iter ( RsttoMainWindow *window) diff --git a/src/main_window_ui.xml b/src/main_window_ui.xml index 2521d54..a9d9e45 100644 --- a/src/main_window_ui.xml +++ b/src/main_window_ui.xml @@ -35,6 +35,7 @@ <menu action="view-menu"> <menuitem action="show-file-toolbar"/> <menuitem action="show-nav-toolbar"/> + <menuitem action="show-statusbar"/> <menuitem action="show-thumbnailbar"/> <menu action="thumbnailbar-position-menu"> <menuitem action="pos-left"/> diff --git a/src/settings.c b/src/settings.c index d34d1c5..0fc04fa 100644 --- a/src/settings.c +++ b/src/settings.c @@ -58,6 +58,7 @@ enum PROP_SHOW_NAV_TOOLBAR, PROP_NAVBAR_POSITION, PROP_SHOW_THUMBNAILBAR, + PROP_SHOW_STATUSBAR, PROP_HIDE_THUMBNAILBAR_FULLSCREEN, PROP_WINDOW_WIDTH, PROP_WINDOW_HEIGHT, @@ -110,6 +111,7 @@ struct _RsttoSettingsPriv gboolean show_file_toolbar; gboolean show_nav_toolbar; gboolean show_thumbnailbar; + gboolean show_statusbar; gboolean hide_thumbnailbar_fullscreen; gchar *navigationbar_position; gboolean revert_zoom_direction; @@ -163,6 +165,7 @@ rstto_settings_init (GObject *object) settings->priv->window_height = 440; settings->priv->wrap_images = TRUE; settings->priv->show_thumbnailbar = TRUE; + settings->priv->show_statusbar = TRUE; settings->priv->use_thunar_properties = TRUE; settings->priv->maximize_on_startup = TRUE; settings->priv->hide_thumbnailbar_fullscreen = TRUE; @@ -226,6 +229,13 @@ rstto_settings_init (GObject *object) xfconf_g_property_bind ( settings->priv->channel, + "/window/statusbar/show", + G_TYPE_BOOLEAN, + settings, + "show-statusbar"); + + xfconf_g_property_bind ( + settings->priv->channel, "/window/thumbnails/size", G_TYPE_UINT, settings, @@ -390,6 +400,17 @@ rstto_settings_class_init (GObjectClass *object_class) pspec); pspec = g_param_spec_boolean ( + "show-statusbar", + "", + "", + TRUE, + G_PARAM_READWRITE); + g_object_class_install_property ( + object_class, + PROP_SHOW_STATUSBAR, + pspec); + + pspec = g_param_spec_boolean ( "hide-thumbnailbar-fullscreen", "", "", @@ -661,6 +682,9 @@ rstto_settings_set_property (GObject *object, case PROP_SHOW_THUMBNAILBAR: settings->priv->show_thumbnailbar = g_value_get_boolean (value); break; + case PROP_SHOW_STATUSBAR: + settings->priv->show_statusbar = g_value_get_boolean (value); + break; case PROP_HIDE_THUMBNAILBAR_FULLSCREEN: settings->priv->hide_thumbnailbar_fullscreen = g_value_get_boolean (value); break; @@ -760,6 +784,9 @@ rstto_settings_get_property (GObject *object, case PROP_SHOW_THUMBNAILBAR: g_value_set_boolean (value, settings->priv->show_thumbnailbar); break; + case PROP_SHOW_STATUSBAR: + g_value_set_boolean (value, settings->priv->show_statusbar); + break; case PROP_HIDE_THUMBNAILBAR_FULLSCREEN: g_value_set_boolean (value, settings->priv->hide_thumbnailbar_fullscreen); break; _______________________________________________ Xfce4-commits mailing list Xfce4-commits@xfce.org https://mail.xfce.org/mailman/listinfo/xfce4-commits