Compare commits
8 Commits
28eac2c58a
...
e8739c50fb
Author | SHA1 | Date |
---|---|---|
Simon Quigley | e8739c50fb | 11 months ago |
Simon Quigley | 7f8ec136ca | 11 months ago |
Simon Quigley | 2d3d20c658 | 11 months ago |
Simon Quigley | 65bdc3337d | 11 months ago |
Simon Quigley | ae231650c7 | 11 months ago |
Simon Quigley | 010822ce17 | 11 months ago |
Simon Quigley | adf1d2dac6 | 11 months ago |
Simon Quigley | bf3ec13500 | 11 months ago |
@ -0,0 +1 @@
|
|||||||
|
lubuntu-installer-prompt_1.1.1-0ubuntu2_source.buildinfo misc optional
|
@ -1,3 +1,8 @@
|
|||||||
# No CLI interface, and one of these is an internal component of the package.
|
lubuntu-installer-prompt: no-manual-page [usr/bin/lubuntu-installer-prompt]
|
||||||
lubuntu-installer-prompt: no-manual-page usr/bin/lubuntu-installer
|
lubuntu-installer-prompt: no-manual-page [usr/libexec/start-lubuntu-live-env]
|
||||||
lubuntu-installer-prompt: no-manual-page usr/bin/lubuntu-installer-prompt
|
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]
|
||||||
|
lubuntu-installer-prompt: desktop-entry-lacks-keywords-entry [usr/share/xsessions/lubuntu-live-environment.desktop]
|
||||||
|
lubuntu-installer-prompt: spelling-error-in-binary CyMK CMYK [usr/bin/lubuntu-installer-prompt]
|
||||||
|
lubuntu-installer-prompt: spelling-error-in-binary NAm Name [usr/bin/lubuntu-installer-prompt]
|
||||||
|
@ -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…
Reference in new issue