Changeset View
Changeset View
Standalone View
Standalone View
src/dateandtime/lib/plugin.cpp
Show All 18 Lines | |||||
19 | 19 | | |||
20 | #include <QQmlExtensionPlugin> | 20 | #include <QQmlExtensionPlugin> | ||
21 | #include <QQmlEngine> | 21 | #include <QQmlEngine> | ||
22 | 22 | | |||
23 | #include "timezonemodel.h" | 23 | #include "timezonemodel.h" | ||
24 | #include "timeinputvalidator.h" | 24 | #include "timeinputvalidator.h" | ||
25 | #include "monthmodel.h" | 25 | #include "monthmodel.h" | ||
26 | 26 | | |||
27 | #ifdef Q_OS_ANDROID | ||||
28 | #include "androidutils.h" | ||||
29 | #endif | ||||
30 | | ||||
27 | class KirigamiAddonsDataAndTimePlugin : public QQmlExtensionPlugin | 31 | class KirigamiAddonsDataAndTimePlugin : public QQmlExtensionPlugin | ||
28 | { | 32 | { | ||
29 | Q_OBJECT | 33 | Q_OBJECT | ||
30 | Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QQmlExtensionInterface") | 34 | Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QQmlExtensionInterface") | ||
31 | 35 | | |||
32 | public: | 36 | public: | ||
33 | KirigamiAddonsDataAndTimePlugin() = default; | 37 | KirigamiAddonsDataAndTimePlugin() = default; | ||
34 | ~KirigamiAddonsDataAndTimePlugin() = default; | 38 | ~KirigamiAddonsDataAndTimePlugin() = default; | ||
35 | void initializeEngine(QQmlEngine *engine, const char *uri) override; | 39 | void initializeEngine(QQmlEngine *engine, const char *uri) override; | ||
36 | void registerTypes(const char *uri) override; | 40 | void registerTypes(const char *uri) override; | ||
37 | }; | 41 | }; | ||
38 | 42 | | |||
39 | void KirigamiAddonsDataAndTimePlugin::initializeEngine(QQmlEngine *engine, const char *uri) | 43 | void KirigamiAddonsDataAndTimePlugin::initializeEngine(QQmlEngine *engine, const char *uri) | ||
40 | { | 44 | { | ||
41 | Q_UNUSED(engine) | 45 | Q_UNUSED(engine) | ||
42 | Q_UNUSED(uri) | 46 | Q_UNUSED(uri) | ||
43 | } | 47 | } | ||
44 | 48 | | |||
45 | void KirigamiAddonsDataAndTimePlugin::registerTypes(const char *uri) | 49 | void KirigamiAddonsDataAndTimePlugin::registerTypes(const char *uri) | ||
46 | { | 50 | { | ||
47 | qmlRegisterType<MonthModel>(uri, 0, 1, "MonthModel"); | 51 | qmlRegisterType<MonthModel>(uri, 0, 1, "MonthModel"); | ||
48 | qmlRegisterType<TimeZoneModel>(uri, 0, 1, "TimeZoneModel"); | 52 | qmlRegisterType<TimeZoneModel>(uri, 0, 1, "TimeZoneModel"); | ||
49 | qmlRegisterType<TimeZoneFilterProxy>(uri, 0, 1, "TimeZoneFilterModel"); | 53 | qmlRegisterType<TimeZoneFilterProxy>(uri, 0, 1, "TimeZoneFilterModel"); | ||
50 | qmlRegisterType<TimeInputValidator>(uri, 0, 1, "TimeInputValidator"); | 54 | qmlRegisterType<TimeInputValidator>(uri, 0, 1, "TimeInputValidator"); | ||
55 | | ||||
56 | #ifdef Q_OS_ANDROID | ||||
57 | qmlRegisterSingletonType<AndroidUtils>(uri, 0, 1, "AndroidUtils", [](QQmlEngine *, QJSEngine *) -> QObject * { | ||||
58 | QQmlEngine::setObjectOwnership(&AndroidUtils::instance(), QQmlEngine::CppOwnership); | ||||
broulik: You need to set
```
QQmlEngine::setObjectOwnership(..., QQmlEngine::CppOwnership);
```
> A… | |||||
59 | return &AndroidUtils::instance(); | ||||
60 | }); | ||||
61 | #endif | ||||
51 | } | 62 | } | ||
52 | 63 | | |||
53 | #include "plugin.moc" | 64 | #include "plugin.moc" |
You need to set