aboutsummaryrefslogtreecommitdiffstats
path: root/src/imports
diff options
context:
space:
mode:
authorDmitriy Yatmanov <d.yatmanov@rusbitech.ru>2018-04-25 17:40:58 +0300
committerDmitriy Yatmanov <yatman@codereview.qt-project.org>2018-05-15 15:04:34 +0000
commitddaa83cbf358ae7a847fa1fde57a5181c47f942a (patch)
tree54c6932b81f20ebfed6c35f6b8b654ae66275724 /src/imports
parentb8a3b90144041774d02d8e33ca1c92e833e633fb (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.cpp33
-rw-r--r--src/imports/settings/qqmlsettings_p.h3
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;