+#include <QDebug>
+
+#include "uisettings.h"
+
+SettingsPage::SettingsPage(const QString &category, const QString &title, QWidget *parent)
+ : QWidget(parent),
+ _category(category),
+ _title(title),
+ _changed(false),
+ _autoWidgetsChanged(false)
+{
+}
+
+void SettingsPage::setChangedState(bool hasChanged_) {
+ if(hasChanged_ != _changed) {
+ bool old = hasChanged();
+ _changed = hasChanged_;
+ if(hasChanged() != old)
+ emit changed(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();