[PATCH] Language chooser improvements
Sergey Starosek
sergey.starosek at gmail.com
Sat Dec 7 07:32:17 UTC 2013
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 at gmail.com>
---
qt-ui/models.cpp | 2 +-
qt-ui/preferences.cpp | 1 +
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/qt-ui/models.cpp b/qt-ui/models.cpp
index bac96f5..30bc374 100644
--- a/qt-ui/models.cpp
+++ b/qt-ui/models.cpp
@@ -1784,7 +1784,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 930a263..399d81d 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;
--
1.8.3.2
More information about the subsurface
mailing list