diff options
Diffstat (limited to 'src/imports/settings')
-rw-r--r-- | src/imports/settings/plugins.qmltypes | 1 | ||||
-rw-r--r-- | src/imports/settings/qqmlsettings.cpp | 19 | ||||
-rw-r--r-- | src/imports/settings/qqmlsettings_p.h | 1 |
3 files changed, 21 insertions, 0 deletions
diff --git a/src/imports/settings/plugins.qmltypes b/src/imports/settings/plugins.qmltypes index d6cd1c6635..bbc5c1cf8f 100644 --- a/src/imports/settings/plugins.qmltypes +++ b/src/imports/settings/plugins.qmltypes @@ -31,5 +31,6 @@ Module { Parameter { name: "key"; type: "string" } Parameter { name: "value"; type: "QVariant" } } + Method { name: "sync" } } } diff --git a/src/imports/settings/qqmlsettings.cpp b/src/imports/settings/qqmlsettings.cpp index f7a7d8b055..287a70363a 100644 --- a/src/imports/settings/qqmlsettings.cpp +++ b/src/imports/settings/qqmlsettings.cpp @@ -487,6 +487,25 @@ void QQmlSettings::setValue(const QString &key, const QVariant &value) qCDebug(lcSettings) << "QQmlSettings: setValue" << key << ":" << value; } +/*! + \qmlmethod Settings::sync() + + Writes any unsaved changes to permanent storage, and reloads any + settings that have been changed in the meantime by another + application. + + This function is called automatically from QSettings's destructor and + by the event loop at regular intervals, so you normally don't need to + call it yourself. + + \sa QSettings::sync +*/ +void QQmlSettings::sync() +{ + Q_D(QQmlSettings); + d->instance()->sync(); +} + void QQmlSettings::classBegin() { } diff --git a/src/imports/settings/qqmlsettings_p.h b/src/imports/settings/qqmlsettings_p.h index f9122a58f7..a86c8b4751 100644 --- a/src/imports/settings/qqmlsettings_p.h +++ b/src/imports/settings/qqmlsettings_p.h @@ -79,6 +79,7 @@ public: Q_INVOKABLE QVariant value(const QString &key, const QVariant &defaultValue = QVariant()) const; Q_INVOKABLE void setValue(const QString &key, const QVariant &value); + Q_INVOKABLE void sync(); protected: void timerEvent(QTimerEvent *event) override; |