diff options
-rw-r--r-- | core/divesitehelpers.cpp | 4 | ||||
-rw-r--r-- | core/qt-init.cpp | 4 | ||||
-rw-r--r-- | core/qthelper.cpp | 18 | ||||
-rw-r--r-- | core/qthelper.h | 3 | ||||
-rw-r--r-- | desktop-widgets/preferences/preferences_language.cpp | 2 | ||||
-rw-r--r-- | desktop-widgets/usermanual.cpp | 2 | ||||
-rw-r--r-- | desktop-widgets/usersurvey.cpp | 4 | ||||
-rw-r--r-- | map-widget/qmlmapwidgethelper.cpp | 2 |
8 files changed, 19 insertions, 20 deletions
diff --git a/core/divesitehelpers.cpp b/core/divesitehelpers.cpp index 6dc6b012a..b2bb400a7 100644 --- a/core/divesitehelpers.cpp +++ b/core/divesitehelpers.cpp @@ -39,7 +39,7 @@ void reverseGeoLookup(degrees_t latitude, degrees_t longitude, taxonomy_data *ta QObject::connect(&timer, SIGNAL(timeout()), &loop, SLOT(quit())); // first check the findNearbyPlaces API from geonames - that should give us country, state, city - request.setUrl(geonamesURL.arg(uiLanguage(NULL).section(QRegExp("[-_ ]"), 0, 0)).arg(latitude.udeg / 1000000.0).arg(longitude.udeg / 1000000.0)); + request.setUrl(geonamesURL.arg(getUiLanguage().section(QRegExp("[-_ ]"), 0, 0)).arg(latitude.udeg / 1000000.0).arg(longitude.udeg / 1000000.0)); // By using a std::unique_ptr<>, we can exit from the function at any point // and the reply will be freed. Likewise, when overwriting the pointer with @@ -119,7 +119,7 @@ void reverseGeoLookup(degrees_t latitude, degrees_t longitude, taxonomy_data *ta reply->abort(); } // next check the oceans API to figure out the body of water - request.setUrl(geonamesOceanURL.arg(uiLanguage(NULL).section(QRegExp("[-_ ]"), 0, 0)).arg(latitude.udeg / 1000000.0).arg(longitude.udeg / 1000000.0)); + request.setUrl(geonamesOceanURL.arg(getUiLanguage().section(QRegExp("[-_ ]"), 0, 0)).arg(latitude.udeg / 1000000.0).arg(longitude.udeg / 1000000.0)); reply.reset(rgl.get(request)); // Note: frees old reply. QObject::connect(&*reply, SIGNAL(finished()), &loop, SLOT(quit())); timer.start(5000); // 5 secs. timeout diff --git a/core/qt-init.cpp b/core/qt-init.cpp index d77abfb89..685f02248 100644 --- a/core/qt-init.cpp +++ b/core/qt-init.cpp @@ -70,7 +70,9 @@ void init_qt_late() loc.setDefault(QLocale("es_ES")); loc = QLocale(); } - QString uiLang = uiLanguage(&loc); + initUiLanguage(); + QString uiLang = getUiLanguage(); + loc = getLocale(); QLocale::setDefault(loc); qtTranslator = new QTranslator; diff --git a/core/qthelper.cpp b/core/qthelper.cpp index 85914767c..3321a3387 100644 --- a/core/qthelper.cpp +++ b/core/qthelper.cpp @@ -426,7 +426,7 @@ QString getUserAgent() userAgent.append(arch); if (arch == "i386") userAgent.append("/" + SubsurfaceSysInfo::currentCpuArchitecture()); - userAgent.append(":" + uiLanguage(NULL)); + userAgent.append(":" + getUiLanguage()); return userAgent; } @@ -438,21 +438,20 @@ extern "C" const char *subsurface_user_agent() return copy_qstring(uA); } +QString getUiLanguage() +{ + return prefs.locale.lang_locale; +} + /* TOOD: Move this to SettingsObjectWrapper, and also fix this complexity. * gezus. */ -QString uiLanguage(QLocale *callerLoc) +void initUiLanguage() { QString shortDateFormat; QString dateFormat; QString timeFormat; - // Language settings are already loaded, see qPref::load() - // so no need to reload them - - // remark this method used "useSystemLanguage", which is not set - // instead use_system_language is loaded from disk - // set loc as system language or selected language if (!qPrefLanguage::use_system_language()) { loc = QLocale(qPrefLanguage::lang_locale()); @@ -483,8 +482,6 @@ QString uiLanguage(QLocale *callerLoc) else if (languages.count() > 2 && languages[2].contains('-')) uiLang = languages[2]; } - if (callerLoc) - *callerLoc = loc; prefs.locale.lang_locale = copy_qstring(uiLang); @@ -515,7 +512,6 @@ QString uiLanguage(QLocale *callerLoc) free((void *)prefs.time_format); prefs.time_format = copy_qstring(timeFormat); } - return uiLang; } QLocale getLocale() diff --git a/core/qthelper.h b/core/qthelper.h index c91712716..6e23e6768 100644 --- a/core/qthelper.h +++ b/core/qthelper.h @@ -77,7 +77,8 @@ QString get_first_dive_date_string(); QString get_last_dive_date_string(); QString get_short_dive_date_string(timestamp_t when); QString get_trip_date_string(timestamp_t when, int nr, bool getday); -QString uiLanguage(QLocale *callerLoc); +QString getUiLanguage(); +void initUiLanguage(); QLocale getLocale(); QVector<QPair<QString, int>> selectedDivesGasUsed(); QString getUserAgent(); diff --git a/desktop-widgets/preferences/preferences_language.cpp b/desktop-widgets/preferences/preferences_language.cpp index 9de6efb8f..22b274a76 100644 --- a/desktop-widgets/preferences/preferences_language.cpp +++ b/desktop-widgets/preferences/preferences_language.cpp @@ -89,7 +89,7 @@ void PreferencesLanguage::syncSettings() qPrefLanguage::set_time_format(ui->timeFormatEntry->currentText()); qPrefLanguage::set_date_format(ui->dateFormatEntry->currentText()); qPrefLanguage::set_date_format_short(ui->shortDateFormatEntry->text()); - uiLanguage(NULL); + initUiLanguage(); QString qDateTimeWeb = tr("These will be used as is. This might not be what you intended.\nSee http://doc.qt.io/qt-5/qdatetime.html#toString"); QRegExp tfillegalchars("[^hHmszaApPt\\s:;\\.,]"); diff --git a/desktop-widgets/usermanual.cpp b/desktop-widgets/usermanual.cpp index 69e86864b..42ca4e0a7 100644 --- a/desktop-widgets/usermanual.cpp +++ b/desktop-widgets/usermanual.cpp @@ -64,7 +64,7 @@ UserManual::UserManual(QWidget *parent) : QDialog(parent) QString searchPath = getSubsurfaceDataPath("Documentation"); if (searchPath.size()) { // look for localized versions of the manual first - QString lang = uiLanguage(NULL); + QString lang = getUiLanguage(); QString prefix = searchPath.append("/user-manual"); QFile manual(prefix + "_" + lang + ".html"); if (!manual.exists()) diff --git a/desktop-widgets/usersurvey.cpp b/desktop-widgets/usersurvey.cpp index 326a51f9e..9f237abea 100644 --- a/desktop-widgets/usersurvey.cpp +++ b/desktop-widgets/usersurvey.cpp @@ -31,7 +31,7 @@ UserSurvey::UserSurvey(QWidget *parent) : QDialog(parent), QString osArch = SubsurfaceSysInfo::currentCpuArchitecture(); os.append(QString("&osCpuArch=%1").arg(osArch)); } - os.append(QString("&uiLang=%1").arg(uiLanguage(NULL))); + os.append(QString("&uiLang=%1").arg(getUiLanguage())); os.append(QString("&uuid=%1").arg(getUUID())); ui->system->setPlainText(getVersion()); } @@ -46,7 +46,7 @@ QString UserSurvey::getVersion() sysInfo.append(tr("\nCPU architecture: %1").arg(arch)); if (arch == "i386") sysInfo.append(tr("\nOS CPU architecture: %1").arg(SubsurfaceSysInfo::currentCpuArchitecture())); - sysInfo.append(tr("\nLanguage: %1").arg(uiLanguage(NULL))); + sysInfo.append(tr("\nLanguage: %1").arg(getUiLanguage())); return sysInfo; } diff --git a/map-widget/qmlmapwidgethelper.cpp b/map-widget/qmlmapwidgethelper.cpp index b2017aa49..f6a0bb64b 100644 --- a/map-widget/qmlmapwidgethelper.cpp +++ b/map-widget/qmlmapwidgethelper.cpp @@ -254,7 +254,7 @@ bool MapWidgetHelper::editMode() const QString MapWidgetHelper::pluginObject() { - QString lang = uiLanguage(NULL).replace('_', '-'); + QString lang = getUiLanguage().replace('_', '-'); QString cacheFolder = QString(system_default_directory()).append("/googlemaps").replace("\\", "/"); return QStringLiteral("import QtQuick 2.0;" "import QtLocation 5.3;" |