Fix issues with AppearanceSettingsPage
[quassel.git] / src / uisupport / settingspage.cpp
index de82f69..a1b6f8d 100644 (file)
@@ -53,7 +53,7 @@ void SettingsPage::load(QCheckBox *box, bool checked) {
 }
 
 bool SettingsPage::hasChanged(QCheckBox *box) {
-  return box->property("StoredValue").toBool() == box->isChecked();
+  return box->property("StoredValue").toBool() != box->isChecked();
 }
 
 
@@ -63,7 +63,7 @@ void SettingsPage::load(QComboBox *box, int index) {
 }
 
 bool SettingsPage::hasChanged(QComboBox *box) {
-  return box->property("StoredValue").toInt() == box->currentIndex();
+  return box->property("StoredValue").toInt() != box->currentIndex();
 }
 
 void SettingsPage::load(QSpinBox *box, int value) {
@@ -72,7 +72,7 @@ void SettingsPage::load(QSpinBox *box, int value) {
 }
 
 bool SettingsPage::hasChanged(QSpinBox *box) {
-  return box->property("StoredValue").toInt() == box->value();
+  return box->property("StoredValue").toInt() != box->value();
 }
 
 /*** Auto child widget handling ***/
@@ -88,7 +88,7 @@ void SettingsPage::initAutoWidgets() {
   findAutoWidgets(this, &_autoWidgets);
 
   foreach(QObject *widget, _autoWidgets) {
-    if(widget->inherits("QAbstractButton"))
+    if(widget->inherits("QAbstractButton") || widget->inherits("QGroupBox"))
       connect(widget, SIGNAL(toggled(bool)), SLOT(autoWidgetHasChanged()));
     else if(widget->inherits("QLineEdit") || widget->inherits("QTextEdit"))
       connect(widget, SIGNAL(textChanged(const QString &)), SLOT(autoWidgetHasChanged()));
@@ -111,7 +111,7 @@ void SettingsPage::findAutoWidgets(QObject *parent, QObjectList *autoList) const
 
 QByteArray SettingsPage::autoWidgetPropertyName(QObject *widget) const {
   QByteArray prop;
-  if(widget->inherits("QAbstractButton"))
+  if(widget->inherits("QAbstractButton") || widget->inherits("QGroupBox"))
     prop = "checked";
   else if(widget->inherits("QLineEdit") || widget->inherits("QTextEdit"))
     prop = "text";