aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/qml/qqml.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/qml/qml/qqml.h')
-rw-r--r--src/qml/qml/qqml.h11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/qml/qml/qqml.h b/src/qml/qml/qqml.h
index bd608c5c99..0d474d6c4e 100644
--- a/src/qml/qml/qqml.h
+++ b/src/qml/qml/qqml.h
@@ -125,6 +125,9 @@
template<typename T, typename... Args> \
friend void QML_REGISTER_TYPES_AND_REVISIONS(const char *uri, int versionMajor, QList<int> *);
+#define QML_FOREIGN_NAMESPACE(FOREIGN_NAMESPACE) \
+ Q_CLASSINFO("QML.Foreign", #FOREIGN_NAMESPACE)
+
#define QML_INTERFACE \
Q_CLASSINFO("QML.Element", "anonymous") \
enum class QmlIsInterface {yes = true}; \
@@ -850,8 +853,10 @@ inline void qmlRegisterTypesAndRevisions<>(const char *, int, QList<int> *)
{
}
-inline void qmlRegisterNamespaceAndRevisions(const QMetaObject *metaObject, const char *uri,
- int versionMajor, QList<int> *qmlTypeIds = nullptr)
+inline void qmlRegisterNamespaceAndRevisions(const QMetaObject *metaObject,
+ const char *uri, int versionMajor,
+ QList<int> *qmlTypeIds = nullptr,
+ const QMetaObject *classInfoMetaObject = nullptr)
{
QQmlPrivate::RegisterTypeAndRevisions type = {
0,
@@ -865,7 +870,7 @@ inline void qmlRegisterNamespaceAndRevisions(const QMetaObject *metaObject, cons
QTypeRevision::fromMajorVersion(versionMajor),
metaObject,
- metaObject,
+ (classInfoMetaObject ? classInfoMetaObject : metaObject),
nullptr,
nullptr,