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 ());