changeset 31614:59c9da7c43d6

set Qt organization, application, and version in main program * main-gui.cc (main): Pass "octave" and "octave-gui" for organization and application names and OCTAVE_VERSION as version to qt_application constructor. * qt-application.cc (qt_application::qt_application): Set organization and application names and application version in QCoreApplication object. Set default QSettings format. * octave-qobject.cc (base_qobject::base_qobject): Don't set QtCoreApplication name and version here. * resource-manager.cc (resource_manager::resource_manager): Use default construtor for gui_settings.
author John W. Eaton <jwe@octave.org>
date Fri, 02 Dec 2022 08:58:41 -0500
parents c6683fcc5c33
children 40b151abbb9b
files libgui/src/octave-qobject.cc libgui/src/qt-application.cc libgui/src/resource-manager.cc src/main-gui.cc
diffstat 4 files changed, 14 insertions(+), 10 deletions(-) [+]
line wrap: on
line diff
--- a/libgui/src/octave-qobject.cc	Fri Dec 02 08:57:06 2022 -0500
+++ b/libgui/src/octave-qobject.cc	Fri Dec 02 08:58:41 2022 -0500
@@ -208,11 +208,6 @@
     QTextCodec::setCodecForLocale (QTextCodec::codecForName ("UTF-8"));
 #endif
 
-    // Initialize global Qt application metadata.
-
-    QCoreApplication::setApplicationName ("GNU Octave");
-    QCoreApplication::setApplicationVersion (OCTAVE_VERSION);
-
     // Register octave_value_list for connecting thread crossing signals.
 
     qRegisterMetaType<octave_value_list> ("octave_value_list");
--- a/libgui/src/qt-application.cc	Fri Dec 02 08:57:06 2022 -0500
+++ b/libgui/src/qt-application.cc	Fri Dec 02 08:58:41 2022 -0500
@@ -27,6 +27,10 @@
 #  include "config.h"
 #endif
 
+#include <QCoreApplication>
+#include <QSettings>
+#include <QString>
+
 #include "main-window.h"
 #include "octave-qobject.h"
 #include "qt-application.h"
@@ -60,6 +64,9 @@
       QCoreApplication::setApplicationVersion
         (QString::fromStdString (application_version));
 
+    // FIXME: Is there a better place for this?
+    QSettings::setDefaultFormat (QSettings::IniFormat);
+
     // This should probably happen early.
     sysdep_init ();
   }
--- a/libgui/src/resource-manager.cc	Fri Dec 02 08:57:06 2022 -0500
+++ b/libgui/src/resource-manager.cc	Fri Dec 02 08:58:41 2022 -0500
@@ -67,10 +67,10 @@
     : m_settings_directory (), m_settings_file (), m_settings (nullptr),
       m_default_settings (nullptr), m_temporary_files (), m_icon_fallbacks ()
   {
-    // Let gui_settings decide where to put the ini file with gui preferences
-    m_default_settings
-      = new gui_settings (QSettings::IniFormat, QSettings::UserScope,
-                          "octave", "octave-gui");
+    // Location, name, and format of settings file determined by
+    // settings in qt_application class construtor.
+
+    m_default_settings = new gui_settings ();
 
     m_settings_file = m_default_settings->fileName ();
 
--- a/src/main-gui.cc	Fri Dec 02 08:57:06 2022 -0500
+++ b/src/main-gui.cc	Fri Dec 02 08:58:41 2022 -0500
@@ -50,6 +50,7 @@
 #include "octave-build-info.h"
 #include "qt-application.h"
 #include "sysdep.h"
+#include "version.h"
 
 static void
 check_hg_versions (void)
@@ -127,7 +128,8 @@
 
   octave::sys::env::set_program_name (argv[0]);
 
-  octave::qt_application app (argc, argv);
+  octave::qt_application app ("octave", "octave-gui", OCTAVE_VERSION,
+                              argc, argv);
 
   return app.execute ();
 }