X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Fsettingspages%2Fgeneralsettingspage.cpp;h=a0c0228ad334d9bdaf170578276de9cda0cdbf29;hp=5111b4ec52ca57927a2ff8d69bc2eb72444c5286;hb=52cba0963e0714f4d58296a20d02164b57f9f4ba;hpb=db199a3d46e34a02e8a66046fd44bf53a988cdf8 diff --git a/src/qtui/settingspages/generalsettingspage.cpp b/src/qtui/settingspages/generalsettingspage.cpp index 5111b4ec..a0c0228a 100644 --- a/src/qtui/settingspages/generalsettingspage.cpp +++ b/src/qtui/settingspages/generalsettingspage.cpp @@ -24,9 +24,12 @@ #include "uisettings.h" #include "buffersettings.h" +#include + GeneralSettingsPage::GeneralSettingsPage(QWidget *parent) : SettingsPage(tr("Behaviour"), tr("General"), parent) { ui.setupUi(this); + initStyleComboBox(); #ifdef Q_WS_MAC ui.useSystemTrayIcon->hide(); @@ -52,6 +55,16 @@ GeneralSettingsPage::GeneralSettingsPage(QWidget *parent) connect(ui.displayTopicInTooltip, SIGNAL(clicked(bool)), this, SLOT(widgetHasChanged())); connect(ui.mouseWheelChangesBuffers, SIGNAL(clicked(bool)), this, SLOT(widgetHasChanged())); + + connect(ui.styleComboBox, SIGNAL(currentIndexChanged(QString)), this, SLOT(widgetHasChanged())); +} + +void GeneralSettingsPage::initStyleComboBox() { + QStringList styleList = QStyleFactory::keys(); + ui.styleComboBox->addItem(""); + foreach(QString style, styleList) { + ui.styleComboBox->addItem(style); + } } bool GeneralSettingsPage::hasDefaults() const { @@ -74,6 +87,8 @@ void GeneralSettingsPage::defaults() { ui.displayTopicInTooltip->setChecked(false); ui.mouseWheelChangesBuffers->setChecked(true); + ui.styleComboBox->setCurrentIndex(0); + widgetHasChanged(); } @@ -99,6 +114,14 @@ void GeneralSettingsPage::load() { settings["DisplayPopupMessages"] = uiSettings.value("DisplayPopupMessages", QVariant(true)); ui.displayPopupMessages->setChecked(settings["DisplayPopupMessages"].toBool()); + settings["Style"] = uiSettings.value("Style", QString("")); + if(settings["Style"].toString() == "") { + ui.styleComboBox->setCurrentIndex(0); + } else { + ui.styleComboBox->setCurrentIndex(ui.styleComboBox->findText(settings["Style"].toString(), Qt::MatchExactly)); + QApplication::setStyle(settings["Style"].toString()); + } + // bufferSettings: BufferSettings bufferSettings; settings["UserMessagesInStatusBuffer"] = bufferSettings.value("UserMessagesInStatusBuffer", QVariant(true)); @@ -126,6 +149,12 @@ void GeneralSettingsPage::save() { uiSettings.setValue("AnimateTrayIcon", ui.animateTrayIcon->isChecked()); uiSettings.setValue("DisplayPopupMessages", ui.displayPopupMessages->isChecked()); + if(ui.styleComboBox->currentIndex() < 1) { + uiSettings.setValue("Style", QString("")); + } else { + uiSettings.setValue("Style", ui.styleComboBox->currentText()); + } + BufferSettings bufferSettings; bufferSettings.setValue("UserMessagesInStatusBuffer", ui.userMessagesInStatusBuffer->isChecked()); bufferSettings.setValue("UserMessagesInQueryBuffer", ui.userMessagesInQueryBuffer->isChecked()); @@ -157,6 +186,8 @@ bool GeneralSettingsPage::testHasChanged() { if(settings["DisplayTopicInTooltip"].toBool() != ui.displayTopicInTooltip->isChecked()) return true; if(settings["MouseWheelChangesBuffers"].toBool() != ui.mouseWheelChangesBuffers->isChecked()) return true; + if(settings["Style"].toString() != ui.styleComboBox->currentText()) return true; + return false; }