diff options
author | Jørgen Lind <jorgen.lind@theqtcompany.com> | 2015-01-02 13:11:10 +0100 |
---|---|---|
committer | Jørgen Lind <jorgen.lind@theqtcompany.com> | 2015-08-28 13:09:41 +0200 |
commit | 2cead7f46e8f956b4e211d305c55dd79198b7bfb (patch) | |
tree | b90148490e9116439a62d8f3e9d244f43b3c7646 /src/compositor/compositor_api/qwaylandquickcompositor.cpp | |
parent | c8c48a1b293c1ae28bf7c6b9d39f74aa3a0e223d (diff) |
Make it optional to register the QWaylandQuick types to qml
Change-Id: Ic50e3516e435a354ad478349d9af86a5a112f5c7
Diffstat (limited to 'src/compositor/compositor_api/qwaylandquickcompositor.cpp')
-rw-r--r-- | src/compositor/compositor_api/qwaylandquickcompositor.cpp | 35 |
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) |