X-Git-Url: http://geeqie.org/cgi-bin/gitweb.cgi?p=geeqie.git;a=blobdiff_plain;f=src%2Flayout_util.c;h=4495b1e1ddd8453cd3cb8914760f901a9e610b2c;hp=2f340b5f464f5ed80af26cb9e12ff4d124bc6caf;hb=3229f865ea34e2a168c8c9b86dc044947fc47b20;hpb=12a4fe18405a9132efc3ef19570bf0c59dd6b427 diff --git a/src/layout_util.c b/src/layout_util.c index 2f340b5f..4495b1e1 100644 --- a/src/layout_util.c +++ b/src/layout_util.c @@ -64,6 +64,7 @@ static gboolean layout_bar_enabled(LayoutWindow *lw); static gboolean layout_bar_sort_enabled(LayoutWindow *lw); +static void layout_bars_hide_toggle(LayoutWindow *lw); static void layout_util_sync_views(LayoutWindow *lw); /* @@ -996,6 +997,13 @@ static void layout_menu_bar_sort_cb(GtkToggleAction *action, gpointer data) layout_bar_sort_toggle(lw); } +static void layout_menu_hide_bars_cb(GtkToggleAction *action, gpointer data) +{ + LayoutWindow *lw = data; + + layout_bars_hide_toggle(lw); +} + static void layout_menu_slideshow_cb(GtkToggleAction *action, gpointer data) { LayoutWindow *lw = data; @@ -1804,6 +1812,7 @@ static GtkToggleActionEntry menu_toggle_entries[] = { { "HideToolbar", NULL, N_("Hide tool_bar"), NULL, N_("Hide toolbar"), CB(layout_menu_toolbar_cb), FALSE }, { "SBar", NULL, N_("_Info sidebar"), "K", N_("Info sidebar"), CB(layout_menu_bar_cb), FALSE }, { "SBarSort", NULL, N_("Sort _manager"), "S", N_("Sort manager"), CB(layout_menu_bar_sort_cb), FALSE }, + { "HideBars", NULL, N_("Hide Bars"), "grave", N_("Hide Bars"), CB(layout_menu_hide_bars_cb), FALSE }, { "SlideShow", GTK_STOCK_MEDIA_PLAY, N_("Toggle _slideshow"), "S", N_("Toggle slideshow"), CB(layout_menu_slideshow_cb), FALSE }, { "UseColorProfiles", GTK_STOCK_SELECT_COLOR, N_("Use _color profiles"), NULL, N_("Use color profiles"), CB(layout_color_menu_enable_cb), FALSE}, { "UseImageProfile", NULL, N_("Use profile from _image"), NULL, N_("Use profile from image"), CB(layout_color_menu_use_image_cb), FALSE}, @@ -2061,6 +2070,7 @@ static const gchar *menu_ui_description = " " " " " " +" " " " " " " " @@ -2940,6 +2950,39 @@ void layout_bar_sort_toggle(LayoutWindow *lw) layout_util_sync_views(lw); } +static void layout_bars_hide_toggle(LayoutWindow *lw) +{ + if (lw->options.bars_state.hidden) + { + lw->options.bars_state.hidden = FALSE; + if (lw->options.bars_state.sort) + { + gtk_widget_show(lw->bar_sort); + } + if (lw->options.bars_state.info) + { + gtk_widget_show(lw->bar); + } + layout_tools_float_set(lw, lw->options.tools_float, + lw->options.bars_state.tools_hidden); + } + else + { + lw->options.bars_state.hidden = TRUE; + lw->options.bars_state.sort = layout_bar_sort_enabled(lw); + lw->options.bars_state.info = layout_bar_enabled(lw); + lw->options.bars_state.tools_float = lw->options.tools_float; + lw->options.bars_state.tools_hidden = lw->options.tools_hidden; + + gtk_widget_hide(lw->bar); + if (lw->bar_sort) + gtk_widget_hide(lw->bar_sort); + layout_tools_float_set(lw, lw->options.tools_float, TRUE); + } + + layout_util_sync_views(lw); +} + void layout_bars_new_image(LayoutWindow *lw) { layout_bar_new_image(lw);