diff --git a/src/plugins/qmldesigner/components/debugview/debugview.cpp b/src/plugins/qmldesigner/components/debugview/debugview.cpp index b3b3078f23a..00dfe65ccf3 100644 --- a/src/plugins/qmldesigner/components/debugview/debugview.cpp +++ b/src/plugins/qmldesigner/components/debugview/debugview.cpp @@ -38,6 +38,8 @@ #include #include +#include + namespace { const QString lineBreak = QStringLiteral("
"); @@ -116,8 +118,12 @@ void DebugView::nodeAboutToBeRemoved(const ModelNode &removedNode) QTextStream message; QString string; message.setString(&string); - message << removedNode; - log(tr("Node removed:"), message.readAll()); + message << removedNode << lineBreak; + foreach (const ModelNode &modelNode, removedNode.allSubModelNodes()) { + message << tr("ChildNode:") << modelNode << lineBreak; + } + + log(tr("Node about to be removed:"), message.readAll()); } } @@ -304,6 +310,10 @@ void DebugView::instancePropertyChange(const QList &/*errorNodeList*/) +{ +} + void DebugView::instancesCompleted(const QVector &completedNodeList) { if (isDebugViewEnabled()) { @@ -312,7 +322,10 @@ void DebugView::instancesCompleted(const QVector &completedNodeList) message.setString(&string); foreach (const ModelNode &modelNode, completedNodeList) { - message << modelNode; + message << modelNode << lineBreak; + if (QmlItemNode::isValidQmlItemNode(modelNode)) { + message << tr("parent: ") << QmlItemNode(modelNode).instanceParent() << lineBreak; + } } logInstance(tr("Instance Completed"), string); @@ -344,8 +357,22 @@ void DebugView::instancesPreviewImageChanged(const QVector & /*nodeLi { } -void DebugView::instancesChildrenChanged(const QVector & /*nodeList*/) +void DebugView::instancesChildrenChanged(const QVector & nodeList) { + if (isDebugViewEnabled()) { + QTextStream message; + QString string; + message.setString(&string); + + foreach (const ModelNode &modelNode, nodeList) { + message << modelNode << lineBreak; + if (QmlItemNode::isValidQmlItemNode(modelNode)) { + message << tr("parent: ") << QmlItemNode(modelNode).instanceParent() << lineBreak; + } + } + + logInstance(tr("Instances children changed:"), string); + } } void DebugView::customNotification(const AbstractView *view, const QString &identifier, const QList &nodeList, const QList &data) @@ -383,9 +410,17 @@ void DebugView::nodeSourceChanged(const ModelNode &modelNode, const QString &new } } -void DebugView::nodeRemoved(const ModelNode &/*removedNode*/, const NodeAbstractProperty &/*parentProperty*/, AbstractView::PropertyChangeFlags /*propertyChange*/) +void DebugView::nodeRemoved(const ModelNode &removedNode, const NodeAbstractProperty &/*parentProperty*/, AbstractView::PropertyChangeFlags /*propertyChange*/) { + if (isDebugViewEnabled()) { + QTextStream message; + QString string; + message.setString(&string); + message << removedNode; + + log(tr("Node Removed:"), string); + } } void DebugView::nodeAboutToBeReparented(const ModelNode &/*node*/, const NodeAbstractProperty &/*newPropertyParent*/, const NodeAbstractProperty &/*oldPropertyParent*/, AbstractView::PropertyChangeFlags /*propertyChange*/) diff --git a/src/plugins/qmldesigner/components/debugview/debugview.h b/src/plugins/qmldesigner/components/debugview/debugview.h index c9e063cd6cf..680a2017454 100644 --- a/src/plugins/qmldesigner/components/debugview/debugview.h +++ b/src/plugins/qmldesigner/components/debugview/debugview.h @@ -79,6 +79,7 @@ public: bool hasWidget() const override; void instancePropertyChange(const QList > &propertyList) override; + void instanceErrorChange(const QVector &errorNodeList) override; void instancesCompleted(const QVector &completedNodeList) override; void instanceInformationsChange(const QMultiHash &informationChangeHash) override; void instancesRenderImageChanged(const QVector &nodeList) override;