X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fuisupport%2Fsettingspage.cpp;h=7808a7401f80aec458b22c386ff799ca9ba64b0a;hp=0417751cf8858266856455e17094e9691412fcf7;hb=f3e117c216aaaf7c684326270e96876a608862ef;hpb=8b68bdc964968d1d988242c37a598ba88cd0551c diff --git a/src/uisupport/settingspage.cpp b/src/uisupport/settingspage.cpp index 0417751c..7808a740 100644 --- a/src/uisupport/settingspage.cpp +++ b/src/uisupport/settingspage.cpp @@ -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 * @@ -23,6 +23,7 @@ SettingsPage::SettingsPage(const QString &category, const QString &title, QWidget *parent) : QWidget(parent), _category(category), _title(title) { + _changed = false; } QString SettingsPage::category() const { @@ -33,10 +34,30 @@ QString SettingsPage::title() const { return _title; } +bool SettingsPage::hasDefaults() const { + return false; +} + +void SettingsPage::defaults() { + +} + +bool SettingsPage::hasChanged() const { + return _changed; +} + +bool SettingsPage::aboutToSave() { + return true; +} + void SettingsPage::changed() { - emit changed(true); + setChangedState(true); } -void SettingsPage::changeState(bool hasChanged) { - emit changed(hasChanged); +void SettingsPage::setChangedState(bool hasChanged) { + if(hasChanged != _changed) { + _changed = hasChanged; + emit changed(hasChanged); + } } +