Mercurial > octave
changeset 31559:26f1ef8fa1ce stable
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
author | Torsten Lilge <ttl-octave@mailbox.org> |
---|---|
date | Sun, 27 Nov 2022 11:27:32 +0100 |
parents | 69c8979f8b2c |
children | 9d9b31c8458b |
files | libgui/src/settings-dialog.cc |
diffstat | 1 files changed, 11 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- 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 (); }