From 52cba0963e0714f4d58296a20d02164b57f9f4ba Mon Sep 17 00:00:00 2001 From: Alexander von Renteln Date: Mon, 31 Mar 2008 14:32:47 +0000 Subject: [PATCH] #BR127: user can now set the style of the application in the config menu (behaviour->general->client style) --- src/qtui/mainwin.cpp | 8 +++++ .../settingspages/generalsettingspage.cpp | 31 +++++++++++++++++++ src/qtui/settingspages/generalsettingspage.h | 1 + src/qtui/settingspages/generalsettingspage.ui | 16 ++++++++-- version.inc | 2 +- 5 files changed, 55 insertions(+), 3 deletions(-) diff --git a/src/qtui/mainwin.cpp b/src/qtui/mainwin.cpp index 49496a8c..fcbd228e 100644 --- a/src/qtui/mainwin.cpp +++ b/src/qtui/mainwin.cpp @@ -40,6 +40,8 @@ #include "qtuisettings.h" #include "jumpkeyhandler.h" +#include "uisettings.h" + #include "selectionmodelsynchronizer.h" #include "mappedselectionmodel.h" @@ -73,6 +75,12 @@ MainWin::MainWin(QtUi *_gui, QWidget *parent) statusBar()->showMessage(tr("Waiting for core...")); installEventFilter(new JumpKeyHandler(this)); + + UiSettings uiSettings; + QString style = uiSettings.value("Style", QString("")).toString(); + if(style != "") { + QApplication::setStyle(style); + } } void MainWin::init() { 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; } diff --git a/src/qtui/settingspages/generalsettingspage.h b/src/qtui/settingspages/generalsettingspage.h index 42216d82..f7fc9e48 100644 --- a/src/qtui/settingspages/generalsettingspage.h +++ b/src/qtui/settingspages/generalsettingspage.h @@ -47,6 +47,7 @@ class GeneralSettingsPage : public SettingsPage { QHash settings; bool testHasChanged(); + void initStyleComboBox(); }; #endif diff --git a/src/qtui/settingspages/generalsettingspage.ui b/src/qtui/settingspages/generalsettingspage.ui index 03feae5d..e8574408 100644 --- a/src/qtui/settingspages/generalsettingspage.ui +++ b/src/qtui/settingspages/generalsettingspage.ui @@ -5,8 +5,8 @@ 0 0 - 448 - 488 + 453 + 632 @@ -155,6 +155,18 @@ + + + + Client style: + + + + + + + + diff --git a/version.inc b/version.inc index f7d2871c..b1798eef 100644 --- a/version.inc +++ b/version.inc @@ -5,7 +5,7 @@ quasselVersion = "0.2.0-alpha5-pre"; quasselDate = "2008-03-31"; - quasselBuild = 675; + quasselBuild = 676; //! Minimum client build number the core needs clientBuildNeeded = 642; -- 2.20.1