Mercurial > octave-nkf
diff libgui/src/settings-dialog.cc @ 19698:ff56a9899101
fix new shortcut dialog when applying new settings (fix #44196)
* settings-dialog.cc (write_changed_settings): new boolean parameter whether
settings dialog is closing or not, calling function for writing the shortcuts
with this parameter;
(button_clicked): calling write_changed_settings with new flag set to false
when button with accept role was clicked
* settings-dialog.h: write_changed_settings with boolean parameter
* shortcut-manager.cc (do_write_shortcuts): delete shortcut dialog only if
settings dialog is closing, setting to 0 after deletion;
(do_import_export): call do_write_shortcuts with new flag
* shortcut-manager.h: do_/write_shortcuts with new boolean parameter
author | Torsten <ttl@justmail.de> |
---|---|
date | Fri, 06 Feb 2015 22:55:01 +0100 |
parents | 5d0663bff506 |
children | 4197fc428c7d |
line wrap: on
line diff
--- a/libgui/src/settings-dialog.cc Fri Feb 06 13:06:54 2015 -0500 +++ b/libgui/src/settings-dialog.cc Fri Feb 06 22:55:01 2015 +0100 @@ -609,7 +609,7 @@ } void -settings_dialog::write_changed_settings () +settings_dialog::write_changed_settings (bool closing) { QSettings *settings = resource_manager::get_settings (); // FIXME: what should happen if settings is 0? @@ -823,7 +823,7 @@ if (ui->rb_sc_set2->isChecked ()) set = 1; settings->setValue ("shortcuts/set",set); - shortcut_manager::write_shortcuts (0, settings); // 0: write both sets + shortcut_manager::write_shortcuts (0, settings, closing); // 0: write both sets // settings dialog's geometry settings->setValue ("settings/last_tab",ui->tabWidget->currentIndex ()); @@ -963,7 +963,7 @@ if (button_role == QDialogButtonBox::ApplyRole || button_role == QDialogButtonBox::AcceptRole) { - write_changed_settings (); + write_changed_settings (button_role == QDialogButtonBox::AcceptRole); emit apply_new_settings (); }