# HG changeset patch # User nadvornik # Date 1238884165 0 # Node ID 22174e704d0b31e468d59f97891b5e2454526f98 # Parent c9ed5a43c576b62607115cf9e5979fcc5c30e463 added option that simplifies saving of multi-window configurations diff -r c9ed5a43c576 -r 22174e704d0b src/layout.c --- a/src/layout.c Sat Apr 04 22:09:50 2009 +0000 +++ b/src/layout.c Sat Apr 04 22:29:25 2009 +0000 @@ -2151,6 +2151,9 @@ pref_checkbox_new_int(group, _("Show date in directories list view"), lc->options.show_directory_date, &lc->options.show_directory_date); + pref_checkbox_new_int(group, _("Exit program when this window is closed"), + lc->options.exit_on_close, &lc->options.exit_on_close); + group = pref_group_new(vbox, FALSE, _("Start-up directory:"), GTK_ORIENTATION_VERTICAL); button = pref_radiobutton_new(group, NULL, _("No change"), @@ -2228,7 +2231,7 @@ void layout_close(LayoutWindow *lw) { - if (layout_window_list && layout_window_list->next) + if (!lw->options.exit_on_close && layout_window_list && layout_window_list->next) { layout_free(lw); } @@ -2435,6 +2438,7 @@ WRITE_NL(); WRITE_CHAR(*layout, home_path); WRITE_NL(); WRITE_CHAR(*layout, last_path); WRITE_NL(); WRITE_UINT(*layout, startup_path); + WRITE_NL(); WRITE_BOOL(*layout, exit_on_close); WRITE_SEPARATOR(); WRITE_NL(); WRITE_INT(*layout, main_window.x); @@ -2508,6 +2512,7 @@ if (READ_CHAR(*layout, home_path)) continue; if (READ_CHAR(*layout, last_path)) continue; if (READ_UINT_CLAMP(*layout, startup_path, 0, STARTUP_PATH_HOME)) continue; + if (READ_BOOL(*layout, exit_on_close)) continue; /* window positions */ diff -r c9ed5a43c576 -r 22174e704d0b src/typedefs.h --- a/src/typedefs.h Sat Apr 04 22:09:50 2009 +0000 +++ b/src/typedefs.h Sat Apr 04 22:29:25 2009 +0000 @@ -538,6 +538,8 @@ gchar *last_path; StartUpPath startup_path; + + gboolean exit_on_close; }; struct _LayoutWindow