diff options
Diffstat (limited to 'src/quick/designer')
-rw-r--r-- | src/quick/designer/designersupport.cpp | 23 | ||||
-rw-r--r-- | src/quick/designer/designersupport.h | 4 | ||||
-rw-r--r-- | src/quick/designer/designerwindowmanager_p.h | 2 |
3 files changed, 28 insertions, 1 deletions
diff --git a/src/quick/designer/designersupport.cpp b/src/quick/designer/designersupport.cpp index 7f75857fe4..2dd041b968 100644 --- a/src/quick/designer/designersupport.cpp +++ b/src/quick/designer/designersupport.cpp @@ -51,6 +51,8 @@ #include <QtQuick/private/qquickstategroup_p.h> #include <QtGui/QImage> #include <private/qqmlvme_p.h> +#include <private/qqmlcomponentattached_p.h> +#include <private/qqmldata_p.h> #include "designerwindowmanager_p.h" @@ -375,6 +377,17 @@ void DesignerSupport::resetAnchor(QQuickItem *item, const QString &name) } } +void DesignerSupport::emitComponentCompleteSignalForAttachedProperty(QQuickItem *item) +{ + QQmlData *data = QQmlData::get(item); + if (data && data->context) { + QQmlComponentAttached *componentAttached = data->context->componentAttached; + if (componentAttached) { + emit componentAttached->completed(); + } + } +} + QList<QObject*> DesignerSupport::statesForItem(QQuickItem *item) { QList<QObject*> objectList; @@ -437,6 +450,16 @@ void DesignerSupport::activateDesignerMode() QQmlEnginePrivate::activateDesignerMode(); } +void DesignerSupport::disableComponentComplete() +{ + QQmlVME::disableComponentComplete(); +} + +void DesignerSupport::enableComponentComplete() +{ + QQmlVME::enableComponentComplete(); +} + void DesignerSupport::createOpenGLContext(QQuickWindow *window) { DesignerWindowManager::createOpenGLContext(window); diff --git a/src/quick/designer/designersupport.h b/src/quick/designer/designersupport.h index c93cffa7fa..5139a65645 100644 --- a/src/quick/designer/designersupport.h +++ b/src/quick/designer/designersupport.h @@ -125,6 +125,7 @@ public: static QQuickItem *anchorCenterInTargetItem(QQuickItem *item); static QPair<QString, QObject*> anchorLineTarget(QQuickItem *item, const QString &name, QQmlContext *context); static void resetAnchor(QQuickItem *item, const QString &name); + static void emitComponentCompleteSignalForAttachedProperty(QQuickItem *item); static QList<QObject*> statesForItem(QQuickItem *item); @@ -145,6 +146,9 @@ public: static void activateDesignerWindowManager(); static void activateDesignerMode(); + static void disableComponentComplete(); + static void enableComponentComplete(); + static void createOpenGLContext(QQuickWindow *window); static void polishItems(QQuickWindow *window); diff --git a/src/quick/designer/designerwindowmanager_p.h b/src/quick/designer/designerwindowmanager_p.h index 02aacf06bd..3bbd0c2825 100644 --- a/src/quick/designer/designerwindowmanager_p.h +++ b/src/quick/designer/designerwindowmanager_p.h @@ -67,7 +67,7 @@ class QSGContext; class QAnimationDriver; class QOpenGLContext; -class DesignerWindowManager : public QObject, public QSGRenderLoop +class DesignerWindowManager : public QSGRenderLoop { Q_OBJECT public: |