Ensure C is not the default locale, to the user.

* Ensure C is not the default locale, to the user.
* New upstream release (LP: #2046099).
* Update Standards-version to 4.6.2, no changes needed.
ubuntu/noble
Simon Quigley 11 months ago
parent 7f8ec136ca
commit e8739c50fb

14
debian/changelog vendored

@ -1,7 +1,19 @@
lubuntu-installer-prompt (1.1.1-0ubuntu2) noble; urgency=medium
* Ensure C is not the default locale, to the user.
-- Simon Quigley <tsimonq2@ubuntu.com> Sat, 23 Dec 2023 18:03:34 -0600
lubuntu-installer-prompt (1.1.1-0ubuntu1) noble; urgency=medium
* New upstream release (LP: #2046099).
-- Simon Quigley <tsimonq2@ubuntu.com> Sat, 23 Dec 2023 17:06:34 -0600
lubuntu-installer-prompt (1.0.1-0ubuntu1) noble; urgency=medium
* New upstream release.
* Update Standards-version to 4.6.2, no changess needed.
* Update Standards-version to 4.6.2, no changes needed.
* Update Vcs-*.
* Update build dependencies.
* Update Lintian overrides.

1
debian/files vendored

@ -0,0 +1 @@
lubuntu-installer-prompt_1.1.1-0ubuntu2_source.buildinfo misc optional

@ -1,5 +1,5 @@
lubuntu-installer-prompt: no-manual-page [usr/bin/lubuntu-installer-prompt]
lubuntu-installer-prompt: no-manual-page [usr/bin/start-lubuntu-live-env]
lubuntu-installer-prompt: no-manual-page [usr/libexec/start-lubuntu-live-env]
lubuntu-installer-prompt: no-manual-page [usr/libexec/change-system-language]
lubuntu-installer-prompt: no-manual-page [usr/libexec/lubuntu-installer]
lubuntu-installer-prompt: desktop-entry-lacks-icon-entry [usr/share/xsessions/lubuntu-live-environment.desktop]

@ -0,0 +1,72 @@
commit 7ac27098cf9c03fa02d9bac4536f7d6ee3159e42
Author: Simon Quigley <simon@tsimonq2.net>
Date: Sat Dec 23 17:53:11 2023 -0600
Don't default to C, and be somewhat reasonable about locales, to start.
diff --git a/src/installerprompt.cpp b/src/installerprompt.cpp
index 04bc415..87a20c3 100644
--- a/src/installerprompt.cpp
+++ b/src/installerprompt.cpp
@@ -376,10 +376,15 @@ QString InstallerPrompt::getDisplayNameForLocale(const QLocale &locale) {
return s;
};
+ QLocale currentAppLocale = QLocale::system();
QString nativeName = locale.nativeLanguageName();
QString nativeCountryName = sanitize(locale.nativeCountryName());
- QString englishLanguageName = QLocale::languageToString(locale.language());
- QString englishCountryName = sanitize(QLocale::countryToString(locale.country()));
+ QString englishLanguageName = currentAppLocale.languageToString(locale.language());
+ QString englishCountryName = sanitize(currentAppLocale.countryToString(locale.country()));
+
+ if (nativeName.isEmpty() || nativeCountryName.isEmpty()) {
+ return QString();
+ }
// Rename "American English" to "English"
if (locale.language() == QLocale::English) {
@@ -419,31 +424,29 @@ void InstallerPrompt::initLanguageComboBox() {
}
QStringList InstallerPrompt::getAvailableLanguages() {
- QMap<QString, QString> languageMap; // Default sorting by QString is case-sensitive
-
- for (int language = QLocale::C; language <= QLocale::LastLanguage; ++language) {
- foreach (int country, QLocale::countriesForLanguage(static_cast<QLocale::Language>(language))) {
- QLocale locale(static_cast<QLocale::Language>(language), static_cast<QLocale::Country>(country));
+ QMap<QString, QString> language_map; // Default sorting by QString is case-sensitive
- QString displayName = getDisplayNameForLocale(locale);
- if (displayName.isEmpty()) continue;
+ QList<QLocale> all_locales = QLocale::matchingLocales(QLocale::AnyLanguage, QLocale::AnyScript, QLocale::AnyCountry);
+ for (const QLocale &locale : all_locales) {
+ QString display_name = getDisplayNameForLocale(locale);
+ if (display_name.isEmpty()) continue;
- languageMap.insert(displayName, locale.name());
- }
+ language_map.insert(display_name, locale.name());
}
+
// Sort the language display names
- QStringList sortedLanguages = languageMap.keys();
- std::sort(sortedLanguages.begin(), sortedLanguages.end(), [](const QString &a, const QString &b) {
+ QStringList sorted_languages = language_map.keys();
+ std::sort(sorted_languages.begin(), sorted_languages.end(), [](const QString &a, const QString &b) {
return a.compare(b, Qt::CaseInsensitive) < 0;
});
// Clear the existing languageLocaleMap and repopulate it based on sortedLanguages
languageLocaleMap.clear();
- for (const QString &languageName : sortedLanguages) {
- languageLocaleMap.insert(languageName, languageMap[languageName]);
+ for (const QString &language_name : sorted_languages) {
+ languageLocaleMap.insert(language_name, language_map[language_name]);
}
- return sortedLanguages;
+ return sorted_languages;
}
void InstallerPrompt::onLanguageChanged(int index) {

@ -0,0 +1 @@
c-fixes.patch
Loading…
Cancel
Save