aboutsummaryrefslogtreecommitdiffstats
path: root/src/imports/settings
diff options
context:
space:
mode:
Diffstat (limited to 'src/imports/settings')
-rw-r--r--src/imports/settings/plugin.cpp14
-rw-r--r--src/imports/settings/plugins.qmltypes36
-rw-r--r--src/imports/settings/qqmlsettings.cpp2
-rw-r--r--src/imports/settings/qqmlsettings_p.h1
-rw-r--r--src/imports/settings/settings.pro2
5 files changed, 11 insertions, 44 deletions
diff --git a/src/imports/settings/plugin.cpp b/src/imports/settings/plugin.cpp
index eb7d5027a4..e8e640412b 100644
--- a/src/imports/settings/plugin.cpp
+++ b/src/imports/settings/plugin.cpp
@@ -42,20 +42,20 @@
#include "qqmlsettings_p.h"
+extern void qml_register_types_Qt_labs_settings();
+
QT_BEGIN_NAMESPACE
-class QmlSettingsPlugin : public QQmlExtensionPlugin
+class QmlSettingsPlugin : public QQmlEngineExtensionPlugin
{
Q_OBJECT
- Q_PLUGIN_METADATA(IID QQmlExtensionInterface_iid)
+ Q_PLUGIN_METADATA(IID QQmlEngineExtensionInterface_iid)
public:
- QmlSettingsPlugin(QObject *parent = nullptr) : QQmlExtensionPlugin(parent) { }
- void registerTypes(const char *uri) override
+ QmlSettingsPlugin(QObject *parent = nullptr) : QQmlEngineExtensionPlugin(parent)
{
- Q_ASSERT(QByteArray(uri) == QByteArray("Qt.labs.settings"));
- qmlRegisterType<QQmlSettings>(uri, 1, 0, "Settings");
- qmlRegisterModule(uri, 1, 1); // QTBUG-73239
+ volatile auto registration = &qml_register_types_Qt_labs_settings;
+ Q_UNUSED(registration);
}
};
diff --git a/src/imports/settings/plugins.qmltypes b/src/imports/settings/plugins.qmltypes
deleted file mode 100644
index bbc5c1cf8f..0000000000
--- a/src/imports/settings/plugins.qmltypes
+++ /dev/null
@@ -1,36 +0,0 @@
-import QtQuick.tooling 1.2
-
-// This file describes the plugin-supplied types contained in the library.
-// It is used for QML tooling purposes only.
-//
-// This file was auto-generated by:
-// 'qmlplugindump -nonrelocatable -dependencies dependencies.json Qt.labs.settings 1.1'
-
-Module {
- dependencies: []
- Component {
- name: "QQmlSettings"
- prototype: "QObject"
- exports: ["Qt.labs.settings/Settings 1.0"]
- exportMetaObjectRevisions: [0]
- Property { name: "category"; type: "string" }
- Property { name: "fileName"; type: "string" }
- Method {
- name: "value"
- type: "QVariant"
- Parameter { name: "key"; type: "string" }
- Parameter { name: "defaultValue"; type: "QVariant" }
- }
- Method {
- name: "value"
- type: "QVariant"
- Parameter { name: "key"; type: "string" }
- }
- Method {
- name: "setValue"
- 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 d43f9bafb7..de45f87638 100644
--- a/src/imports/settings/qqmlsettings.cpp
+++ b/src/imports/settings/qqmlsettings.cpp
@@ -335,7 +335,7 @@ void QQmlSettingsPrivate::load()
const QVariant currentValue = instance()->value(property.name(), previousValue);
if (!currentValue.isNull() && (!previousValue.isValid()
- || (currentValue.canConvert(previousValue.type()) && previousValue != currentValue))) {
+ || (currentValue.canConvert(previousValue.userType()) && previousValue != currentValue))) {
property.write(q, currentValue);
qCDebug(lcSettings) << "QQmlSettings: load" << property.name() << "setting:" << currentValue << "default:" << previousValue;
}
diff --git a/src/imports/settings/qqmlsettings_p.h b/src/imports/settings/qqmlsettings_p.h
index a86c8b4751..3f1b83f541 100644
--- a/src/imports/settings/qqmlsettings_p.h
+++ b/src/imports/settings/qqmlsettings_p.h
@@ -66,6 +66,7 @@ class QQmlSettings : public QObject, public QQmlParserStatus
Q_INTERFACES(QQmlParserStatus)
Q_PROPERTY(QString category READ category WRITE setCategory FINAL)
Q_PROPERTY(QString fileName READ fileName WRITE setFileName FINAL)
+ QML_NAMED_ELEMENT(Settings)
public:
explicit QQmlSettings(QObject *parent = 0);
diff --git a/src/imports/settings/settings.pro b/src/imports/settings/settings.pro
index 816a6a9fef..d8062a2e55 100644
--- a/src/imports/settings/settings.pro
+++ b/src/imports/settings/settings.pro
@@ -12,4 +12,6 @@ SOURCES += \
plugin.cpp \
qqmlsettings.cpp
+CONFIG += qmltypes install_qmltypes
+
load(qml_plugin)