Clean up/update translation code and made language selectable in the settings dialog

This commit is contained in:
Jan Dalheimer
2014-01-04 16:13:28 +01:00
parent 9bbbb05060
commit 7f6b344b49
3 changed files with 48 additions and 15 deletions

View File

@ -219,6 +219,9 @@ void SettingsDialog::applySettings(SettingsObject *s)
}
}
// Language
s->set("Language", ui->languageBox->currentData().toLocale().bcp47Name());
// Updates
s->set("AutoUpdate", ui->autoUpdateCheckBox->isChecked());
@ -286,6 +289,19 @@ void SettingsDialog::applySettings(SettingsObject *s)
void SettingsDialog::loadSettings(SettingsObject *s)
{
// Language
ui->languageBox->clear();
ui->languageBox->addItem(tr("English"), QLocale(QLocale::English));
foreach(const QString & lang,
QDir(MMC->root() + "/translations").entryList(QStringList() << "*.qm", QDir::Files))
{
QLocale locale(lang.section(QRegExp("[_\.]"), 1));
ui->languageBox->addItem(
QLocale::languageToString(locale.language()),
locale);
}
ui->languageBox->setCurrentIndex(ui->languageBox->findData(QLocale(s->get("Language").toString())));
// Updates
ui->autoUpdateCheckBox->setChecked(s->get("AutoUpdate").toBool());
ui->devBuildsCheckBox->setChecked(s->get("UseDevBuilds").toBool());

View File

@ -7,7 +7,7 @@
<x>0</x>
<y>0</y>
<width>526</width>
<height>628</height>
<height>701</height>
</rect>
</property>
<property name="sizePolicy">
@ -40,6 +40,20 @@
<string>General</string>
</attribute>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<layout class="QHBoxLayout" name="horizontalLayout_2" stretch="0,1">
<item>
<widget class="QLabel" name="label_3">
<property name="text">
<string>Language (needs restart):</string>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="languageBox"/>
</item>
</layout>
</item>
<item>
<widget class="QGroupBox" name="sortingModeBox">
<property name="enabled">
@ -644,7 +658,6 @@
</layout>
</widget>
<tabstops>
<tabstop>settingsTab</tabstop>
<tabstop>buttonBox</tabstop>
<tabstop>sortLastLaunchedBtn</tabstop>
<tabstop>sortByNameBtn</tabstop>