diff options
Diffstat (limited to 'src/imports/settings')
-rw-r--r-- | src/imports/settings/plugin.cpp | 14 | ||||
-rw-r--r-- | src/imports/settings/plugins.qmltypes | 36 | ||||
-rw-r--r-- | src/imports/settings/qqmlsettings.cpp | 2 | ||||
-rw-r--r-- | src/imports/settings/qqmlsettings_p.h | 1 | ||||
-rw-r--r-- | src/imports/settings/settings.pro | 2 |
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) |