Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/owncloud/client.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHannah von Reth <hannah.vonreth@owncloud.com>2022-03-11 18:45:00 +0300
committerHannah von Reth <vonreth@kde.org>2022-03-14 15:13:55 +0300
commit85db375b912c0ecd01f5fe9d9656745689b9ce2a (patch)
tree069c257041a62c1de9474608081880ad67e70215 /src/gui/generalsettings.cpp
parent6463738ec1cf7bff31b93052f635cacd82e51199 (diff)
Fix lang picker selection
Diffstat (limited to 'src/gui/generalsettings.cpp')
-rw-r--r--src/gui/generalsettings.cpp33
1 files changed, 4 insertions, 29 deletions
diff --git a/src/gui/generalsettings.cpp b/src/gui/generalsettings.cpp
index bbef1157a..57712208b 100644
--- a/src/gui/generalsettings.cpp
+++ b/src/gui/generalsettings.cpp
@@ -157,26 +157,8 @@ void GeneralSettings::loadMiscSettings()
loadLanguageNamesIntoDropdown();
const auto &locale = cfgFile.uiLanguage();
-
- // index 0 means "use default", which we use unless the loop below sets another entry
- _ui->languageDropdown->setCurrentIndex(0);
-
- if (!locale.isEmpty()) {
- const auto &language = QLocale(locale).nativeLanguageName();
-
- // a simple linear search to find the right entry and choose it is sufficient for this application
- // we can skip the "use default" entry by starting at index 1
- // note that if the loop below never breaks, the setting falls back to "use default"
- // this is desired behavior, as it handles cases when the selected language no longer exists
- for (int i = 1; i < _ui->languageDropdown->count(); ++i) {
- const auto text = _ui->languageDropdown->itemText(i);
-
- if (text == language) {
- _ui->languageDropdown->setCurrentIndex(i);
- break;
- }
- }
- }
+ const auto index = _ui->languageDropdown->findData(locale);
+ _ui->languageDropdown->setCurrentIndex(index < 0 ? 0 : index);
}
void GeneralSettings::showEvent(QShowEvent *)
@@ -275,16 +257,9 @@ void GeneralSettings::saveMiscSettings()
_ui->newFolderLimitSpinBox->value());
cfgFile.setConfirmExternalStorage(_ui->newExternalStorage->isChecked());
- const auto pickedLanguageIndex = _ui->languageDropdown->currentIndex();
-
// the first entry, identified by index 0, means "use default", which is a special case handled below
- if (pickedLanguageIndex > 0) {
- const QString &pickedLocale = _ui->languageDropdown->itemData(pickedLanguageIndex).toString();
- cfgFile.setUiLanguage(pickedLocale);
- } else {
- // empty string means "use system default"
- cfgFile.setUiLanguage("");
- }
+ const QString pickedLocale = _ui->languageDropdown->currentData().toString();
+ cfgFile.setUiLanguage(pickedLocale);
}
void GeneralSettings::slotToggleLaunchOnStartup(bool enable)