adding new settings for proper message redirection
[quassel.git] / src / uisupport / settingspage.cpp
index 0417751..c815d98 100644 (file)
@@ -1,5 +1,5 @@
 /***************************************************************************
- *   Copyright (C) 2005-08 by the Quassel IRC Team                         *
+ *   Copyright (C) 2005-08 by the Quassel Project                          *
  *   devel@quassel-irc.org                                                 *
  *                                                                         *
  *   This program is free software; you can redistribute it and/or modify  *
 
 #include "settingspage.h"
 
-SettingsPage::SettingsPage(const QString &category, const QString &title, QWidget *parent) : QWidget(parent),
-     _category(category), _title(title) {
+#include <QCheckBox>
+#include <QVariant>
 
+SettingsPage::SettingsPage(const QString &category, const QString &title, QWidget *parent)
+  : QWidget(parent),
+    _category(category),
+    _title(title),
+    _changed(false)
+{
 }
 
-QString SettingsPage::category() const {
-  return _category;
+void SettingsPage::setChangedState(bool hasChanged) {
+  if(hasChanged != _changed) {
+    _changed = hasChanged;
+    emit changed(hasChanged);
+  }
 }
 
-QString SettingsPage::title() const {
-  return _title;
+void SettingsPage::load(QCheckBox *box, bool checked) {
+  box->setProperty("StoredValue", checked);
+  box->setChecked(checked);
 }
 
-void SettingsPage::changed() {
-  emit changed(true);
-}
-
-void SettingsPage::changeState(bool hasChanged) {
-  emit changed(hasChanged);
+bool SettingsPage::hasChanged(QCheckBox *box) {
+  return box->property("StoredValue").toBool() == box->isChecked();
 }