You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
61 lines
1.2 KiB
61 lines
1.2 KiB
7 years ago
|
#include "qsettingsaccessor.h"
|
||
|
using namespace QtMvvm;
|
||
|
|
||
|
namespace QtMvvm {
|
||
|
|
||
|
class QSettingsAccessorPrivate
|
||
|
{
|
||
|
public:
|
||
|
QSettingsAccessorPrivate(QSettings *settings);
|
||
|
|
||
|
QSettings *settings;
|
||
|
};
|
||
|
|
||
|
}
|
||
|
|
||
|
QSettingsAccessor::QSettingsAccessor(QObject *parent) :
|
||
|
QSettingsAccessor{new QSettings{}, parent}
|
||
|
{}
|
||
|
|
||
|
QSettingsAccessor::QSettingsAccessor(QSettings *settings, QObject *parent) :
|
||
|
ISettingsAccessor{parent},
|
||
|
d{new QSettingsAccessorPrivate{settings}}
|
||
|
{
|
||
|
d->settings->setParent(this);
|
||
|
}
|
||
|
|
||
|
QSettingsAccessor::~QSettingsAccessor() = default;
|
||
|
|
||
|
bool QSettingsAccessor::contains(const QString &key) const
|
||
|
{
|
||
|
return d->settings->contains(key);
|
||
|
}
|
||
|
|
||
|
QVariant QSettingsAccessor::load(const QString &key, const QVariant &defaultValue) const
|
||
|
{
|
||
|
return d->settings->value(key, defaultValue);
|
||
|
}
|
||
|
|
||
|
void QSettingsAccessor::save(const QString &key, const QVariant &value)
|
||
|
{
|
||
|
d->settings->setValue(key, value);
|
||
|
emit entryChanged(key, value);
|
||
|
}
|
||
|
|
||
|
void QSettingsAccessor::remove(const QString &key)
|
||
|
{
|
||
|
d->settings->remove(key);
|
||
|
emit entryRemoved(key);
|
||
|
}
|
||
|
|
||
|
void QSettingsAccessor::sync()
|
||
|
{
|
||
|
d->settings->sync();
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
QSettingsAccessorPrivate::QSettingsAccessorPrivate(QSettings *settings) :
|
||
|
settings{settings}
|
||
|
{}
|