Eliminate extraneous writes for unchanged values

This commit is contained in:
Brad Davis 2016-06-04 20:47:10 -07:00
parent 65d8f65ed7
commit bc81f00dc7

View file

@ -28,7 +28,9 @@ Settings::~Settings() {
} }
void Settings::remove(const QString& key) { void Settings::remove(const QString& key) {
_manager->remove(key); if (key == "" || _manager->contains(key)) {
_manager->remove(key);
}
} }
QStringList Settings::childGroups() const { QStringList Settings::childGroups() const {
@ -72,7 +74,9 @@ void Settings::endGroup() {
} }
void Settings::setValue(const QString& name, const QVariant& value) { void Settings::setValue(const QString& name, const QVariant& value) {
_manager->setValue(name, value); if (_manager->value(name) != value) {
_manager->setValue(name, value);
}
} }
QVariant Settings::value(const QString& name, const QVariant& defaultValue) const { QVariant Settings::value(const QString& name, const QVariant& defaultValue) const {