From 7a4115236aa61e3c8d3ca9264d816515e572a3a5 Mon Sep 17 00:00:00 2001 From: Vesa Pikki Date: Thu, 2 Jul 2009 23:41:37 +0300 Subject: [PATCH] TranslationHandler now suggests a language based on sysytem locale. Also made sure toolbar visibility is updated before saving settings. --- gui/mainwindow.cpp | 5 ++++- gui/translationhandler.cpp | 37 ++++++++++++++++++++++++++++++++----- gui/translationhandler.h | 1 + 3 files changed, 37 insertions(+), 6 deletions(-) diff --git a/gui/mainwindow.cpp b/gui/mainwindow.cpp index c1bc9540b..9159e15a8 100644 --- a/gui/mainwindow.cpp +++ b/gui/mainwindow.cpp @@ -167,11 +167,14 @@ void MainWindow::LoadSettings() QString error = ""; - SetLanguage(mSettings->value(SETTINGS_LANGUAGE, 0).toInt()); + SetLanguage(mSettings->value(SETTINGS_LANGUAGE, mTranslation->SuggestLanguage()).toInt()); } void MainWindow::SaveSettings() { + //Force toolbar checkbox value to be updated + AboutToShowViewMenu(); + mSettings->setValue(SETTINGS_WINDOW_WIDTH, size().width()); mSettings->setValue(SETTINGS_WINDOW_HEIGHT, size().height()); mSettings->setValue(SETTINGS_WINDOW_MAXIMIZED, isMaximized()); diff --git a/gui/translationhandler.cpp b/gui/translationhandler.cpp index 14b3350f2..04eb59faf 100644 --- a/gui/translationhandler.cpp +++ b/gui/translationhandler.cpp @@ -27,11 +27,11 @@ TranslationHandler::TranslationHandler(QObject *parent) : mTranslator(new QTranslator(this)) { //Add our default languages - mNames << QObject::tr("English") - << QObject::tr("Finnish") - << QObject::tr("Swedish") - << QObject::tr("German") - << QObject::tr("Russian"); + mNames << "English" + << "Finnish" + << "Swedish" + << "German" + << "Russian"; mFiles << "cppcheck_en" << "cppcheck_fi" @@ -109,3 +109,30 @@ int TranslationHandler::GetCurrentLanguage() const return mCurrentLanguage; } +int TranslationHandler::SuggestLanguage() const +{ + /* + Get language from system locale's name + QLocale::languageToString would return the languages full name and we + only want two-letter ISO 639 language code so we'll get it from + locale's name. + */ + QString language = QLocale::system().name().left(2); + //qDebug()<<"Your language is"<