added settingsdialog cancel

This commit is contained in:
fourtf
2017-01-24 19:51:57 +01:00
parent ad4c2901af
commit de8f6d1e82
8 changed files with 112 additions and 37 deletions
+9 -10
View File
@@ -15,8 +15,8 @@ public:
{
}
virtual void save(QSettings &settings) = 0;
virtual void load(const QSettings &settings) = 0;
virtual QVariant getVariant() = 0;
virtual void setVariant(QVariant value) = 0;
const QString &
getName() const
@@ -56,19 +56,18 @@ public:
}
}
virtual void
save(QSettings &settings) final
virtual QVariant
getVariant() final
{
settings.setValue(this->getName(), QVariant::fromValue(this->value));
return QVariant::fromValue(value);
}
virtual void
load(const QSettings &settings) final
setVariant(QVariant value) final
{
QVariant newValue = settings.value(this->getName(), QVariant());
if (newValue.isValid()) {
assert(newValue.canConvert<T>());
this->set(newValue.value<T>());
if (value.isValid()) {
assert(value.canConvert<T>());
this->set(value.value<T>());
}
}