aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Sergey Starosek <sergey.starosek@gmail.com>2013-12-07 17:32:17 +0200
committerGravatar Dirk Hohndel <dirk@hohndel.org>2013-12-07 08:09:05 -0800
commit482214703b01415bb8b64c133f3f82e8d34738be (patch)
tree3e4110d9a0e0b03bd9f8369c639693d38758a0f3
parent4c3f51291e6c212c57df02c49fe4cb352baacc07 (diff)
downloadsubsurface-482214703b01415bb8b64c133f3f82e8d34738be.tar.gz
Language chooser improvements
Show language instead of country, sort the list. Show country in brackets to avoid ambiguity for locales like de_DE and de_CH. Signed-off-by: Sergey Starosek <sergey.starosek@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
-rw-r--r--qt-ui/models.cpp2
-rw-r--r--qt-ui/preferences.cpp1
2 files changed, 2 insertions, 1 deletions
diff --git a/qt-ui/models.cpp b/qt-ui/models.cpp
index d14aae2dd..c83fcb903 100644
--- a/qt-ui/models.cpp
+++ b/qt-ui/models.cpp
@@ -1772,7 +1772,7 @@ QVariant LanguageModel::data(const QModelIndex& index, int role) const
switch(role){
case Qt::DisplayRole:{
QLocale l( currentString.remove("subsurface_"));
- return currentString == "English" ? currentString : l.countryToString(l.country());
+ return currentString == "English" ? currentString : QString("%1 (%2)").arg(l.languageToString(l.language())).arg(l.countryToString(l.country()));
}break;
case Qt::UserRole:{
QString currentString = languages.at(index.row());
diff --git a/qt-ui/preferences.cpp b/qt-ui/preferences.cpp
index 930a263a1..399d81dca 100644
--- a/qt-ui/preferences.cpp
+++ b/qt-ui/preferences.cpp
@@ -110,6 +110,7 @@ void PreferencesDialog::setUiFromPrefs()
filterModel->setSourceModel(LanguageModel::instance());
filterModel->setFilterCaseSensitivity(Qt::CaseInsensitive);
ui.languageView->setModel(filterModel);
+ filterModel->sort(0);
connect(ui.languageFilter, SIGNAL(textChanged(QString)), filterModel, SLOT(setFilterFixedString(QString)));
QSettings s;