From 50e6f0fcbffcfb0fefe804eb2d150a1ee794464b Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 8 Jan 2019 11:10:16 +0100 Subject: [PATCH] [locale] Replace weird static-constructor - Replace createDefault() with a constructor that takes a locale name; use it with en_US.UTF-8 in those places where createDefault was previously used. --- src/modules/locale/LocaleConfiguration.cpp | 12 +++++------- src/modules/locale/LocaleConfiguration.h | 4 +++- src/modules/locale/LocalePage.cpp | 6 ++++-- 3 files changed, 12 insertions(+), 10 deletions(-) diff --git a/src/modules/locale/LocaleConfiguration.cpp b/src/modules/locale/LocaleConfiguration.cpp index 7c8ad3305..f980b850c 100644 --- a/src/modules/locale/LocaleConfiguration.cpp +++ b/src/modules/locale/LocaleConfiguration.cpp @@ -27,14 +27,12 @@ LocaleConfiguration::LocaleConfiguration() } -LocaleConfiguration -LocaleConfiguration::createDefault() +LocaleConfiguration::LocaleConfiguration( const QString& localeName ) + : LocaleConfiguration() { - LocaleConfiguration lc = LocaleConfiguration(); - lc.lang = lc.lc_numeric = lc.lc_time = lc.lc_monetary = lc.lc_paper = lc.lc_name - = lc.lc_address = lc.lc_telephone = lc.lc_measurement - = lc.lc_identification = "en_US.UTF-8"; - return lc; + lang = lc_numeric = lc_time = lc_monetary = lc_paper = lc_name + = lc_address = lc_telephone = lc_measurement + = lc_identification = localeName; } diff --git a/src/modules/locale/LocaleConfiguration.h b/src/modules/locale/LocaleConfiguration.h index c077ef6f7..a4753e221 100644 --- a/src/modules/locale/LocaleConfiguration.h +++ b/src/modules/locale/LocaleConfiguration.h @@ -26,9 +26,11 @@ class LocaleConfiguration { public: + /// @brief Create an empty locale, with nothing set explicit LocaleConfiguration(); + /// @brief Create a locale with everything set to the given @p localeName + explicit LocaleConfiguration( const QString& localeName /* "en_US.UTF-8" */ ); - static LocaleConfiguration createDefault(); static LocaleConfiguration fromLanguageAndLocation( const QString& language, const QStringList& availableLocales, const QString& countryCode ); diff --git a/src/modules/locale/LocalePage.cpp b/src/modules/locale/LocalePage.cpp index cfd7eb2fa..45397b1ab 100644 --- a/src/modules/locale/LocalePage.cpp +++ b/src/modules/locale/LocalePage.cpp @@ -452,18 +452,20 @@ LocalePage::onActivate() LocaleConfiguration LocalePage::guessLocaleConfiguration() const { + static QString defaultLocale = QStringLiteral( "en_US.UTF-8" ); + QLocale myLocale; // User-selected language // If we cannot say anything about available locales if ( m_localeGenLines.isEmpty() ) { cWarning() << "guessLocaleConfiguration can't guess from an empty list."; - return LocaleConfiguration::createDefault(); + return LocaleConfiguration( defaultLocale ); } QString myLanguageLocale = myLocale.name(); if ( myLanguageLocale.isEmpty() ) - return LocaleConfiguration::createDefault(); + return LocaleConfiguration( defaultLocale ); return LocaleConfiguration::fromLanguageAndLocation( myLanguageLocale, m_localeGenLines,