changeset 18020:5d42ffc6850a stable

load translators before welcome wizard and take system language as default * octave-gui.cc (octave_start_gui): install the translators before a possible welcome wizard (and as a side effect: before settings are available) * ressource-manager.cc (config_translators): take actual system language as default and only try to load the language from the settings if available
author Torsten <ttl@justmail.de>
date Tue, 26 Nov 2013 20:08:02 +0100
parents 0cd39f7f2409
children a1210e318be7
files libgui/src/octave-gui.cc libgui/src/resource-manager.cc
diffstat 2 files changed, 29 insertions(+), 30 deletions(-) [+]
line wrap: on
line diff
--- a/libgui/src/octave-gui.cc	Tue Nov 26 02:04:10 2013 -0500
+++ b/libgui/src/octave-gui.cc	Tue Nov 26 20:08:02 2013 +0100
@@ -128,9 +128,19 @@
     {
       QApplication application (argc, argv);
 
-      // Set the codec for all strings
+      // Set the codec for all strings (before wizard)
       QTextCodec::setCodecForCStrings (QTextCodec::codecForName ("UTF-8"));
 
+      // install translators for the gui and qt text (before wizard)
+      QTranslator gui_tr, qt_tr, qsci_tr;
+
+      resource_manager::config_translators (&qt_tr, &qsci_tr, &gui_tr);
+
+      application.installTranslator (&qt_tr);
+      application.installTranslator (&qsci_tr);
+      application.installTranslator (&gui_tr);
+
+      // show wizard if this is the first run
       if (resource_manager::is_first_run ())
         {
           welcome_wizard welcomeWizard;
@@ -141,15 +151,6 @@
 
       resource_manager::reload_settings ();
 
-      // install translators for the gui and qt text
-      QTranslator gui_tr, qt_tr, qsci_tr;
-
-      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 ();
 
--- a/libgui/src/resource-manager.cc	Tue Nov 26 02:04:10 2013 -0500
+++ b/libgui/src/resource-manager.cc	Tue Nov 26 20:08:02 2013 +0100
@@ -100,35 +100,33 @@
   QString qt_trans_dir
     = QLibraryInfo::location (QLibraryInfo::TranslationsPath);
 
+  QString language = "SYSTEM";  // take system language per default
+
   QSettings *settings = resource_manager::get_settings ();
 
   if (settings)
     {
-      // get the locale from the settings
-      QString language = settings->value ("language","SYSTEM").toString ();
-
-      if (language == "SYSTEM")
-        language = QLocale::system ().name ();    // get system wide locale
+      // get the locale from the settings if already available
+      language = settings->value ("language","SYSTEM").toString ();
+    }
 
-      // load the translator file for qt strings
-      loaded = qt_tr->load ("qt_" + language, qt_trans_dir);
+  if (language == "SYSTEM")
+    language = QLocale::system ().name ();    // get system wide locale
 
-      if (!loaded) // try lower case
-        qt_tr->load ("qt_" + language.toLower (), qt_trans_dir);
+  // load the translator file for qt strings
+  loaded = qt_tr->load ("qt_" + language, qt_trans_dir);
 
-      // load the translator file for qscintilla settings
-      loaded = qsci_tr->load ("qscintilla_" + language, qt_trans_dir);
+  if (!loaded) // try lower case
+    qt_tr->load ("qt_" + language.toLower (), qt_trans_dir);
 
-      if (!loaded) // try lower case
-        qsci_tr->load ("qscintilla_" + language.toLower (), qt_trans_dir);
+  // load the translator file for qscintilla settings
+  loaded = qsci_tr->load ("qscintilla_" + language, qt_trans_dir);
 
-      // load the translator file for gui strings
-      gui_tr->load (language, get_gui_translation_dir ());
-    }
-  else
-    {
-      // FIXME: Is this an error?  If so, what should we do?
-    }
+  if (!loaded) // try lower case
+    qsci_tr->load ("qscintilla_" + language.toLower (), qt_trans_dir);
+
+  // load the translator file for gui strings
+  gui_tr->load (language, get_gui_translation_dir ());
 }
 
 bool