_updateIntervalIndex = minutes2IntervalIndex (settings.value ("updateInterval", intervalIndex2Minutes (_updateIntervalIndex)).toInt ());
- _langIndex = settings.value ("langIndex", _langIndex).toInt ();
- if (_langIndex < 0 || _langIndex >= _langs.count ())
- _langIndex = 0;
+ setLanguageIndex (settings.value ("langIndex", _langIndex).toInt ());
}
_updateIntervalIndex = 3;
// languages
- _langIndex = 0;
_langs.append (Language (QString (""), tr ("System")));
_langs.append (Language (QString ("en"), tr ("English")));
_langs.append (Language (QString ("ru"), tr ("Russian")));
+ setLanguageIndex (0);
}
return 0;
}
}
+
+
+void Settings::setLanguageIndex (int index)
+{
+ if (index < 0 || index >= _langs.count ())
+ _langIndex = 0;
+ else
+ _langIndex = index;
+}
const QList<Language>& languages () const
{ return _langs; };
- void setLanguage (const Language &lang)
- { _langIndex = _langs.indexOf (lang); };
+ void setLanguageIndex (int index);
};
selector->setCurrentIndex (_settings->languages ().indexOf (_settings->language ()));
_languageButton->setPickSelector (selector);
+
+ connect (selector, SIGNAL (selected (const QString&)), SLOT (languageChanged (const QString&)));
#endif
}
if (!model)
return;
- const Language &lang = _settings->languages ()[model->currentIndex ()];
- if (lang != _settings->language ())
- _settings->setLanguage (lang);
+ _settings->setLanguageIndex (model->currentIndex ());
+ _settings->save ();
#endif
}