[Xfce4-commits] <ristretto:master> Added status bar toggling.
Stephan Arts
noreply at xfce.org
Mon Feb 20 19:48:04 CET 2012
Updating branch refs/heads/master
to 6c7744ab87c0a446a7267a5724b2aa0113430ad0 (commit)
from b6952f26054d7a935c8c340acf82afe0a34d1e5e (commit)
commit 6c7744ab87c0a446a7267a5724b2aa0113430ad0
Author: David Schneider <dnschneid at 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;
More information about the Xfce4-commits
mailing list