Mercurial > minori
comparison src/gui/locale.cc @ 369:47c9f8502269
*: clang-format all the things
I've edited the formatting a bit. Now pointer asterisks (and reference
ampersands) are on the variable instead of the type, as well as having
newlines for function braces (but nothing else)
author | Paper <paper@tflc.us> |
---|---|
date | Fri, 25 Jul 2025 10:16:02 -0400 |
parents | b1f625b0227c |
children |
comparison
equal
deleted
inserted
replaced
368:6d37a998cf91 | 369:47c9f8502269 |
---|---|
9 | 9 |
10 #include <QtGlobal> | 10 #include <QtGlobal> |
11 | 11 |
12 namespace Locale { | 12 namespace Locale { |
13 | 13 |
14 std::string GetLocaleFullName(const QLocale& locale) { | 14 std::string GetLocaleFullName(const QLocale &locale) |
15 { | |
15 QString res = QLocale::languageToString(locale.language()); | 16 QString res = QLocale::languageToString(locale.language()); |
16 #if QT_VERSION >= QT_VERSION_CHECK(6, 2, 0) | 17 #if QT_VERSION >= QT_VERSION_CHECK(6, 2, 0) |
17 /* silence deprecation warning for locale.country() */ | 18 /* silence deprecation warning for locale.country() */ |
18 if (locale.territory() != QLocale::AnyTerritory) | 19 if (locale.territory() != QLocale::AnyTerritory) |
19 res += " (" + QLocale::territoryToString(locale.territory()) + ")"; | 20 res += " (" + QLocale::territoryToString(locale.territory()) + ")"; |
22 res += " (" + QLocale::countryToString(locale.country()) + ")"; | 23 res += " (" + QLocale::countryToString(locale.country()) + ")"; |
23 #endif | 24 #endif |
24 return Strings::ToUtf8String(res); | 25 return Strings::ToUtf8String(res); |
25 } | 26 } |
26 | 27 |
27 Locale::Locale() { | 28 Locale::Locale() |
29 { | |
28 RefreshAvailableLocales(); | 30 RefreshAvailableLocales(); |
29 SetActiveLocale(QLocale("en_US")); | 31 SetActiveLocale(QLocale("en_US")); |
30 } | 32 } |
31 | 33 |
32 Locale::Locale(const std::string& name) { | 34 Locale::Locale(const std::string &name) |
35 { | |
33 RefreshAvailableLocales(); | 36 RefreshAvailableLocales(); |
34 SetActiveLocale(QLocale(Strings::ToQString(name))); | 37 SetActiveLocale(QLocale(Strings::ToQString(name))); |
35 } | 38 } |
36 | 39 |
37 QLocale Locale::GetLocale() const { | 40 QLocale Locale::GetLocale() const |
41 { | |
38 return _locale; | 42 return _locale; |
39 } | 43 } |
40 | 44 |
41 std::vector<QLocale> Locale::GetAvailableLocales() const { | 45 std::vector<QLocale> Locale::GetAvailableLocales() const |
46 { | |
42 return _available_translations; | 47 return _available_translations; |
43 } | 48 } |
44 | 49 |
45 void Locale::RefreshAvailableLocales() { | 50 void Locale::RefreshAvailableLocales() |
51 { | |
46 _available_translations.clear(); | 52 _available_translations.clear(); |
47 | 53 |
48 /* we will always have en_US */ | 54 /* we will always have en_US */ |
49 _available_translations.push_back(QLocale("en_US")); | 55 _available_translations.push_back(QLocale("en_US")); |
50 | 56 |
53 return; | 59 return; |
54 | 60 |
55 QStringList translations = dir.entryList({"*.qm"}, QDir::Files); | 61 QStringList translations = dir.entryList({"*.qm"}, QDir::Files); |
56 | 62 |
57 _available_translations.reserve(translations.size()); | 63 _available_translations.reserve(translations.size()); |
58 for (const QString& str : translations) | 64 for (const QString &str : translations) |
59 _available_translations.push_back(QLocale(str.mid(0, str.lastIndexOf(".")))); | 65 _available_translations.push_back(QLocale(str.mid(0, str.lastIndexOf(".")))); |
60 } | 66 } |
61 | 67 |
62 bool Locale::IsLocaleAvailable(const QLocale& locale) const { | 68 bool Locale::IsLocaleAvailable(const QLocale &locale) const |
63 for (const QLocale& l : _available_translations) | 69 { |
70 for (const QLocale &l : _available_translations) | |
64 if (l == locale) | 71 if (l == locale) |
65 return true; | 72 return true; |
66 return false; | 73 return false; |
67 } | 74 } |
68 | 75 |
69 bool Locale::SetActiveLocale(const QLocale& locale) { | 76 bool Locale::SetActiveLocale(const QLocale &locale) |
77 { | |
70 if (!IsLocaleAvailable(locale) || !qApp) | 78 if (!IsLocaleAvailable(locale) || !qApp) |
71 return false; | 79 return false; |
72 | 80 |
73 if (_locale == locale) | 81 if (_locale == locale) |
74 return true; /* we're... already on this locale :) */ | 82 return true; /* we're... already on this locale :) */ |
97 } | 105 } |
98 | 106 |
99 return return_value; | 107 return return_value; |
100 } | 108 } |
101 | 109 |
102 bool Locale::SwitchTranslator(QTranslator& translator, const QString& path) { | 110 bool Locale::SwitchTranslator(QTranslator &translator, const QString &path) |
111 { | |
103 qApp->removeTranslator(&translator); | 112 qApp->removeTranslator(&translator); |
104 | 113 |
105 if (!translator.load(path)) | 114 if (!translator.load(path)) |
106 return false; | 115 return false; |
107 | 116 |