summaryrefslogtreecommitdiffstats
path: root/gui/dialogs/SettingsDialog.cpp
diff options
context:
space:
mode:
authorJan Dalheimer <jan@dalheimer.de>2014-01-04 16:13:28 +0100
committerJan Dalheimer <jan@dalheimer.de>2014-01-04 16:13:28 +0100
commit7f6b344b49506462a63453bc79ae1b82536dc138 (patch)
treeeaa00948a8d465359b81a50e95d530ca51d2c1d0 /gui/dialogs/SettingsDialog.cpp
parent9bbbb050602e401b3805febf23a2bc2bdb881d18 (diff)
downloadMultiMC-7f6b344b49506462a63453bc79ae1b82536dc138.tar
MultiMC-7f6b344b49506462a63453bc79ae1b82536dc138.tar.gz
MultiMC-7f6b344b49506462a63453bc79ae1b82536dc138.tar.lz
MultiMC-7f6b344b49506462a63453bc79ae1b82536dc138.tar.xz
MultiMC-7f6b344b49506462a63453bc79ae1b82536dc138.zip
Clean up/update translation code and made language selectable in the settings dialog
Diffstat (limited to 'gui/dialogs/SettingsDialog.cpp')
-rw-r--r--gui/dialogs/SettingsDialog.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/gui/dialogs/SettingsDialog.cpp b/gui/dialogs/SettingsDialog.cpp
index 9362075e..e0e1b82c 100644
--- a/gui/dialogs/SettingsDialog.cpp
+++ b/gui/dialogs/SettingsDialog.cpp
@@ -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());