changeset 27805:dccc551aa83b

replace literal strings by symbolic constants for global preferences * default-qt-settings.in: removed default values from the global section * dialog.cc: include gui-preferences-global.h; (FileDialog::FileDialog): replaced literals by symbolic constants * external-editor-interface.cc: include gui-preferences-global.h; (external_editor): replaced literals by symbolic constants * find-files-dialog.cc: include gui-preferences-global.h; (browse_folders): replaced literals by symbolic constants * gui-preferences-global.h: added symbolic constants for key names and default values for preferences in the global section of the settings file * file-editor-tab.cc (save_file_as): replaced literals by symbolic constants * file-editor.cc (empty_script, call_custom_editor): replaced literals by symbolic constants * main-window.cc (confirm_shutdown, handle_save_workspace_request, handle_load_workspace_request, notice_settings, browse_for_directory, request_open_file, request_new_function, handle_octave_ready): replaced literals by symbolic constants * resource-manager.cc (config_translators, update_network_settings): replaced literals by symbolic constants * settings-dialog.cc (settings_dialog, write_changed_settings): replaced literals by symbolic constants * shortcut-manager.cc: include gui-preferences-global.h; (import_export): replaced literals by symbolic constants
author Torsten Lilge <ttl-octave@mailbox.org>
date Thu, 12 Dec 2019 06:45:57 +0100
parents 73b765ae3131
children 06af06188403
files libgui/default-qt-settings.in libgui/src/dialog.cc libgui/src/external-editor-interface.cc libgui/src/find-files-dialog.cc libgui/src/gui-preferences-global.h libgui/src/m-editor/file-editor-tab.cc libgui/src/m-editor/file-editor.cc libgui/src/main-window.cc libgui/src/resource-manager.cc libgui/src/settings-dialog.cc libgui/src/shortcut-manager.cc
diffstat 11 files changed, 125 insertions(+), 71 deletions(-) [+]
line wrap: on
line diff
--- a/libgui/default-qt-settings.in	Wed Dec 11 16:37:28 2019 -0800
+++ b/libgui/default-qt-settings.in	Thu Dec 12 06:45:57 2019 +0100
@@ -1,15 +1,5 @@
 [General]
-connectOnStartup=true
-showMessageOfTheDay=true
-showTopic=true
 customFileEditor=__default_custom_editor__
-autoIdentification=false
-useProxyServer=false
-proxyType=
-proxyHostName=none
-proxyPort=8080
-proxyUserName=
-proxyPassword=
 
 [editor]
 showLineNumbers=true
--- a/libgui/src/dialog.cc	Wed Dec 11 16:37:28 2019 -0800
+++ b/libgui/src/dialog.cc	Thu Dec 12 06:45:57 2019 +0100
@@ -41,6 +41,7 @@
 
 #include "dialog.h"
 #include "octave-qobject.h"
+#include "gui-preferences-global.h"
 
 namespace octave
 {
@@ -665,7 +666,8 @@
     // FIXME: Remove, if for all common KDE versions (bug #54607) is resolved.
     resource_manager& rmgr = oct_qobj.get_resource_manager ();
     gui_settings *settings = rmgr.get_settings ();
-    if (! settings->value ("use_native_file_dialogs", true).toBool ())
+    if (! settings->value (global_use_native_dialogs.key,
+                           global_use_native_dialogs.def).toBool ())
       setOption(QFileDialog::DontUseNativeDialog);
 
     if (multimode == "on")         // uigetfile multiselect=on
--- a/libgui/src/external-editor-interface.cc	Wed Dec 11 16:37:28 2019 -0800
+++ b/libgui/src/external-editor-interface.cc	Thu Dec 12 06:45:57 2019 +0100
@@ -29,6 +29,7 @@
 
 #include "external-editor-interface.h"
 #include "gui-settings.h"
+#include "gui-preferences-global.h"
 #include "octave-qobject.h"
 
 namespace octave
@@ -100,7 +101,8 @@
   {
     resource_manager& rmgr = m_octave_qobj.get_resource_manager ();
     gui_settings *settings = rmgr.get_settings ();
-    QString editor = settings->value ("customFileEditor").toString ();
+    QString editor = settings->value (global_custom_editor.key,
+                                      global_custom_editor.def).toString ();
 
     // check the settings (avoid an empty string)
     if (editor.trimmed ().isEmpty ())
--- a/libgui/src/find-files-dialog.cc	Wed Dec 11 16:37:28 2019 -0800
+++ b/libgui/src/find-files-dialog.cc	Thu Dec 12 06:45:57 2019 +0100
@@ -44,6 +44,7 @@
 
 #include "find-files-dialog.h"
 #include "find-files-model.h"
+#include "gui-preferences-global.h"
 #include "octave-qobject.h"
 
 namespace octave
@@ -322,7 +323,8 @@
     // FIXME: Remove, if for all common KDE versions (bug #54607) is resolved.
     resource_manager& rmgr = m_octave_qobj.get_resource_manager ();
     gui_settings *settings = rmgr.get_settings ();
-    if (! settings->value ("use_native_file_dialogs", true).toBool ())
+    if (! settings->value (global_use_native_dialogs.key,
+                           global_use_native_dialogs.def).toBool ())
       opts = QFileDialog::DontUseNativeDialog;
 
     QString dir =
--- a/libgui/src/gui-preferences-global.h	Wed Dec 11 16:37:28 2019 -0800
+++ b/libgui/src/gui-preferences-global.h	Thu Dec 12 06:45:57 2019 +0100
@@ -39,7 +39,10 @@
 const gui_pref
 global_mono_font ("monospace_font", global_font_family);
 
-// Compacter Style for some widgets
+// Style
+
+const gui_pref
+global_style ("style", QVariant ("default"));
 
 const QString
 global_toolbar_style ("QToolBar {"
@@ -78,12 +81,10 @@
 const gui_pref
 global_icon_theme ("use_system_icon_theme", QVariant (true));
 
-// Style
+// Other
 
 const gui_pref
-global_style ("style", QVariant ("default"));
-
-// Other
+global_status_bar ("show_status_bar", QVariant (true));
 
 const gui_pref
 global_use_native_dialogs ("use_native_file_dialogs", QVariant (true));
@@ -91,4 +92,35 @@
 const gui_pref
 global_cursor_blinking ("cursor_blinking", QVariant (true));
 
+const gui_pref
+global_language ("language", QVariant ("SYSTEM"));
+
+const gui_pref
+global_ov_startup_dir ("octave_startup_dir", QVariant (QString ()));
+const gui_pref
+global_restore_ov_dir ("restore_octave_dir", QVariant (false));
+
+const gui_pref
+global_use_custom_editor ("useCustomFileEditor", QVariant (false));
+const gui_pref
+global_custom_editor ("customFileEditor", QVariant ("emacs +%l %f"));
+
+const gui_pref
+global_prompt_to_exit ("prompt_to_exit", QVariant (false));
+
+// Proxy
+
+const gui_pref
+global_proxy_host ("proxyHostName", QVariant (QString ()));
+const gui_pref
+global_use_proxy ("useProxyServer", QVariant (false));
+const gui_pref
+global_proxy_type ("proxyType", QVariant (QString ()));
+const gui_pref
+global_proxy_port ("proxyPort", QVariant (80));
+const gui_pref
+global_proxy_user ("proxyUserName", QVariant (QString ()));
+const gui_pref
+global_proxy_pass ("proxyPassword", QVariant (QString ()));
+
 #endif
--- a/libgui/src/m-editor/file-editor-tab.cc	Wed Dec 11 16:37:28 2019 -0800
+++ b/libgui/src/m-editor/file-editor-tab.cc	Thu Dec 12 06:45:57 2019 +0100
@@ -2369,7 +2369,8 @@
     // FIXME: Remove, if for all common KDE versions (bug #54607) is resolved.
     resource_manager& rmgr = m_octave_qobj.get_resource_manager ();
     gui_settings *settings = rmgr.get_settings ();
-    if (! settings->value ("use_native_file_dialogs", true).toBool ())
+    if (! settings->value (global_use_native_dialogs.key,
+                           global_use_native_dialogs.def).toBool ())
       fileDialog->setOption(QFileDialog::DontUseNativeDialog);
 
     connect (fileDialog, SIGNAL (filterSelected (const QString&)),
--- a/libgui/src/m-editor/file-editor.cc	Wed Dec 11 16:37:28 2019 -0800
+++ b/libgui/src/m-editor/file-editor.cc	Thu Dec 12 06:45:57 2019 +0100
@@ -230,7 +230,8 @@
   {
     resource_manager& rmgr = m_octave_qobj.get_resource_manager ();
     gui_settings *settings = rmgr.get_settings ();
-    if (settings->value ("useCustomFileEditor",false).toBool ())
+    if (settings->value (global_use_custom_editor.key,
+                         global_use_custom_editor.def).toBool ())
       return;  // do not open an empty script in the external editor
 
     bool real_visible;
@@ -2534,7 +2535,8 @@
     resource_manager& rmgr = m_octave_qobj.get_resource_manager ();
     gui_settings *settings = rmgr.get_settings ();
 
-    if (settings->value ("useCustomFileEditor",false).toBool ())
+    if (settings->value (global_use_custom_editor.key,
+                         global_use_custom_editor.def).toBool ())
       {
         // use the external editor interface for handling the call
         emit request_open_file_external (file_name, line);
--- a/libgui/src/main-window.cc	Wed Dec 11 16:37:28 2019 -0800
+++ b/libgui/src/main-window.cc	Thu Dec 12 06:45:57 2019 +0100
@@ -283,7 +283,8 @@
     resource_manager& rmgr = m_octave_qobj.get_resource_manager ();
     gui_settings *settings = rmgr.get_settings ();
 
-    if (settings->value ("prompt_to_exit", false).toBool ())
+    if (settings->value (global_prompt_to_exit.key,
+                         global_prompt_to_exit.def).toBool ())
       {
         int ans = QMessageBox::question (this, tr ("Octave"),
                                          tr ("Are you sure you want to exit Octave?"),
@@ -387,7 +388,8 @@
     int opts = 0;  // No options by default.
     resource_manager& rmgr = m_octave_qobj.get_resource_manager ();
     gui_settings *settings = rmgr.get_settings ();
-    if (! settings->value ("use_native_file_dialogs", true).toBool ())
+    if (! settings->value (global_use_native_dialogs.key,
+                           global_use_native_dialogs.def).toBool ())
       opts = QFileDialog::DontUseNativeDialog;
 
     QString file
@@ -412,7 +414,8 @@
     int opts = 0;  // No options by default.
     resource_manager& rmgr = m_octave_qobj.get_resource_manager ();
     gui_settings *settings = rmgr.get_settings ();
-    if (! settings->value ("use_native_file_dialogs", true).toBool ())
+    if (! settings->value (global_use_native_dialogs.key,
+                           global_use_native_dialogs.def).toBool ())
       opts = QFileDialog::DontUseNativeDialog;
 
     QString file = file_arg;
@@ -892,7 +895,7 @@
     int icon_size = st->pixelMetric (global_icon_sizes[size_idx]);
     m_main_tool_bar->setIconSize (QSize (icon_size,icon_size));
 
-    if (settings->value ("show_status_bar",true).toBool ())
+    if (settings->value (global_status_bar.key, global_status_bar.def).toBool ())
       m_status_bar->show ();
     else
       m_status_bar->hide ();
@@ -979,7 +982,8 @@
     int opts = QFileDialog::ShowDirsOnly;
     resource_manager& rmgr = m_octave_qobj.get_resource_manager ();
     gui_settings *settings = rmgr.get_settings ();
-    if (! settings->value ("use_native_file_dialogs", true).toBool ())
+    if (! settings->value (global_use_native_dialogs.key,
+                           global_use_native_dialogs.def).toBool ())
       opts = QFileDialog::DontUseNativeDialog;
 
     QString dir
@@ -1236,7 +1240,8 @@
     resource_manager& rmgr = m_octave_qobj.get_resource_manager ();
     gui_settings *settings = rmgr.get_settings ();
     bool is_internal = m_editor_window
-                       && ! settings->value ("useCustomFileEditor",false).toBool ();
+                       && ! settings->value (global_use_custom_editor.key,
+                                             global_use_custom_editor.def).toBool ();
 
     // Create a NonModal message.
     QWidget *p = this;
@@ -1251,7 +1256,8 @@
     fileDialog->setDirectory (m_current_directory_combo_box->itemText (0));
 
     // FIXME: Remove, if for all common KDE versions (bug #54607) is resolved.
-    if (! settings->value ("use_native_file_dialogs", true).toBool ())
+    if (! settings->value (global_use_native_dialogs.key,
+                           global_use_native_dialogs.def).toBool ())
       fileDialog->setOption(QFileDialog::DontUseNativeDialog);
 
     connect (fileDialog, SIGNAL (filesSelected (const QStringList&)),
@@ -1278,7 +1284,8 @@
     QWidget *p = m_editor_window;
     resource_manager& rmgr = m_octave_qobj.get_resource_manager ();
     gui_settings *settings = rmgr.get_settings ();
-    if (! p || settings->value ("useCustomFileEditor",false).toBool ())
+    if (! p || settings->value (global_use_custom_editor.key,
+                                global_use_custom_editor.def).toBool ())
       p = this;
     QString new_name = QInputDialog::getText (p, tr ("New Function"),
                                               tr ("New function name:\n"), QLineEdit::Normal, "", &ok);
@@ -1643,7 +1650,8 @@
 
     if (settings)
       {
-        if (settings->value ("restore_octave_dir").toBool ())
+        if (settings->value (global_restore_ov_dir.key,
+                             global_restore_ov_dir.def).toBool ())
           {
             // restore last dir from previous session
             QStringList curr_dirs
@@ -1651,11 +1659,13 @@
             startup_dir
               = QDir (curr_dirs.at (0));  // last dir in previous session
           }
-        else if (! settings->value ("octave_startup_dir").toString ().isEmpty ())
+        else if (! settings->value (global_ov_startup_dir.key,
+                                    global_ov_startup_dir.def).toString ().isEmpty ())
           {
             // do not restore but there is a startup dir configured
             startup_dir
-              = QDir (settings->value ("octave_startup_dir").toString ());
+              = QDir (settings->value (global_ov_startup_dir.key,
+                                       global_ov_startup_dir.def).toString ());
           }
 
         update_default_encoding
--- a/libgui/src/resource-manager.cc	Wed Dec 11 16:37:28 2019 -0800
+++ b/libgui/src/resource-manager.cc	Thu Dec 12 06:45:57 2019 +0100
@@ -155,7 +155,8 @@
     if (m_settings)
       {
         // get the locale from the settings if already available
-        language = m_settings->value ("language", "SYSTEM").toString ();
+        language = m_settings->value (global_language.key,
+                                      global_language.def).toString ();
       }
 
     // load the translations depending on the settings
@@ -336,9 +337,10 @@
       {
         QNetworkProxy::ProxyType proxyType = QNetworkProxy::NoProxy;
 
-        if (m_settings->value ("useProxyServer",false).toBool ())
+        if (m_settings->value (global_use_proxy.key, global_use_proxy.def).toBool ())
           {
-            QString proxyTypeString = m_settings->value ("proxyType").toString ();
+            QString proxyTypeString
+                = m_settings->value (global_proxy_type.key, global_proxy_type.def).toString ();
 
             if (proxyTypeString == "Socks5Proxy")
               proxyType = QNetworkProxy::Socks5Proxy;
@@ -349,10 +351,14 @@
         QNetworkProxy proxy;
 
         proxy.setType (proxyType);
-        proxy.setHostName (m_settings->value ("proxyHostName").toString ());
-        proxy.setPort (m_settings->value ("proxyPort",80).toInt ());
-        proxy.setUser (m_settings->value ("proxyUserName").toString ());
-        proxy.setPassword (m_settings->value ("proxyPassword").toString ());
+        proxy.setHostName (m_settings->value (global_proxy_host.key,
+                                              global_proxy_host.def).toString ());
+        proxy.setPort (m_settings->value (global_proxy_port.key,
+                                          global_proxy_port.def).toInt ());
+        proxy.setUser (m_settings->value (global_proxy_user.key,
+                                          global_proxy_user.def).toString ());
+        proxy.setPassword (m_settings->value (global_proxy_pass.key,
+                                              global_proxy_pass.def).toString ());
 
         QNetworkProxy::setApplicationProxy (proxy);
       }
--- a/libgui/src/settings-dialog.cc	Wed Dec 11 16:37:28 2019 -0800
+++ b/libgui/src/settings-dialog.cc	Thu Dec 12 06:45:57 2019 +0100
@@ -117,8 +117,9 @@
     // System at beginning
     comboBox_language->insertItem (0, tr ("System setting"));
     comboBox_language->insertSeparator (1);    // separator after System
-    QString language = settings->value ("language", "SYSTEM").toString ();
-    if (language == "SYSTEM")
+    QString language = settings->value (global_language.key,
+                                        global_language.def).toString ();
+    if (language == global_language.def.toString ())
       language = tr ("System setting");
     int selected = comboBox_language->findText (language);
     if (selected >= 0)
@@ -222,14 +223,18 @@
       }
 
     // prompt on exit
-    cb_prompt_to_exit->setChecked (settings->value ("prompt_to_exit", false).toBool ());
+    cb_prompt_to_exit->setChecked (
+        settings->value (global_prompt_to_exit.key, global_prompt_to_exit.def).toBool ());
 
     // Main status bar
-    cb_status_bar->setChecked (settings->value ("show_status_bar", true).toBool ());
+    cb_status_bar->setChecked (
+        settings->value (global_status_bar.key, global_status_bar.def).toBool ());
 
     // Octave startup
-    cb_restore_octave_dir->setChecked (settings->value ("restore_octave_dir", false).toBool ());
-    le_octave_dir->setText (settings->value ("octave_startup_dir").toString ());
+    cb_restore_octave_dir->setChecked (
+        settings->value (global_restore_ov_dir.key, global_restore_ov_dir.def).toBool ());
+    le_octave_dir->setText (settings->value (global_ov_startup_dir.key,
+                                             global_ov_startup_dir.def).toString ());
 
     connect (pb_octave_dir, SIGNAL (pressed (void)),
              this, SLOT (get_octave_dir (void)));
@@ -237,8 +242,10 @@
     //
     // editor
     //
-    useCustomFileEditor->setChecked (settings->value ("useCustomFileEditor", false).toBool ());
-    customFileEditor->setText (settings->value ("customFileEditor").toString ());
+    useCustomFileEditor->setChecked (
+      settings->value (global_use_custom_editor.key, global_use_custom_editor.def).toBool ());
+    customFileEditor->setText (
+      settings->value (global_custom_editor.key, global_custom_editor.def).toString ());
     editor_showLineNumbers->setChecked (settings->value ("editor/showLineNumbers", true).toBool ());
     editor_linenr_size->setValue (settings->value ("editor/line_numbers_size", 0).toInt ());
 
@@ -391,21 +398,21 @@
     le_file_browser_extensions->setText (settings->value (fb_txt_file_ext).toString ());
 
     checkbox_allow_web_connect->setChecked (settings->value (nr_allow_connection).toBool ());
-    useProxyServer->setChecked (settings->value ("useProxyServer", false).toBool ());
-    proxyHostName->setText (settings->value ("proxyHostName").toString ());
+    useProxyServer->setChecked (
+        settings->value (global_use_proxy.key, global_use_proxy.def).toBool ());
+    proxyHostName->setText (settings->value (global_proxy_host.key, global_proxy_host.def).toString ());
 
     int currentIndex = 0;
-    QString proxyTypeString = settings->value ("proxyType").toString ();
+    QString proxyTypeString = settings->value (global_proxy_type.key, global_proxy_type.def).toString ();
     while ((currentIndex < proxyType->count ())
            && (proxyType->currentText () != proxyTypeString))
       {
         currentIndex++;
         proxyType->setCurrentIndex (currentIndex);
       }
-
-    proxyPort->setText (settings->value ("proxyPort").toString ());
-    proxyUserName->setText (settings->value ("proxyUserName").toString ());
-    proxyPassword->setText (settings->value ("proxyPassword").toString ());
+    proxyPort->setText (settings->value (global_proxy_port.key, global_proxy_port.def).toString ());
+    proxyUserName->setText (settings->value (global_proxy_user.key, global_proxy_user.def).toString ());
+    proxyPassword->setText (settings->value (global_proxy_pass.key, global_proxy_pass.def).toString ());
 
     // Workspace
     read_workspace_colors (settings);
@@ -824,8 +831,8 @@
     // language
     QString language = comboBox_language->currentText ();
     if (language == tr ("System setting"))
-      language = "SYSTEM";
-    settings->setValue ("language", language);
+      language = global_language.def.toString ();
+    settings->setValue (global_language.key, language);
 
     // style
     QString selected_style = combo_styles->currentText ();
@@ -853,18 +860,18 @@
     settings->setValue (global_cursor_blinking.key, cb_cursor_blinking->isChecked ());
 
     // promp to exit
-    settings->setValue ("prompt_to_exit", cb_prompt_to_exit->isChecked ());
+    settings->setValue (global_prompt_to_exit.key, cb_prompt_to_exit->isChecked ());
 
     // status bar
-    settings->setValue ("show_status_bar", cb_status_bar->isChecked ());
+    settings->setValue (global_status_bar.key, cb_status_bar->isChecked ());
 
     // Octave startup
-    settings->setValue ("restore_octave_dir", cb_restore_octave_dir->isChecked ());
-    settings->setValue ("octave_startup_dir", le_octave_dir->text ());
+    settings->setValue (global_restore_ov_dir.key, cb_restore_octave_dir->isChecked ());
+    settings->setValue (global_ov_startup_dir.key, le_octave_dir->text ());
 
     //editor
-    settings->setValue ("useCustomFileEditor", useCustomFileEditor->isChecked ());
-    settings->setValue ("customFileEditor", customFileEditor->text ());
+    settings->setValue (global_use_custom_editor.key, useCustomFileEditor->isChecked ());
+    settings->setValue (global_custom_editor.key, customFileEditor->text ());
     settings->setValue ("editor/showLineNumbers", editor_showLineNumbers->isChecked ());
     settings->setValue ("editor/line_numbers_size", editor_linenr_size->value ());
     settings->setValue ("editor/highlightCurrentLine", editor_highlightCurrentLine->isChecked ());
@@ -941,12 +948,12 @@
     settings->setValue (fb_txt_file_ext.key, le_file_browser_extensions->text ());
 
     settings->setValue (nr_allow_connection.key, checkbox_allow_web_connect->isChecked ());
-    settings->setValue ("useProxyServer", useProxyServer->isChecked ());
-    settings->setValue ("proxyType", proxyType->currentText ());
-    settings->setValue ("proxyHostName", proxyHostName->text ());
-    settings->setValue ("proxyPort", proxyPort->text ());
-    settings->setValue ("proxyUserName", proxyUserName->text ());
-    settings->setValue ("proxyPassword", proxyPassword->text ());
+    settings->setValue (global_use_proxy.key, useProxyServer->isChecked ());
+    settings->setValue (global_proxy_type.key, proxyType->currentText ());
+    settings->setValue (global_proxy_host.key, proxyHostName->text ());
+    settings->setValue (global_proxy_port.key, proxyPort->text ());
+    settings->setValue (global_proxy_user.key, proxyUserName->text ());
+    settings->setValue (global_proxy_pass.key, proxyPassword->text ());
     settings->setValue (cs_cursor_use_fgcol.key, terminal_cursorUseForegroundColor->isChecked ());
     settings->setValue ("terminal/focus_after_command", terminal_focus_command->isChecked ());
     settings->setValue ("terminal/print_debug_location", terminal_print_dbg_location->isChecked ());
--- a/libgui/src/shortcut-manager.cc	Wed Dec 11 16:37:28 2019 -0800
+++ b/libgui/src/shortcut-manager.cc	Thu Dec 12 06:45:57 2019 +0100
@@ -41,7 +41,7 @@
 
 #include "octave-qobject.h"
 #include "shortcut-manager.h"
-
+#include "gui-preferences-global.h"
 #include "error.h"
 
 namespace octave
@@ -601,8 +601,8 @@
         int opts = 0;  // No options by default.
         resource_manager& rmgr = m_octave_qobj.get_resource_manager ();
         gui_settings *settings = rmgr.get_settings ();
-        if (! settings->value ("use_native_file_dialogs",
-                                                        true).toBool ())
+        if (! settings->value (global_use_native_dialogs.key,
+                               global_use_native_dialogs.def).toBool ())
           opts = QFileDialog::DontUseNativeDialog;
 
         if (action == OSC_IMPORT)