diff --git a/src/view/PreferencesPanel.cpp b/src/view/PreferencesPanel.cpp index e02b4cc..6a7cee7 100644 --- a/src/view/PreferencesPanel.cpp +++ b/src/view/PreferencesPanel.cpp @@ -161,6 +161,8 @@ PreferencesPanel::PreferencesPanel(KissCount* kiss, wxUI *parent) : KissPanel(ki InitLanguage(user); + connect(_language, SIGNAL(currentRowChanged(int)), this, SLOT(OnLanguageChange(int))); + staticBoxSizer->addWidget(_language); hbox2->addWidget(staticLanguage); @@ -456,7 +458,7 @@ void PreferencesPanel::InitLanguage(User* user) item->setIcon(QIcon(SupportedLanguages::languages[i].icon)), _language->addItem(item); - if (SupportedLanguages::languages[i].language == _wxUI->_language) + if (SupportedLanguages::languages[i].name == _wxUI->_language) select = i; } @@ -1061,10 +1063,10 @@ void PreferencesPanel::OnOperationOrderChange(int index) _wxUI->NeedReload(); } -void PreferencesPanel::OnLanguageChange() +void PreferencesPanel::OnLanguageChange(int index) { - SupportedLanguages::wxLanguage language = SupportedLanguages::languages[_language->currentRow()].language; - QString name_lang = SupportedLanguages::languages[_language->currentRow()].name; + SupportedLanguages::wxLanguage language = SupportedLanguages::languages[index].language; + QString name_lang = SupportedLanguages::languages[index].name; if (_wxUI->SetLanguage(name_lang) || language == SupportedLanguages::wxLANGUAGE_ENGLISH) { diff --git a/src/view/PreferencesPanel.hpp b/src/view/PreferencesPanel.hpp index ca6a203..81fd351 100644 --- a/src/view/PreferencesPanel.hpp +++ b/src/view/PreferencesPanel.hpp @@ -57,7 +57,7 @@ private slots: void OnChangeName(); void OnChangePassword(); void OnOperationOrderChange(int index); - void OnLanguageChange(); + void OnLanguageChange(int); void OnKillMe(); private: diff --git a/src/view/wxUI.cpp b/src/view/wxUI.cpp index ac804f5..a9dabf2 100644 --- a/src/view/wxUI.cpp +++ b/src/view/wxUI.cpp @@ -128,6 +128,8 @@ bool wxUI::SetLanguage(QString language) // res = false; // } + _language = language; + months[0] = _("january"); months[1] = _("february"); months[2] = _("march"); @@ -203,6 +205,8 @@ void wxUI::LoadUser() if (user->_preferences["language"].size()) SetLanguage(user->GetLanguage()); + else + SetLanguage(SupportedLanguages::languages[0].name); LoadPanels(); diff --git a/src/view/wxUI.hpp b/src/view/wxUI.hpp index b2ff8ae..3576baf 100644 --- a/src/view/wxUI.hpp +++ b/src/view/wxUI.hpp @@ -72,7 +72,7 @@ public: void ShowPanel(KissPanel* panel); void NeedReload(); - int _language; + QString _language; private slots: void OnButtonClicked(int id);