Skip to content

Commit e15bc48

Browse files
committed
GUI: Better handling of unknown language loading.
If there were unknown language in settings the fallback to English language didn't work as expected. And there were no proper current language set after that. Initialize current language to English so we always have English as proper fallback.
1 parent 1e0d538 commit e15bc48

File tree

2 files changed

+6
-9
lines changed

2 files changed

+6
-9
lines changed

gui/mainwindow.cpp

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -410,10 +410,8 @@ void MainWindow::ProgramSettings()
410410
dialog.SaveFullPath(),
411411
dialog.SaveAllErrors(),
412412
dialog.ShowNoErrorsMessage());
413-
const QString currentLang = mTranslation->GetCurrentLanguage();
414413
const QString newLang = mSettings->value(SETTINGS_LANGUAGE, "en").toString();
415-
if (currentLang != newLang)
416-
SetLanguage(newLang);
414+
SetLanguage(newLang);
417415
}
418416
}
419417

@@ -650,20 +648,18 @@ void MainWindow::FormatAndSetTitle(const QString &text)
650648
setWindowTitle(title);
651649
}
652650

653-
654651
void MainWindow::SetLanguage(const QString &code)
655652
{
656-
if (mTranslation->GetCurrentLanguage() == code)
657-
{
653+
const QString currentLang = mTranslation->GetCurrentLanguage();
654+
if (currentLang == code)
658655
return;
659-
}
660656

661657
QString error;
662658
if (!mTranslation->SetLanguage(code, error))
663659
{
664660
QMessageBox msg(QMessageBox::Critical,
665661
tr("Cppcheck"),
666-
QString(tr("Failed to change the language:\n\n%1\n\n")).arg(error),
662+
QString(tr("Failed to change the language:\n\n%1")).arg(error),
667663
QMessageBox::Ok,
668664
this);
669665

gui/translationhandler.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424

2525
TranslationHandler::TranslationHandler(QObject *parent) :
2626
QObject(parent),
27+
mCurrentLanguage("en"),
2728
mTranslator(new QTranslator(this))
2829
{
2930
// Add our available languages
@@ -85,7 +86,7 @@ bool TranslationHandler::SetLanguage(const QString &code, QString &error)
8586
int index = GetLanguageIndexByCode(code);
8687
if (index == -1)
8788
{
88-
error = QObject::tr("Incorrect language specified!");
89+
error = QObject::tr("Unknown language specified!");
8990
return false;
9091
}
9192

0 commit comments

Comments
 (0)