X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Fsettingspages%2Fappearancesettingspage.cpp;h=19d2d9c836d9f54042ffd3236d4fc46723166b0a;hp=0b33f0f4e0066d27de55cd5f9a0e6e7f2cb350c5;hb=a8c38cbe8d8686cc36c42b04d556a3d51d37576d;hpb=48dc21fba26ea38b49d9708941aee239c667aae9 diff --git a/src/qtui/settingspages/appearancesettingspage.cpp b/src/qtui/settingspages/appearancesettingspage.cpp index 0b33f0f4..19d2d9c8 100644 --- a/src/qtui/settingspages/appearancesettingspage.cpp +++ b/src/qtui/settingspages/appearancesettingspage.cpp @@ -20,6 +20,7 @@ #include "appearancesettingspage.h" +#include "buffersettings.h" #include "qtui.h" #include "qtuisettings.h" #include "qtuistyle.h" @@ -34,6 +35,11 @@ AppearanceSettingsPage::AppearanceSettingsPage(QWidget *parent) : SettingsPage(tr("Interface"), QString(), parent) { ui.setupUi(this); + +#ifdef Q_WS_MAC + ui.minimizeOnClose->hide(); +#endif + initAutoWidgets(); initStyleComboBox(); initLanguageComboBox(); @@ -46,6 +52,18 @@ AppearanceSettingsPage::AppearanceSettingsPage(QWidget *parent) } connect(ui.chooseStyleSheet, SIGNAL(clicked()), SLOT(chooseStyleSheet())); + + connect(ui.userNoticesInDefaultBuffer, SIGNAL(clicked(bool)), this, SLOT(widgetHasChanged())); + connect(ui.userNoticesInStatusBuffer, SIGNAL(clicked(bool)), this, SLOT(widgetHasChanged())); + connect(ui.userNoticesInCurrentBuffer, SIGNAL(clicked(bool)), this, SLOT(widgetHasChanged())); + + connect(ui.serverNoticesInDefaultBuffer, SIGNAL(clicked(bool)), this, SLOT(widgetHasChanged())); + connect(ui.serverNoticesInStatusBuffer, SIGNAL(clicked(bool)), this, SLOT(widgetHasChanged())); + connect(ui.serverNoticesInCurrentBuffer, SIGNAL(clicked(bool)), this, SLOT(widgetHasChanged())); + + connect(ui.errorMsgsInDefaultBuffer, SIGNAL(clicked(bool)), this, SLOT(widgetHasChanged())); + connect(ui.errorMsgsInStatusBuffer, SIGNAL(clicked(bool)), this, SLOT(widgetHasChanged())); + connect(ui.errorMsgsInCurrentBuffer, SIGNAL(clicked(bool)), this, SLOT(widgetHasChanged())); } void AppearanceSettingsPage::initStyleComboBox() { @@ -84,7 +102,6 @@ void AppearanceSettingsPage::load() { ui.styleComboBox->setCurrentIndex(0); } else { ui.styleComboBox->setCurrentIndex(ui.styleComboBox->findText(style, Qt::MatchExactly)); - QApplication::setStyle(style); } ui.styleComboBox->setProperty("storedValue", ui.styleComboBox->currentIndex()); @@ -99,6 +116,23 @@ void AppearanceSettingsPage::load() { ui.languageComboBox->setProperty("storedValue", ui.languageComboBox->currentIndex()); Quassel::loadTranslation(selectedLocale()); + // bufferSettings: + BufferSettings bufferSettings; + int redirectTarget = bufferSettings.userNoticesTarget(); + SettingsPage::load(ui.userNoticesInDefaultBuffer, redirectTarget & BufferSettings::DefaultBuffer); + SettingsPage::load(ui.userNoticesInStatusBuffer, redirectTarget & BufferSettings::StatusBuffer); + SettingsPage::load(ui.userNoticesInCurrentBuffer, redirectTarget & BufferSettings::CurrentBuffer); + + redirectTarget = bufferSettings.serverNoticesTarget(); + SettingsPage::load(ui.serverNoticesInDefaultBuffer, redirectTarget & BufferSettings::DefaultBuffer); + SettingsPage::load(ui.serverNoticesInStatusBuffer, redirectTarget & BufferSettings::StatusBuffer); + SettingsPage::load(ui.serverNoticesInCurrentBuffer, redirectTarget & BufferSettings::CurrentBuffer); + + redirectTarget = bufferSettings.errorMsgsTarget(); + SettingsPage::load(ui.errorMsgsInDefaultBuffer, redirectTarget & BufferSettings::DefaultBuffer); + SettingsPage::load(ui.errorMsgsInStatusBuffer, redirectTarget & BufferSettings::StatusBuffer); + SettingsPage::load(ui.errorMsgsInCurrentBuffer, redirectTarget & BufferSettings::CurrentBuffer); + SettingsPage::load(); setChangedState(false); } @@ -110,6 +144,7 @@ void AppearanceSettingsPage::save() { uiSettings.setValue("Style", QString("")); } else { uiSettings.setValue("Style", ui.styleComboBox->currentText()); + QApplication::setStyle(ui.styleComboBox->currentText()); } if(ui.languageComboBox->currentIndex() == 0) { @@ -122,6 +157,34 @@ void AppearanceSettingsPage::save() { ui.useCustomStyleSheet->isChecked() != ui.useCustomStyleSheet->property("storedValue").toBool() || (ui.useCustomStyleSheet->isChecked() && ui.customStyleSheetPath->text() != ui.customStyleSheetPath->property("storedValue").toString()); + BufferSettings bufferSettings; + int redirectTarget = 0; + if(ui.userNoticesInDefaultBuffer->isChecked()) + redirectTarget |= BufferSettings::DefaultBuffer; + if(ui.userNoticesInStatusBuffer->isChecked()) + redirectTarget |= BufferSettings::StatusBuffer; + if(ui.userNoticesInCurrentBuffer->isChecked()) + redirectTarget |= BufferSettings::CurrentBuffer; + bufferSettings.setUserNoticesTarget(redirectTarget); + + redirectTarget = 0; + if(ui.serverNoticesInDefaultBuffer->isChecked()) + redirectTarget |= BufferSettings::DefaultBuffer; + if(ui.serverNoticesInStatusBuffer->isChecked()) + redirectTarget |= BufferSettings::StatusBuffer; + if(ui.serverNoticesInCurrentBuffer->isChecked()) + redirectTarget |= BufferSettings::CurrentBuffer; + bufferSettings.setServerNoticesTarget(redirectTarget); + + redirectTarget = 0; + if(ui.errorMsgsInDefaultBuffer->isChecked()) + redirectTarget |= BufferSettings::DefaultBuffer; + if(ui.errorMsgsInStatusBuffer->isChecked()) + redirectTarget |= BufferSettings::StatusBuffer; + if(ui.errorMsgsInCurrentBuffer->isChecked()) + redirectTarget |= BufferSettings::CurrentBuffer; + bufferSettings.setErrorMsgsTarget(redirectTarget); + SettingsPage::save(); setChangedState(false); if(needsStyleReload) @@ -162,5 +225,17 @@ bool AppearanceSettingsPage::testHasChanged() { if(selectedLocale() != QLocale()) return true; // QLocale() returns the default locale (manipulated via loadTranslation()) + if(SettingsPage::hasChanged(ui.userNoticesInStatusBuffer)) return true; + if(SettingsPage::hasChanged(ui.userNoticesInDefaultBuffer)) return true; + if(SettingsPage::hasChanged(ui.userNoticesInCurrentBuffer)) return true; + + if(SettingsPage::hasChanged(ui.serverNoticesInStatusBuffer)) return true; + if(SettingsPage::hasChanged(ui.serverNoticesInDefaultBuffer)) return true; + if(SettingsPage::hasChanged(ui.serverNoticesInCurrentBuffer)) return true; + + if(SettingsPage::hasChanged(ui.errorMsgsInStatusBuffer)) return true; + if(SettingsPage::hasChanged(ui.errorMsgsInDefaultBuffer)) return true; + if(SettingsPage::hasChanged(ui.errorMsgsInCurrentBuffer)) return true; + return false; }