Build the monolithic client (-DWANT_MONO=ON) by default again, as it's usable now
[quassel.git] / src / uisupport / settingspage.cpp
index e752ec7..9ee7f00 100644 (file)
 
 #include "settingspage.h"
 
+#include <QCheckBox>
+#include <QComboBox>
+#include <QSpinBox>
+#include <QVariant>
+
 SettingsPage::SettingsPage(const QString &category, const QString &title, QWidget *parent)
   : QWidget(parent),
     _category(category),
@@ -35,3 +40,30 @@ void SettingsPage::setChangedState(bool hasChanged) {
   }
 }
 
+void SettingsPage::load(QCheckBox *box, bool checked) {
+  box->setProperty("StoredValue", checked);
+  box->setChecked(checked);
+}
+
+bool SettingsPage::hasChanged(QCheckBox *box) {
+  return box->property("StoredValue").toBool() == box->isChecked();
+}
+
+
+void SettingsPage::load(QComboBox *box, int index) {
+  box->setProperty("StoredValue", index);
+  box->setCurrentIndex(index);
+}
+
+bool SettingsPage::hasChanged(QComboBox *box) {
+  return box->property("StoredValue").toInt() == box->currentIndex();
+}
+
+void SettingsPage::load(QSpinBox *box, int value) {
+  box->setProperty("StoredValue", value);
+  box->setValue(value);
+}
+
+bool SettingsPage::hasChanged(QSpinBox *box) {
+  return box->property("StoredValue").toInt() == box->value();
+}