Restore zoom-all special case for the flowview

Change-Id: Ifbed53253b0f00773dcd040f0bd2b06a2b941bd4
Reviewed-by: Henning Gründl <henning.gruendl@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
This commit is contained in:
Knud Dollereder
2020-11-30 12:26:57 +01:00
parent 0c29e50353
commit a02be5442e

View File

@@ -26,6 +26,7 @@
#include "formeditorwidget.h" #include "formeditorwidget.h"
#include "designeractionmanager.h" #include "designeractionmanager.h"
#include "designersettings.h" #include "designersettings.h"
#include "formeditoritem.h"
#include "formeditorscene.h" #include "formeditorscene.h"
#include "qmldesignerconstants.h" #include "qmldesignerconstants.h"
#include "qmldesignericons.h" #include "qmldesignericons.h"
@@ -208,7 +209,19 @@ FormEditorWidget::FormEditorWidget(FormEditorView *view)
auto frameAll = [this, zoomOut]() { auto frameAll = [this, zoomOut]() {
if (m_graphicsView) { if (m_graphicsView) {
m_graphicsView->frame(m_graphicsView->rootItemRect()); QRectF bounds;
if (QmlItemNode(m_formEditorView->rootModelNode()).isFlowView()) {
for (QGraphicsItem *item : m_formEditorView->scene()->items()) {
if (auto *fitem = FormEditorItem::fromQGraphicsItem(item)) {
if (!fitem->qmlItemNode().modelNode().isRootNode()
&& !fitem->sceneBoundingRect().isNull())
bounds |= fitem->sceneBoundingRect();
}
}
} else {
bounds = m_graphicsView->rootItemRect();
}
m_graphicsView->frame(bounds);
zoomOut(); zoomOut();
} }
}; };