From 25a3bc63ee8322f0c5af0536a2f06d7cf23619e5 Mon Sep 17 00:00:00 2001 From: Daniel Winzen Date: Thu, 1 Jan 2015 00:06:32 +0100 Subject: [PATCH] Fallback to system default or English, if language unset --- src/gui/SetupDialog.cpp | 27 +++++++++++++++++++++++---- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/src/gui/SetupDialog.cpp b/src/gui/SetupDialog.cpp index bf79b3ab2..4e58d7d0d 100644 --- a/src/gui/SetupDialog.cpp +++ b/src/gui/SetupDialog.cpp @@ -318,14 +318,33 @@ SetupDialog::SetupDialog( ConfigTabs _tab_to_open ) : m_languages.append( fileNames[i] ); QString lang = QLocale( m_languages.last() ).nativeLanguageName(); changeLang->addItem( lang ); - if( m_lang == m_languages.last() ) - { - changeLang->setCurrentIndex( i ); - } } connect( changeLang, SIGNAL( currentIndexChanged( int ) ), this, SLOT( setLanguage( int ) ) ); + //If language unset, fallback to system language when available + if( m_lang == "" ) + { + QString tmp = QLocale::system().name().left( 2 ); + if( m_languages.contains( tmp ) ) + { + m_lang = tmp; + } + else + { + m_lang = "en"; + } + } + + for( int i = 0; i < changeLang->count(); ++i ) + { + if( m_lang == m_languages.at( i ) ) + { + changeLang->setCurrentIndex( i ); + break; + } + } + gen_layout->addWidget( bufsize_tw ); gen_layout->addSpacing( 10 ); gen_layout->addWidget( misc_tw );