/***************************************************************************
- * Copyright (C) 2005-2015 by the Quassel Project *
+ * Copyright (C) 2005-2018 by the Quassel Project *
* devel@quassel-irc.org *
* *
* This program is free software; you can redistribute it and/or modify *
{
ui.setupUi(this);
-#ifdef Q_OS_MAC
- ui.minimizeOnClose->hide();
-#endif
#ifdef QT_NO_SYSTEMTRAYICON
ui.useSystemTrayIcon->hide();
#endif
initAutoWidgets();
initStyleComboBox();
initLanguageComboBox();
+ initIconThemeComboBox();
foreach(QComboBox *comboBox, findChildren<QComboBox *>()) {
connect(comboBox, SIGNAL(currentIndexChanged(QString)), this, SLOT(widgetHasChanged()));
}
}
+void AppearanceSettingsPage::initIconThemeComboBox()
+{
+ // TODO Replace by runtime detection
+#if defined WITH_OXYGEN || defined WITH_BREEZE || defined WITH_BREEZE_DARK
+# if defined WITH_BREEZE
+ ui.iconthemeComboBox->addItem(tr("Breeze Light"), QVariant("breeze"));
+# endif
+# if defined WITH_BREEZE_DARK
+ ui.iconthemeComboBox->addItem(tr("Breeze Dark"), QVariant("breezedark"));
+# endif
+# if defined WITH_OXYGEN
+ ui.iconthemeComboBox->addItem(tr("Oxygen"), QVariant("oxygen"));
+# endif
+#else
+ ui.iconthemeLabel->hide();
+ ui.iconthemeComboBox->hide();
+#endif
+}
+
void AppearanceSettingsPage::defaults()
{
ui.languageComboBox->setProperty("storedValue", ui.languageComboBox->currentIndex());
Quassel::loadTranslation(selectedLocale());
+ // IconTheme
+ QString icontheme = uiSettings.value("IconTheme", QVariant("")).toString();
+ if (icontheme == "")
+ ui.iconthemeComboBox->setCurrentIndex(0);
+ else
+ ui.iconthemeComboBox->setCurrentIndex(ui.iconthemeComboBox->findData(icontheme));
+ ui.iconthemeComboBox->setProperty("storedValue", ui.iconthemeComboBox->currentIndex());
+
// bufferSettings:
BufferSettings bufferSettings;
int redirectTarget = bufferSettings.userNoticesTarget();
}
ui.languageComboBox->setProperty("storedValue", ui.languageComboBox->currentIndex());
+ if (selectedIconTheme()=="") {
+ uiSettings.remove("IconTheme");
+ }
+ else {
+ uiSettings.setValue("IconTheme", selectedIconTheme());
+ QIcon::setThemeName(selectedIconTheme());
+ }
+ ui.iconthemeComboBox->setProperty("storedValue", ui.iconthemeComboBox->currentIndex());
+
bool needsStyleReload =
ui.useCustomStyleSheet->isChecked() != ui.useCustomStyleSheet->property("storedValue").toBool()
|| (ui.useCustomStyleSheet->isChecked() && ui.customStyleSheetPath->text() != ui.customStyleSheetPath->property("storedValue").toString());
return locale;
}
+QString AppearanceSettingsPage::selectedIconTheme() const
+{
+ return ui.iconthemeComboBox->itemData(ui.iconthemeComboBox->currentIndex()).toString();
+}
void AppearanceSettingsPage::chooseStyleSheet()
{
{
if (ui.styleComboBox->currentIndex() != ui.styleComboBox->property("storedValue").toInt()) return true;
if (ui.languageComboBox->currentIndex() != ui.languageComboBox->property("storedValue").toInt()) return true;
+ if (ui.iconthemeComboBox->currentIndex() != ui.iconthemeComboBox->property("storedValue").toInt()) return true;
if (SettingsPage::hasChanged(ui.userNoticesInStatusBuffer)) return true;
if (SettingsPage::hasChanged(ui.userNoticesInDefaultBuffer)) return true;