# HG changeset patch # User Torsten Lilge # Date 1669544852 -3600 # Node ID 26f1ef8fa1ceb43644ca4f90175fd3c96554fa80 # Parent 69c8979f8b2c0f98f5159d72f0ce9705ec50b1fc save settings dialog geometry and last tab also when cancelled * settings-dialog.cc (button_clicked): save geometry whenever dialog is closed; (write_changed_settings): do not wirte state of dialog here diff -r 69c8979f8b2c -r 26f1ef8fa1ce libgui/src/settings-dialog.cc --- a/libgui/src/settings-dialog.cc Sun Nov 27 11:27:29 2022 +0100 +++ b/libgui/src/settings-dialog.cc Sun Nov 27 11:27:32 2022 +0100 @@ -573,7 +573,17 @@ if (button_role == QDialogButtonBox::RejectRole || button_role == QDialogButtonBox::AcceptRole) - close (); + { + // save last settings dialog's geometry and close + resource_manager& rmgr = m_octave_qobj.get_resource_manager (); + gui_settings *settings = rmgr.get_settings (); + + settings->setValue (sd_last_tab.key, tabWidget->currentIndex ()); + settings->setValue (sd_geometry.key, saveGeometry ()); + settings->sync (); + + close (); + } } void settings_dialog::set_disabled_pref_file_browser_dir (bool disable) @@ -1250,10 +1260,6 @@ shortcut_manager& scmgr = m_octave_qobj.get_shortcut_manager (); scmgr.write_shortcuts (settings, closing); - // settings dialog's geometry - settings->setValue (sd_last_tab.key, tabWidget->currentIndex ()); - settings->setValue (sd_geometry.key, saveGeometry ()); - settings->sync (); }