changeset 31613:c6683fcc5c33

allow qt_application ctor to set Qt organization, application, and version * qt-application.h, qt-application.cc (qt_application::qt_application): New constructor that accepts organization and application names and version string. Set values in QtCoreApplication object.
author John W. Eaton <jwe@octave.org>
date Fri, 02 Dec 2022 08:57:06 -0500
parents 351a4c8e92c3
children 59c9da7c43d6
files libgui/src/qt-application.cc libgui/src/qt-application.h
diffstat 2 files changed, 29 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/libgui/src/qt-application.cc	Fri Dec 02 08:24:38 2022 -0500
+++ b/libgui/src/qt-application.cc	Fri Dec 02 08:57:06 2022 -0500
@@ -42,6 +42,28 @@
 
 namespace octave
 {
+  qt_application::qt_application (const std::string& organization_name,
+                                  const std::string& application_name,
+                                  const std::string& application_version,
+                                  int argc, char **argv)
+    : application (argc, argv)
+  {
+    if (! organization_name.empty ())
+      QCoreApplication::setOrganizationName
+        (QString::fromStdString (organization_name));
+
+    if (! application_name.empty ())
+      QCoreApplication::setApplicationName
+        (QString::fromStdString (application_name));
+
+    if (! application_version.empty ())
+      QCoreApplication::setApplicationVersion
+        (QString::fromStdString (application_version));
+
+    // This should probably happen early.
+    sysdep_init ();
+  }
+
   qt_application::qt_application (int argc, char **argv)
     : application (argc, argv)
   {
--- a/libgui/src/qt-application.h	Fri Dec 02 08:24:38 2022 -0500
+++ b/libgui/src/qt-application.h	Fri Dec 02 08:57:06 2022 -0500
@@ -26,6 +26,8 @@
 #if ! defined (octave_qt_application_h)
 #define octave_qt_application_h 1
 
+#include <string>
+
 #include "octave.h"
 
 namespace octave
@@ -45,6 +47,11 @@
   {
   public:
 
+    qt_application (const std::string& organization_name,
+                    const std::string& application_name,
+                    const std::string& application_version,
+                    int argc, char **argv);
+
     qt_application (int argc, char **argv);
 
     // No copying, at least not yet.