#include "uisettings.h"
#include "buffersettings.h"
+#include <QStyleFactory>
+
GeneralSettingsPage::GeneralSettingsPage(QWidget *parent)
: SettingsPage(tr("Behaviour"), tr("General"), parent) {
ui.setupUi(this);
+ initStyleComboBox();
#ifdef Q_WS_MAC
ui.useSystemTrayIcon->hide();
connect(ui.minimizeOnMinimize, SIGNAL(clicked(bool)), this, SLOT(widgetHasChanged()));
connect(ui.minimizeOnClose, SIGNAL(clicked(bool)), this, SLOT(widgetHasChanged()));
+ connect(ui.animateTrayIcon, SIGNAL(clicked(bool)), this, SLOT(widgetHasChanged()));
+ connect(ui.displayPopupMessages, SIGNAL(clicked(bool)), this, SLOT(widgetHasChanged()));
+
connect(ui.userMessagesInStatusBuffer, SIGNAL(clicked(bool)), this, SLOT(widgetHasChanged()));
connect(ui.userMessagesInQueryBuffer, SIGNAL(clicked(bool)), this, SLOT(widgetHasChanged()));
connect(ui.userMessagesInCurrentBuffer, SIGNAL(clicked(bool)), this, SLOT(widgetHasChanged()));
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("<default>");
+ foreach(QString style, styleList) {
+ ui.styleComboBox->addItem(style);
+ }
}
bool GeneralSettingsPage::hasDefaults() const {
}
void GeneralSettingsPage::defaults() {
- qDebug() << "defaults in generalsettingspage";
ui.useSystemTrayIcon->setChecked(true);
ui.showSystemTrayIcon->setChecked(true);
ui.minimizeOnMinimize->setChecked(false);
ui.minimizeOnClose->setChecked(false);
+ ui.animateTrayIcon->setChecked(true);
+ ui.displayPopupMessages->setChecked(true);
+
ui.userMessagesInStatusBuffer->setChecked(true);
ui.userMessagesInQueryBuffer->setChecked(false);
ui.userMessagesInCurrentBuffer->setChecked(false);
ui.displayTopicInTooltip->setChecked(false);
ui.mouseWheelChangesBuffers->setChecked(true);
+ ui.styleComboBox->setCurrentIndex(0);
+
widgetHasChanged();
}
settings["MouseWheelChangesBuffers"] = uiSettings.value("MouseWheelChangesBuffers", QVariant(true));
ui.mouseWheelChangesBuffers->setChecked(settings["MouseWheelChangesBuffers"].toBool());
+ settings["AnimateTrayIcon"] = uiSettings.value("AnimateTrayIcon", QVariant(true));
+ ui.animateTrayIcon->setChecked(settings["AnimateTrayIcon"].toBool());
+
+ 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));
uiSettings.setValue("MinimizeOnClose", ui.minimizeOnClose->isChecked());
uiSettings.setValue("MouseWheelChangesBuffers", ui.mouseWheelChangesBuffers->isChecked());
+ 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());
if(settings["MinimizeOnMinimize"].toBool() != ui.minimizeOnMinimize->isChecked()) return true;
if(settings["MinimizeOnClose"].toBool() != ui.minimizeOnClose->isChecked()) return true;
+ if(settings["AnimateTrayIcon"].toBool() != ui.animateTrayIcon->isChecked()) return true;
+ if(settings["DisplayPopupMessages"].toBool() != ui.displayPopupMessages->isChecked()) return true;
+
if(settings["UserMessagesInStatusBuffer"].toBool() != ui.userMessagesInStatusBuffer->isChecked()) return true;
if(settings["UserMessagesInQueryBuffer"].toBool() != ui.userMessagesInQueryBuffer->isChecked()) return true;
if(settings["UserMessagesInCurrentBuffer"].toBool() != ui.userMessagesInCurrentBuffer->isChecked()) return true;
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;
}