diff options
author | Dmitriy Yatmanov <d.yatmanov@rusbitech.ru> | 2018-04-25 17:40:58 +0300 |
---|---|---|
committer | Dmitriy Yatmanov <yatman@codereview.qt-project.org> | 2018-05-15 15:04:34 +0000 |
commit | ddaa83cbf358ae7a847fa1fde57a5181c47f942a (patch) | |
tree | 54c6932b81f20ebfed6c35f6b8b654ae66275724 /src/imports | |
parent | b8a3b90144041774d02d8e33ca1c92e833e633fb (diff) |
Add value/setValue api
You can set/read value in imperative way, and with key not connected to
property.
Change-Id: I97a7b1cb3d36a58b64563cb6c511b4bc56731acb
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
Diffstat (limited to 'src/imports')
-rw-r--r-- | src/imports/settings/qqmlsettings.cpp | 33 | ||||
-rw-r--r-- | src/imports/settings/qqmlsettings_p.h | 3 |
2 files changed, 36 insertions, 0 deletions
diff --git a/src/imports/settings/qqmlsettings.cpp b/src/imports/settings/qqmlsettings.cpp index 0466c2488b..6b3904909a 100644 --- a/src/imports/settings/qqmlsettings.cpp +++ b/src/imports/settings/qqmlsettings.cpp @@ -432,6 +432,39 @@ void QQmlSettings::setFileName(const QString &fileName) } } +/*! + \qmlmethod var Settings::value(string key, var defaultValue) + + Returns the value for setting \a key. If the setting doesn't exist, + returns \a defaultValue. + + \sa QSettings::value + + \since Qt.labs.settings 1.1 +*/ +QVariant QQmlSettings::value(const QString &key, const QVariant &defaultValue) const +{ + Q_D(const QQmlSettings); + return d->instance()->value(key, defaultValue); +} + +/*! + \qmlmethod Settings::setValue(string key, var value) + + Sets the value of setting key to value. If the key already exists, + the previous value is overwritten. + + \sa QSettings::setValue + + \since Qt.labs.settings 1.1 +*/ +void QQmlSettings::setValue(const QString &key, const QVariant &value) +{ + Q_D(const QQmlSettings); + d->instance()->setValue(key, value); + qCDebug(lcSettings) << "QQmlSettings: setValue" << key << ":" << value; +} + void QQmlSettings::classBegin() { } diff --git a/src/imports/settings/qqmlsettings_p.h b/src/imports/settings/qqmlsettings_p.h index 1f8721c1a0..f73e595557 100644 --- a/src/imports/settings/qqmlsettings_p.h +++ b/src/imports/settings/qqmlsettings_p.h @@ -77,6 +77,9 @@ public: QString fileName() const; void setFileName(const QString &fileName); + Q_REVISION(1) Q_INVOKABLE QVariant value(const QString &key, const QVariant &defaultValue = QVariant()) const; + Q_REVISION(1) Q_INVOKABLE void setValue(const QString &key, const QVariant &value); + protected: void timerEvent(QTimerEvent *event) override; |