aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJ-P Nurmi <jpnurmi@qt.io>2017-11-03 18:26:22 +0100
committerJ-P Nurmi <jpnurmi@qt.io>2017-11-06 14:26:29 +0000
commitf0f66c1aa001c630a6b246e312bef7f8e83958d2 (patch)
tree388cd87156d06120ee2bdef444213a3c49b165ce /src
parent430fe83ecb7106118cbebd735637aee9e9253914 (diff)
Qt.labs.platform: declare and register enums to the meta system
To make them correctly available in QML so that they also work as signal arguments. Task-number: QTBUG-64259 Change-Id: I5fa00871f96357d924661c4b8af323a0f1748c9d Reviewed-by: Liang Qi <liang.qi@qt.io>
Diffstat (limited to 'src')
-rw-r--r--src/imports/platform/qquickplatformmenu_p.h1
-rw-r--r--src/imports/platform/qquickplatformstandardpaths_p.h2
-rw-r--r--src/imports/platform/qquickplatformsystemtrayicon_p.h2
-rw-r--r--src/imports/platform/qtlabsplatformplugin.cpp6
4 files changed, 8 insertions, 3 deletions
diff --git a/src/imports/platform/qquickplatformmenu_p.h b/src/imports/platform/qquickplatformmenu_p.h
index 7456c660..b5c23b61 100644
--- a/src/imports/platform/qquickplatformmenu_p.h
+++ b/src/imports/platform/qquickplatformmenu_p.h
@@ -209,5 +209,6 @@ private:
QT_END_NAMESPACE
QML_DECLARE_TYPE(QQuickPlatformMenu)
+Q_DECLARE_METATYPE(QPlatformMenu::MenuType)
#endif // QQUICKPLATFORMMENU_P_H
diff --git a/src/imports/platform/qquickplatformstandardpaths_p.h b/src/imports/platform/qquickplatformstandardpaths_p.h
index c3d879b0..e2f4e11e 100644
--- a/src/imports/platform/qquickplatformstandardpaths_p.h
+++ b/src/imports/platform/qquickplatformstandardpaths_p.h
@@ -86,5 +86,7 @@ private:
QT_END_NAMESPACE
QML_DECLARE_TYPE(QQuickPlatformStandardPaths)
+Q_DECLARE_METATYPE(QStandardPaths::StandardLocation)
+Q_DECLARE_METATYPE(QStandardPaths::LocateOptions)
#endif // QQUICKPLATFORMSTANDARDPATHS_P_H
diff --git a/src/imports/platform/qquickplatformsystemtrayicon_p.h b/src/imports/platform/qquickplatformsystemtrayicon_p.h
index 7aa07512..77a78f30 100644
--- a/src/imports/platform/qquickplatformsystemtrayicon_p.h
+++ b/src/imports/platform/qquickplatformsystemtrayicon_p.h
@@ -137,5 +137,7 @@ private:
QT_END_NAMESPACE
QML_DECLARE_TYPE(QQuickPlatformSystemTrayIcon)
+Q_DECLARE_METATYPE(QPlatformSystemTrayIcon::ActivationReason)
+Q_DECLARE_METATYPE(QPlatformSystemTrayIcon::MessageIcon)
#endif // QQUICKPLATFORMSYSTEMTRAYICON_P_H
diff --git a/src/imports/platform/qtlabsplatformplugin.cpp b/src/imports/platform/qtlabsplatformplugin.cpp
index bcb9ac98..1eac7d80 100644
--- a/src/imports/platform/qtlabsplatformplugin.cpp
+++ b/src/imports/platform/qtlabsplatformplugin.cpp
@@ -56,9 +56,6 @@
# include "qquickplatformsystemtrayicon_p.h"
#endif
-Q_DECLARE_METATYPE(QStandardPaths::StandardLocation)
-Q_DECLARE_METATYPE(QStandardPaths::LocateOptions)
-
static inline void initResources()
{
#ifdef QT_STATIC
@@ -102,6 +99,7 @@ void QtLabsPlatformPlugin::registerTypes(const char *uri)
qmlRegisterType<QQuickPlatformMenuItem>(uri, 1, 0, "MenuItem");
qmlRegisterType<QQuickPlatformMenuItemGroup>(uri, 1, 0, "MenuItemGroup");
qmlRegisterType<QQuickPlatformMenuSeparator>(uri, 1, 0, "MenuSeparator");
+ qRegisterMetaType<QPlatformMenu::MenuType>();
qmlRegisterUncreatableType<QPlatformDialogHelper>(uri, 1, 0, "StandardButton", QQuickPlatformDialog::tr("Cannot create an instance of StandardButton"));
qmlRegisterSingletonType<QQuickPlatformStandardPaths>(uri, 1, 0, "StandardPaths", QQuickPlatformStandardPaths::create);
@@ -110,6 +108,8 @@ void QtLabsPlatformPlugin::registerTypes(const char *uri)
#if QT_CONFIG(systemtrayicon)
qmlRegisterType<QQuickPlatformSystemTrayIcon>(uri, 1, 0, "SystemTrayIcon");
+ qRegisterMetaType<QPlatformSystemTrayIcon::ActivationReason>();
+ qRegisterMetaType<QPlatformSystemTrayIcon::MessageIcon>();
#endif
}