From 9b7b477d7cc868212045a78b30089363cbebcf91 Mon Sep 17 00:00:00 2001 From: Tomaz Canabrava Date: Fri, 6 Dec 2013 17:48:38 -0200 Subject: Added 'English' and 'Use System Default' options. These complete the ability to select languages from the preferences panel. Signed-off-by: Tomaz Canabrava Signed-off-by: Dirk Hohndel --- qt-ui/preferences.cpp | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'qt-ui/preferences.cpp') diff --git a/qt-ui/preferences.cpp b/qt-ui/preferences.cpp index 45777d320..930a263a1 100644 --- a/qt-ui/preferences.cpp +++ b/qt-ui/preferences.cpp @@ -114,10 +114,11 @@ void PreferencesDialog::setUiFromPrefs() QSettings s; s.beginGroup("Language"); - QAbstractItemModel *m = ui.languageView->model(); - QModelIndexList languages = m->match( m->index(0,0), Qt::DisplayRole, s.value("UiLanguage").toString()); - if (languages.count()) - ui.languageView->setCurrentIndex(languages.first()); + ui.languageSystemDefault->setChecked(s.value("UseSystemLanguage").toBool()); + QAbstractItemModel *m = ui.languageView->model(); + QModelIndexList languages = m->match( m->index(0,0), Qt::UserRole, s.value("UiLanguage").toString()); + if (languages.count()) + ui.languageView->setCurrentIndex(languages.first()); } void PreferencesDialog::restorePrefs() @@ -187,10 +188,12 @@ void PreferencesDialog::syncSettings() QLocale loc; s.beginGroup("Language"); - if (s.value("UiLanguage").toString() != ui.languageView->currentIndex().data(Qt::UserRole)){ + if (s.value("UiLanguage").toString() != ui.languageView->currentIndex().data(Qt::UserRole) || + s.value("UseSystemLanguage").toBool() != ui.languageSystemDefault->isChecked()) { QMessageBox::warning(mainWindow(), tr("Restart required"), tr("To correctly load a new language you must restart Subsurface.")); } + s.setValue("UseSystemLanguage", ui.languageSystemDefault->isChecked()); s.setValue("UiLanguage", ui.languageView->currentIndex().data(Qt::UserRole)); emit settingsChanged(); -- cgit v1.2.3-70-g09d2