Mercurial > octave
diff libgui/src/settings-dialog.cc @ 27630:262cdd0f7619
don't use singleton pattern for shortcut manager in GUI
Move ownership of the shorcut_manager object to the base_qobject
class. Eliminate static member functions in shortcut_managar class.
Provide a get_shortcut_manager method in the base_qboject class and
access reference to shortcut_manager object from m_octave_qobj member
variables in classes that need it.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Mon, 04 Nov 2019 14:03:00 -0500 |
parents | 8b6e928e0705 |
children | 30e84a3d58e5 |
line wrap: on
line diff
--- a/libgui/src/settings-dialog.cc Mon Nov 04 13:34:44 2019 -0500 +++ b/libgui/src/settings-dialog.cc Mon Nov 04 14:03:00 2019 -0500 @@ -62,7 +62,6 @@ #include "gui-preferences-all.h" #include "octave-qobject.h" #include "settings-dialog.h" -#include "shortcut-manager.h" #include "variable-editor.h" #include "workspace-model.h" @@ -451,10 +450,12 @@ // shortcuts + shortcut_manager& scmgr = m_octave_qobj.get_shortcut_manager (); + cb_prevent_readline_conflicts->setChecked (settings->value ("shortcuts/prevent_readline_conflicts", true).toBool ()); // initialize the tree view with all shortcut data - shortcut_manager::fill_treewidget (shortcuts_treewidget); + scmgr.fill_treewidget (shortcuts_treewidget); // connect the buttons for import/export of the shortcut sets connect (btn_import_shortcut_set, SIGNAL (clicked (void)), @@ -607,17 +608,23 @@ void settings_dialog::import_shortcut_set (void) { - shortcut_manager::import_export (shortcut_manager::OSC_IMPORT); + shortcut_manager& scmgr = m_octave_qobj.get_shortcut_manager (); + + scmgr.import_export (shortcut_manager::OSC_IMPORT); } void settings_dialog::export_shortcut_set (void) { - shortcut_manager::import_export (shortcut_manager::OSC_EXPORT); + shortcut_manager& scmgr = m_octave_qobj.get_shortcut_manager (); + + scmgr.import_export (shortcut_manager::OSC_EXPORT); } void settings_dialog::default_shortcut_set (void) { - shortcut_manager::import_export (shortcut_manager::OSC_DEFAULT); + shortcut_manager& scmgr = m_octave_qobj.get_shortcut_manager (); + + scmgr.import_export (shortcut_manager::OSC_DEFAULT); } void settings_dialog::read_lexer_settings (QsciLexer *lexer, @@ -1034,8 +1041,10 @@ write_varedit_colors (settings); // shortcuts + settings->setValue ("shortcuts/prevent_readline_conflicts", cb_prevent_readline_conflicts->isChecked ()); - shortcut_manager::write_shortcuts (settings, closing); + shortcut_manager& scmgr = m_octave_qobj.get_shortcut_manager (); + scmgr.write_shortcuts (settings, closing); // settings dialog's geometry settings->setValue ("settings/last_tab", tabWidget->currentIndex ());