changeset 20281:6fe746def1aa stable

Also load settings and translations in --no-gui mode (bugs #44222 and #45199) * annotation-dialog.cc (annotation_dialog::init, annotation_dialog::button_clicked): ensure settings are initialized * octave-gui.cc (octave_start_gui): eventually run wizard, load settings and translations even when not starting the gui * octave-gui.cc (octave_start_gui): now settings are loaded, only call "w.read_settings" when starting the gui
author Pantxo Diribarne <pantxo.diribarne@gmail.com>
date Tue, 02 Jun 2015 00:12:30 +0200
parents a5f9bf4df254
children 209ee4a730f6
files libgui/graphics/annotation-dialog.cc libgui/src/octave-gui.cc
diffstat 2 files changed, 35 insertions(+), 31 deletions(-) [+]
line wrap: on
line diff
--- a/libgui/graphics/annotation-dialog.cc	Tue Jun 02 19:42:07 2015 +0200
+++ b/libgui/graphics/annotation-dialog.cc	Tue Jun 02 00:12:30 2015 +0200
@@ -53,7 +53,8 @@
   QSettings *settings = resource_manager::get_settings ();
 
   // restore last geometry
-  restoreGeometry (settings->value("annotation/geometry").toByteArray ());
+  if (settings)
+    restoreGeometry (settings->value("annotation/geometry").toByteArray ());
 
   // connect signals
   connect (ui->button_box, SIGNAL (clicked (QAbstractButton *)),
@@ -96,7 +97,8 @@
   QSettings *settings = resource_manager::get_settings ();
 
   // save position
-  settings->setValue ("annotation/geometry",saveGeometry ());
+  if (settings)
+    settings->setValue ("annotation/geometry",saveGeometry ());
 
   if (button_role == QDialogButtonBox::ApplyRole ||
       button_role == QDialogButtonBox::AcceptRole)
--- a/libgui/src/octave-gui.cc	Tue Jun 02 19:42:07 2015 +0200
+++ b/libgui/src/octave-gui.cc	Tue Jun 02 00:12:30 2015 +0200
@@ -122,35 +122,37 @@
   QTextCodec::setCodecForCStrings (QTextCodec::codecForName ("UTF-8"));
 #endif
 
+  // show wizard if this is the first run
+  if (resource_manager::is_first_run ())
+    {
+      // before wizard
+      resource_manager::config_translators (&qt_tr, &qsci_tr, &gui_tr);
+      application.installTranslator (&qt_tr);
+      application.installTranslator (&gui_tr);
+      if (start_gui)
+        application.installTranslator (&qsci_tr);
+
+      welcome_wizard welcomeWizard;
+
+      if (welcomeWizard.exec () == QDialog::Rejected)
+        exit (1);
+
+      resource_manager::reload_settings ();  // install settings file
+    }
+  else
+    {
+      resource_manager::reload_settings ();  // get settings file
+
+      // after settings
+      resource_manager::config_translators (&qt_tr, &qsci_tr, &gui_tr);
+      application.installTranslator (&qt_tr);
+      application.installTranslator (&gui_tr);
+      if (start_gui)
+        application.installTranslator (&qsci_tr);
+    }
+
   if (start_gui)
     {
-      // show wizard if this is the first run
-      if (resource_manager::is_first_run ())
-        {
-          // before wizard
-          resource_manager::config_translators (&qt_tr, &qsci_tr, &gui_tr);
-          application.installTranslator (&qt_tr);
-          application.installTranslator (&qsci_tr);
-          application.installTranslator (&gui_tr);
-
-          welcome_wizard welcomeWizard;
-
-          if (welcomeWizard.exec () == QDialog::Rejected)
-            exit (1);
-
-          resource_manager::reload_settings ();  // install settings file
-        }
-      else
-        {
-          resource_manager::reload_settings ();  // get settings file
-
-          // after settings
-          resource_manager::config_translators (&qt_tr, &qsci_tr, &gui_tr);
-          application.installTranslator (&qt_tr);
-          application.installTranslator (&qsci_tr);
-          application.installTranslator (&gui_tr);
-        }
-
       // update network-settings
       resource_manager::update_network_settings ();
 
@@ -178,10 +180,10 @@
 
   main_window w (0, start_gui);
 
-  w.read_settings ();
-
   if (start_gui)
     {
+      w.read_settings ();
+
       w.init_terminal_size ();
 
       // Connect signals for changes in visibility not before w