Sort languages combobox by language code

* Avoid creating redundant file lists
* Sort languages combobox by language code

PR #20365.
This commit is contained in:
Chocobo1 2024-02-05 13:44:18 +08:00 committed by GitHub
parent 88a4990435
commit f87ea1b5d3
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
10 changed files with 41 additions and 49 deletions

View file

@ -1379,13 +1379,11 @@ void OptionsDialog::saveWebUITabOptions() const
void OptionsDialog::initializeLanguageCombo()
{
// List language files
const QDir langDir(u":/lang"_s);
const QStringList langFiles = langDir.entryList(QStringList(u"qbittorrent_*.qm"_s), QDir::Files);
const QStringList langFiles = QDir(u":/lang"_s).entryList({u"qbittorrent_*.qm"_s}, QDir::Files, QDir::Name);
for (const QString &langFile : langFiles)
{
const QString localeStr = langFile.section(u"_"_s, 1, -1).section(u"."_s, 0, 0); // remove "qbittorrent_" and ".qm"
m_ui->comboI18n->addItem(/*QIcon(":/icons/flags/"+country+".svg"), */ Utils::Misc::languageToLocalizedString(localeStr), localeStr);
qDebug() << "Supported locale:" << localeStr;
const QString langCode = QStringView(langFile).sliced(12).chopped(3).toString(); // remove "qbittorrent_" and ".qm"
m_ui->comboI18n->addItem(Utils::Misc::languageToLocalizedString(langCode), langCode);
}
}