void AppearanceSettingsPage::initLanguageComboBox() {
QDir i18nDir(Quassel::translationDirPath(), "*.qm");
void AppearanceSettingsPage::initLanguageComboBox() {
QDir i18nDir(Quassel::translationDirPath(), "*.qm");
- QString localeName(translationFile.mid(8));
- localeName.chop(3);
- QLocale locale(localeName);
+ if(!rx.exactMatch(translationFile))
+ continue;
+ if(!rx.cap(1).isEmpty())
+ continue;
+ QLocale locale(rx.cap(2));
// Language
QLocale locale = uiSettings.value("Locale", QLocale::system()).value<QLocale>();
if(locale == QLocale::system())
// Language
QLocale locale = uiSettings.value("Locale", QLocale::system()).value<QLocale>();
if(locale == QLocale::system())
else
ui.languageComboBox->setCurrentIndex(ui.languageComboBox->findText(QLocale::languageToString(locale.language()), Qt::MatchExactly));
ui.languageComboBox->setProperty("storedValue", ui.languageComboBox->currentIndex());
else
ui.languageComboBox->setCurrentIndex(ui.languageComboBox->findText(QLocale::languageToString(locale.language()), Qt::MatchExactly));
ui.languageComboBox->setProperty("storedValue", ui.languageComboBox->currentIndex());
uiSettings.setValue("Style", ui.styleComboBox->currentText());
QApplication::setStyle(ui.styleComboBox->currentText());
}
uiSettings.setValue("Style", ui.styleComboBox->currentText());
QApplication::setStyle(ui.styleComboBox->currentText());
}
QLocale AppearanceSettingsPage::selectedLocale() const {
QLocale locale;
int index = ui.languageComboBox->currentIndex();
QLocale AppearanceSettingsPage::selectedLocale() const {
QLocale locale;
int index = ui.languageComboBox->currentIndex();
bool AppearanceSettingsPage::testHasChanged() {
if(ui.styleComboBox->currentIndex() != ui.styleComboBox->property("storedValue").toInt()) return true;
bool AppearanceSettingsPage::testHasChanged() {
if(ui.styleComboBox->currentIndex() != ui.styleComboBox->property("storedValue").toInt()) return true;
if(SettingsPage::hasChanged(ui.userNoticesInStatusBuffer)) return true;
if(SettingsPage::hasChanged(ui.userNoticesInDefaultBuffer)) return true;
if(SettingsPage::hasChanged(ui.userNoticesInStatusBuffer)) return true;
if(SettingsPage::hasChanged(ui.userNoticesInDefaultBuffer)) return true;