diff options
Diffstat (limited to 'src/plugins/qmldesigner/components/formeditor/movemanipulator.cpp')
-rw-r--r-- | src/plugins/qmldesigner/components/formeditor/movemanipulator.cpp | 49 |
1 files changed, 18 insertions, 31 deletions
diff --git a/src/plugins/qmldesigner/components/formeditor/movemanipulator.cpp b/src/plugins/qmldesigner/components/formeditor/movemanipulator.cpp index 9bc2c52e19..0836b2054f 100644 --- a/src/plugins/qmldesigner/components/formeditor/movemanipulator.cpp +++ b/src/plugins/qmldesigner/components/formeditor/movemanipulator.cpp @@ -194,7 +194,7 @@ QPointF MoveManipulator::findSnappingOffset(const QHash<FormEditorItem*, QRectF> QMap<double, double> horizontalOffsetMap; QHashIterator<FormEditorItem*, QRectF> hashIterator(boundingRectHash); - while(hashIterator.hasNext()) { + while (hashIterator.hasNext()) { hashIterator.next(); FormEditorItem *formEditorItem = hashIterator.key(); QRectF boundingRect = hashIterator.value(); @@ -241,7 +241,7 @@ QHash<FormEditorItem*, QRectF> MoveManipulator::tanslatedBoundingRects(const QHa QHash<FormEditorItem*, QRectF> translatedBoundingRectHash; QHashIterator<FormEditorItem*, QRectF> hashIterator(boundingRectHash); - while(hashIterator.hasNext()) { + while (hashIterator.hasNext()) { QPointF alignedOffset(offsetVector); hashIterator.next(); FormEditorItem *formEditorItem = hashIterator.key(); @@ -300,29 +300,23 @@ void MoveManipulator::update(const QPointF& updatePoint, Snapping useSnapping, S if (stateToBeManipulated == UseActualState) { QmlAnchors anchors(item->qmlItemNode().anchors()); - if (anchors.instanceHasAnchor(AnchorLine::Top)) { + if (anchors.instanceHasAnchor(AnchorLine::Top)) anchors.setMargin(AnchorLine::Top, m_beginTopMarginHash.value(item) + offsetVector.y()); - } - if (anchors.instanceHasAnchor(AnchorLine::Left)) { + if (anchors.instanceHasAnchor(AnchorLine::Left)) anchors.setMargin(AnchorLine::Left, m_beginLeftMarginHash.value(item) + offsetVector.x()); - } - if (anchors.instanceHasAnchor(AnchorLine::Bottom)) { + if (anchors.instanceHasAnchor(AnchorLine::Bottom)) anchors.setMargin(AnchorLine::Bottom, m_beginBottomMarginHash.value(item) - offsetVector.y()); - } - if (anchors.instanceHasAnchor(AnchorLine::Right)) { + if (anchors.instanceHasAnchor(AnchorLine::Right)) anchors.setMargin(AnchorLine::Right, m_beginRightMarginHash.value(item) - offsetVector.x()); - } - if (anchors.instanceHasAnchor(AnchorLine::HorizontalCenter)) { + if (anchors.instanceHasAnchor(AnchorLine::HorizontalCenter)) anchors.setMargin(AnchorLine::HorizontalCenter, m_beginHorizontalCenterHash.value(item) + offsetVector.x()); - } - if (anchors.instanceHasAnchor(AnchorLine::VerticalCenter)) { + if (anchors.instanceHasAnchor(AnchorLine::VerticalCenter)) anchors.setMargin(AnchorLine::VerticalCenter, m_beginVerticalCenterHash.value(item) + offsetVector.y()); - } setPosition(item->qmlItemNode(), positionInContainerSpace); } else { @@ -362,10 +356,10 @@ void MoveManipulator::reparentTo(FormEditorItem *newParent) if (!itemsCanReparented()) return; - if (!newParent->qmlItemNode().modelNode().metaInfo().isSubclassOf("<cpp>.QDeclarativeBasePositioner", -1, -1) + if (!newParent->qmlItemNode().modelNode().metaInfo().isPositioner() && newParent->qmlItemNode().modelNode().hasParentProperty()) { ModelNode grandParent = newParent->qmlItemNode().modelNode().parentProperty().parentModelNode(); - if (grandParent.metaInfo().isSubclassOf("<cpp>.QDeclarativeBasePositioner", -1, -1)) + if (grandParent.metaInfo().isPositioner()) newParent = m_view.data()->scene()->itemForQmlItemNode(QmlItemNode(grandParent)); } @@ -376,11 +370,10 @@ void MoveManipulator::reparentTo(FormEditorItem *newParent) QmlItemNode parent(newParent->qmlItemNode()); if (parent.isValid()) { - if (parent.hasDefaultProperty()) { + if (parent.hasDefaultProperty()) parentProperty = parent.nodeAbstractProperty(parent.defaultProperty()); - } else { + else parentProperty = parent.nodeAbstractProperty("data"); - } foreach (FormEditorItem* item, m_itemList) { if (!item || !item->qmlItemNode().isValid()) @@ -415,29 +408,23 @@ void MoveManipulator::moveBy(double deltaX, double deltaY) QmlAnchors anchors(item->qmlItemNode().anchors()); - if (anchors.instanceHasAnchor(AnchorLine::Top)) { + if (anchors.instanceHasAnchor(AnchorLine::Top)) anchors.setMargin(AnchorLine::Top, anchors.instanceMargin(AnchorLine::Top) + deltaY); - } - if (anchors.instanceHasAnchor(AnchorLine::Left)) { + if (anchors.instanceHasAnchor(AnchorLine::Left)) anchors.setMargin(AnchorLine::Left, anchors.instanceMargin(AnchorLine::Left) + deltaX); - } - if (anchors.instanceHasAnchor(AnchorLine::Bottom)) { + if (anchors.instanceHasAnchor(AnchorLine::Bottom)) anchors.setMargin(AnchorLine::Bottom, anchors.instanceMargin(AnchorLine::Bottom) - deltaY); - } - if (anchors.instanceHasAnchor(AnchorLine::Right)) { + if (anchors.instanceHasAnchor(AnchorLine::Right)) anchors.setMargin(AnchorLine::Right, anchors.instanceMargin(AnchorLine::Right) - deltaX); - } - if (anchors.instanceHasAnchor(AnchorLine::HorizontalCenter)) { + if (anchors.instanceHasAnchor(AnchorLine::HorizontalCenter)) anchors.setMargin(AnchorLine::HorizontalCenter, anchors.instanceMargin(AnchorLine::HorizontalCenter) + deltaX); - } - if (anchors.instanceHasAnchor(AnchorLine::VerticalCenter)) { + if (anchors.instanceHasAnchor(AnchorLine::VerticalCenter)) anchors.setMargin(AnchorLine::VerticalCenter, anchors.instanceMargin(AnchorLine::VerticalCenter) + deltaY); - } setPosition(item->qmlItemNode(), QPointF(item->qmlItemNode().instanceValue("x").toDouble() + deltaX, item->qmlItemNode().instanceValue("y").toDouble() + deltaY)); |