summaryrefslogtreecommitdiffstats
path: root/src/compositor/compositor_api/qwaylandquickcompositor.cpp
diff options
context:
space:
mode:
authorJørgen Lind <jorgen.lind@theqtcompany.com>2015-01-02 13:11:10 +0100
committerJørgen Lind <jorgen.lind@theqtcompany.com>2015-08-28 13:09:41 +0200
commit2cead7f46e8f956b4e211d305c55dd79198b7bfb (patch)
treeb90148490e9116439a62d8f3e9d244f43b3c7646 /src/compositor/compositor_api/qwaylandquickcompositor.cpp
parentc8c48a1b293c1ae28bf7c6b9d39f74aa3a0e223d (diff)
Make it optional to register the QWaylandQuick types to qml
Diffstat (limited to 'src/compositor/compositor_api/qwaylandquickcompositor.cpp')
-rw-r--r--src/compositor/compositor_api/qwaylandquickcompositor.cpp35
1 files changed, 31 insertions, 4 deletions
diff --git a/src/compositor/compositor_api/qwaylandquickcompositor.cpp b/src/compositor/compositor_api/qwaylandquickcompositor.cpp
index 3a8cc4c6b..13c32fae7 100644
--- a/src/compositor/compositor_api/qwaylandquickcompositor.cpp
+++ b/src/compositor/compositor_api/qwaylandquickcompositor.cpp
@@ -48,11 +48,38 @@ QT_BEGIN_NAMESPACE
QWaylandQuickCompositor::QWaylandQuickCompositor(QObject *parent)
: QWaylandCompositor(parent)
+ , m_initializeLegazyQmlNames(true)
{
- qmlRegisterUncreatableType<QWaylandSurfaceItem>("QtCompositor", 1, 0, "WaylandSurfaceItem", QObject::tr("Cannot create instance of WaylandSurfaceItem"));
- qmlRegisterUncreatableType<QWaylandQuickSurface>("QtCompositor", 1, 0, "WaylandQuickSurface", QObject::tr("Cannot create instance of WaylandQuickSurface"));
- qmlRegisterUncreatableType<QWaylandClient>("QtCompositor", 1, 0, "WaylandClient", QObject::tr("Cannot create instance of WaylandClient"));
- qmlRegisterUncreatableType<QWaylandOutput>("QtCompositor", 1, 0, "WaylandOutput", QObject::tr("Cannot create instance of WaylandOutput"));
+}
+
+void QWaylandQuickCompositor::create()
+{
+ if (m_initializeLegazyQmlNames)
+ registerLegacyQmlNames();
+
+ QWaylandCompositor::create();
+}
+
+void QWaylandQuickCompositor::registerLegacyQmlNames()
+{
+ static bool initialized = false;
+ if (!initialized) {
+ qmlRegisterUncreatableType<QWaylandSurfaceItem>("QtCompositor", 1, 0, "WaylandSurfaceItem", QObject::tr("Cannot create instance of WaylandSurfaceItem"));
+ qmlRegisterUncreatableType<QWaylandQuickSurface>("QtCompositor", 1, 0, "WaylandQuickSurface", QObject::tr("Cannot create instance of WaylandQuickSurface"));
+ qmlRegisterUncreatableType<QWaylandClient>("QtCompositor", 1, 0, "WaylandClient", QObject::tr("Cannot create instance of WaylandClient"));
+ qmlRegisterUncreatableType<QWaylandOutput>("QtCompositor", 1, 0, "WaylandOutput", QObject::tr("Cannot create instance of WaylandOutput"));
+ initialized = true;
+ }
+}
+
+bool QWaylandQuickCompositor::initializeLegazyQmlNames() const
+{
+ return m_initializeLegazyQmlNames;
+}
+
+void QWaylandQuickCompositor::setInitializeLegazyQmlNames(bool init)
+{
+ m_initializeLegazyQmlNames = init;
}
QWaylandSurfaceView *QWaylandQuickCompositor::createView(QWaylandSurface *surf)