Fix issues with AppearanceSettingsPage
[quassel.git] / src / uisupport / settingspage.cpp
index b91fc64..a1b6f8d 100644 (file)
@@ -1,5 +1,5 @@
 /***************************************************************************
- *   Copyright (C) 2005-08 by the Quassel Project                          *
+ *   Copyright (C) 2005-09 by the Quassel Project                          *
  *   devel@quassel-irc.org                                                 *
  *                                                                         *
  *   This program is free software; you can redistribute it and/or modify  *
@@ -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";