diff options
author | Berthold Stoeger <bstoeger@mail.tuwien.ac.at> | 2020-03-22 16:43:21 +0100 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2020-03-22 12:01:09 -0700 |
commit | eb55ffde16f0f3c1df4c97c5229165acfda5637d (patch) | |
tree | ab19de3aaadbb1a8b14d80519eb3b894a1f384eb /core | |
parent | 2dca7d0ce5ba4045732f3fcd6c8a1170b4ad902f (diff) | |
download | subsurface-eb55ffde16f0f3c1df4c97c5229165acfda5637d.tar.gz |
cleanup: split uiLanguage() in two functions
The uiLanguage() function was used for two purposes: to initialize
the language related preferences and to read the current language.
To make things more easy to follow, split this function in two:
one for initializing, one for getting the current language.
Moreover, don't return the current locale in an out-parameter
as there is already a function to do that [getLocale()].
Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
Diffstat (limited to 'core')
-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 |
4 files changed, 14 insertions, 15 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(); |