diff --git a/src/plugins/qmldesigner/core/instances/nodeinstanceview.cpp b/src/plugins/qmldesigner/core/instances/nodeinstanceview.cpp index 67c2a3a62d4c10eb9e94600bb395578853b2d4cf..ef024af87cf9c460ea1945ce145cc96185743b28 100644 --- a/src/plugins/qmldesigner/core/instances/nodeinstanceview.cpp +++ b/src/plugins/qmldesigner/core/instances/nodeinstanceview.cpp @@ -597,7 +597,7 @@ QRectF NodeInstanceView::boundingRect() const QRectF NodeInstanceView::sceneRect() const { if (m_graphicsView) - return m_graphicsView->sceneRect(); + return rootNodeInstance().boundingRect(); return QRectF(); } diff --git a/src/plugins/qmldesigner/core/instances/qmlgraphicsitemnodeinstance.cpp b/src/plugins/qmldesigner/core/instances/qmlgraphicsitemnodeinstance.cpp index 7593da3862a4c0233e5a2ccf48600060698c591a..be28b1dd6186127dc09ba75596c6d37b76548b2a 100644 --- a/src/plugins/qmldesigner/core/instances/qmlgraphicsitemnodeinstance.cpp +++ b/src/plugins/qmldesigner/core/instances/qmlgraphicsitemnodeinstance.cpp @@ -107,6 +107,14 @@ QSizeF QmlGraphicsItemNodeInstance::size() const } + if (modelNode().isRootNode()) { + if (!m_hasWidth) + qmlGraphicsItem()->setWidth(100.); + + if (!m_hasHeight) + qmlGraphicsItem()->setHeight(100.); + } + return QSizeF(qmlGraphicsItem()->width(), qmlGraphicsItem()->height()); } @@ -127,6 +135,14 @@ QRectF QmlGraphicsItemNodeInstance::boundingRect() const } + if (modelNode().isRootNode()) { + if (!m_hasWidth) + qmlGraphicsItem()->setWidth(100.); + + if (!m_hasHeight) + qmlGraphicsItem()->setHeight(100.); + } + return qmlGraphicsItem()->boundingRect(); } @@ -237,6 +253,13 @@ int QmlGraphicsItemNodeInstance::penWidth() const void QmlGraphicsItemNodeInstance::resetProperty(const QString &name) { + if (name == "height") + m_hasHeight = false; + + if (name == "width") + m_hasWidth = false; + + GraphicsObjectNodeInstance::resetProperty(name); if (name == "anchors.fill") { qmlGraphicsItem()->anchors()->resetFill();