Mercurial > geeqie
diff src/layout.c @ 1336:4179d41d1149
fixed overlay configuration
split overlay options between global and layout window
author | nadvornik |
---|---|
date | Sat, 28 Feb 2009 14:40:22 +0000 |
parents | 588d96cda850 |
children | 06ec1279e33e |
line wrap: on
line diff
--- a/src/layout.c Sat Feb 28 12:50:39 2009 +0000 +++ b/src/layout.c Sat Feb 28 14:40:22 2009 +0000 @@ -1913,6 +1913,7 @@ void layout_sync_options_with_current_state(LayoutWindow *lw) { + Histogram *histogram; if (!layout_valid(&lw)) return; lw->options.main_window.maximized = window_maximized(lw->window); @@ -1929,6 +1930,12 @@ layout_geometry_get_tools(lw, &lw->options.float_window.x, &lw->options.float_window.y, &lw->options.float_window.w, &lw->options.float_window.h, &lw->options.float_window.vdivider_pos); + lw->options.image_overlay.state = image_osd_get(lw->image); + histogram = image_osd_get_histogram(lw->image); + + lw->options.image_overlay.histogram_channel = histogram->histogram_channel; + lw->options.image_overlay.histogram_mode = histogram->histogram_mode; + // if (options->startup.restore_path && options->startup.use_last_path) // { // g_free(options->startup.path); @@ -1995,6 +2002,7 @@ LayoutWindow *lw; GdkGeometry hint; GdkWindowHints hint_mask; + Histogram *histogram; lw = g_new0(LayoutWindow, 1); @@ -2115,7 +2123,11 @@ gtk_widget_show(lw->window); layout_tools_hide(lw, lw->options.tools_hidden); - image_osd_set(lw->image, options->image_overlay.common.state | (options->image_overlay.common.show_at_startup ? OSD_SHOW_INFO : OSD_SHOW_NOTHING)); + image_osd_set(lw->image, lw->options.image_overlay.state); + histogram = image_osd_get_histogram(lw->image); + + histogram->histogram_channel = lw->options.image_overlay.histogram_channel; + histogram->histogram_mode = lw->options.image_overlay.histogram_mode; layout_window_list = g_list_append(layout_window_list, lw); @@ -2137,8 +2149,6 @@ WRITE_SEPARATOR(); WRITE_BOOL(*layout, save_window_positions); - WRITE_SEPARATOR(); - WRITE_INT(*layout, main_window.x); WRITE_INT(*layout, main_window.y); WRITE_INT(*layout, main_window.w); @@ -2165,6 +2175,10 @@ WRITE_SEPARATOR(); WRITE_BOOL(*layout, toolbar_hidden); + + WRITE_UINT(*layout, image_overlay.state); + WRITE_INT(*layout, image_overlay.histogram_channel); + WRITE_INT(*layout, image_overlay.histogram_mode); } @@ -2229,6 +2243,10 @@ if (READ_BOOL(*layout, tools_restore_state)) continue; if (READ_BOOL(*layout, toolbar_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; + DEBUG_1("unknown attribute %s = %s", option, value); }