Mercurial > hg > forks > geeqie
changeset 2863:4b92a65f8367
Fix #645: Hide Bars cannot be toggled after Geeqie restart
https://github.com/BestImageViewer/geeqie/issues/645
author | Colin Clark <colin.clark@cclark.uk> |
---|---|
date | Sat, 17 Nov 2018 19:48:35 +0000 |
parents | f105ca657cb3 |
children | 9104756a7828 |
files | src/layout.c src/layout_util.c |
diffstat | 2 files changed, 34 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/src/layout.c Wed Nov 14 10:15:23 2018 +0000 +++ b/src/layout.c Sat Nov 17 19:48:35 2018 +0000 @@ -2532,6 +2532,14 @@ WRITE_NL(); WRITE_BOOL(*layout, toolbar_hidden); WRITE_NL(); WRITE_BOOL(*layout, show_info_pixel); + WRITE_SEPARATOR(); + + WRITE_NL(); WRITE_BOOL(*layout, bars_state.info); + WRITE_NL(); WRITE_BOOL(*layout, bars_state.sort); + WRITE_NL(); WRITE_BOOL(*layout, bars_state.tools_float); + WRITE_NL(); WRITE_BOOL(*layout, bars_state.tools_hidden); + WRITE_NL(); WRITE_BOOL(*layout, bars_state.hidden); + WRITE_SEPARATOR(); WRITE_NL(); WRITE_UINT(*layout, image_overlay.state); WRITE_NL(); WRITE_INT(*layout, image_overlay.histogram_channel); @@ -2618,6 +2626,12 @@ if (READ_BOOL(*layout, toolbar_hidden)) continue; if (READ_BOOL(*layout, show_info_pixel)) continue; + if (READ_BOOL(*layout, bars_state.info)) continue; + if (READ_BOOL(*layout, bars_state.sort)) continue; + if (READ_BOOL(*layout, bars_state.tools_float)) continue; + if (READ_BOOL(*layout, bars_state.tools_hidden)) continue; + if (READ_BOOL(*layout, bars_state.hidden)) continue; + if (READ_UINT(*layout, image_overlay.state)) continue; if (READ_INT(*layout, image_overlay.histogram_channel)) continue; if (READ_INT(*layout, image_overlay.histogram_mode)) continue;
--- a/src/layout_util.c Wed Nov 14 10:15:23 2018 +0000 +++ b/src/layout_util.c Sat Nov 17 19:48:35 2018 +0000 @@ -1114,6 +1114,10 @@ { LayoutWindow *lw = data; + if (lw->options.bars_state.hidden == gtk_toggle_action_get_active(action)) + { + return; + } layout_bars_hide_toggle(lw); } @@ -3155,6 +3159,9 @@ action = gtk_action_group_get_action(lw->action_group, "ShowFileFilter"); gtk_toggle_action_set_active(GTK_TOGGLE_ACTION(action), lw->options.show_file_filter); + action = gtk_action_group_get_action(lw->action_group, "HideBars"); + gtk_toggle_action_set_active(GTK_TOGGLE_ACTION(action), (lw->options.bars_state.hidden)); + if (osd_flags & OSD_SHOW_HISTOGRAM) { action = gtk_action_group_get_action(lw->action_group, "HistogramChanR"); @@ -3407,7 +3414,14 @@ lw->options.bars_state.hidden = FALSE; if (lw->options.bars_state.sort) { - gtk_widget_show(lw->bar_sort); + if (lw->bar_sort) + { + gtk_widget_show(lw->bar_sort); + } + else + { + layout_bar_sort_set_default(lw); + } } if (lw->options.bars_state.info) { @@ -3424,7 +3438,11 @@ 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) + { + 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);