diff options
-rw-r--r-- | core/pref.h | 1 | ||||
-rw-r--r-- | core/subsurface-qt/SettingsObjectWrapper.cpp | 15 | ||||
-rw-r--r-- | core/subsurface-qt/SettingsObjectWrapper.h | 1 |
3 files changed, 15 insertions, 2 deletions
diff --git a/core/pref.h b/core/pref.h index 1e9002563..3d8076335 100644 --- a/core/pref.h +++ b/core/pref.h @@ -34,6 +34,7 @@ typedef struct { typedef struct { const char *language; + const char *lang_locale; bool use_system_language; } locale_prefs_t; diff --git a/core/subsurface-qt/SettingsObjectWrapper.cpp b/core/subsurface-qt/SettingsObjectWrapper.cpp index 8c8762b65..42be027d6 100644 --- a/core/subsurface-qt/SettingsObjectWrapper.cpp +++ b/core/subsurface-qt/SettingsObjectWrapper.cpp @@ -1636,8 +1636,8 @@ void UnitsSettings::setCoordinatesTraditional(bool value) void UnitsSettings::setUnitSystem(const QString& value) { short int v = value == QStringLiteral("metric") ? METRIC - : value == QStringLiteral("imperial")? IMPERIAL - : PERSONALIZE; + : value == QStringLiteral("imperial")? IMPERIAL + : PERSONALIZE; if (v == prefs.unit_system) return; @@ -1910,6 +1910,17 @@ void LanguageSettingsObjectWrapper::setUseSystemLanguage(bool value) emit useSystemLanguageChanged(value); } +void LanguageSettingsObjectWrapper::setLangLocale(const QString &value) +{ + if (value == prefs.locale.lang_locale) + return; + QSettings s; + s.beginGroup(group); + s.setValue("UiLangLocale", value); + prefs.locale.lang_locale = copy_string(qPrintable(value)); + // no need to emit languageChanged since we already do this for setLanguage +} + void LanguageSettingsObjectWrapper::setLanguage(const QString& value) { if (value == prefs.locale.language) diff --git a/core/subsurface-qt/SettingsObjectWrapper.h b/core/subsurface-qt/SettingsObjectWrapper.h index df9a13289..7edb74eb5 100644 --- a/core/subsurface-qt/SettingsObjectWrapper.h +++ b/core/subsurface-qt/SettingsObjectWrapper.h @@ -603,6 +603,7 @@ public: bool useSystemLanguage() const; public slots: + void setLangLocale (const QString& value); void setLanguage (const QString& value); void setTimeFormat (const QString& value); void setDateFormat (const QString& value); |