aboutsummaryrefslogtreecommitdiffstats
path: root/src/imports/settings
diff options
context:
space:
mode:
Diffstat (limited to 'src/imports/settings')
-rw-r--r--src/imports/settings/plugins.qmltypes1
-rw-r--r--src/imports/settings/qqmlsettings.cpp19
-rw-r--r--src/imports/settings/qqmlsettings_p.h1
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;