From 73a63707b3db844d9adb9a1a897d5bab9b443153 Mon Sep 17 00:00:00 2001 From: Thomas Hartmann Date: Wed, 20 Aug 2014 12:27:46 +0200 Subject: [PATCH] QmlDesigner.NavigatorView: Do not set a position for new items If items are dragged into the navigator we should not set the position to 0,0 expliticly, because this breaks layouts. Change-Id: I6e7cd130390ab68d13904d379a35dc4fa4337231 Reviewed-by: Tim Jenssen --- .../qmldesigner/components/navigator/navigatortreemodel.cpp | 4 ++-- src/plugins/qmldesigner/designercore/model/qmlitemnode.cpp | 6 ++++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/plugins/qmldesigner/components/navigator/navigatortreemodel.cpp b/src/plugins/qmldesigner/components/navigator/navigatortreemodel.cpp index 91b2c657cd8..2adba6ea7e0 100644 --- a/src/plugins/qmldesigner/components/navigator/navigatortreemodel.cpp +++ b/src/plugins/qmldesigner/components/navigator/navigatortreemodel.cpp @@ -718,7 +718,7 @@ void NavigatorTreeModel::handleItemLibraryItemDrop(const QMimeData *mimeData, in if (foundTarget) { ItemLibraryEntry itemLibraryEntry = itemLibraryEntryFromData(mimeData->data("application/vnd.bauhaus.itemlibraryinfo")); - QmlItemNode newQmlItemNode = QmlItemNode::createQmlItemNode(m_view, itemLibraryEntry, QPointF(0., 0.), targetProperty); + QmlItemNode newQmlItemNode = QmlItemNode::createQmlItemNode(m_view, itemLibraryEntry, QPointF(), targetProperty); if (newQmlItemNode.isValid() && targetProperty.isNodeListProperty()) { QList newModelNodeList; @@ -739,7 +739,7 @@ void NavigatorTreeModel::handleItemLibraryImageDrop(const QMimeData *mimeData, i if (foundTarget) { QString imageFileName = QString::fromUtf8(mimeData->data("application/vnd.bauhaus.libraryresource")); - QmlItemNode newQmlItemNode = QmlItemNode::createQmlItemNodeFromImage(m_view, imageFileName, QPointF(0., 0.), targetProperty); + QmlItemNode newQmlItemNode = QmlItemNode::createQmlItemNodeFromImage(m_view, imageFileName, QPointF(), targetProperty); if (newQmlItemNode.isValid()) { QList newModelNodeList; diff --git a/src/plugins/qmldesigner/designercore/model/qmlitemnode.cpp b/src/plugins/qmldesigner/designercore/model/qmlitemnode.cpp index 4242214f1f4..770f86b2a6f 100644 --- a/src/plugins/qmldesigner/designercore/model/qmlitemnode.cpp +++ b/src/plugins/qmldesigner/designercore/model/qmlitemnode.cpp @@ -117,8 +117,10 @@ QmlItemNode QmlItemNode::createQmlItemNode(AbstractView *view, const ItemLibrary QList propertyBindingList; if (itemLibraryEntry.qmlSource().isEmpty()) { QList > propertyPairList; - propertyPairList.append(qMakePair(PropertyName("x"), QVariant(qRound(position.x())))); - propertyPairList.append(qMakePair(PropertyName("y"), QVariant(qRound(position.y())))); + if (!position.isNull()) { + propertyPairList.append(qMakePair(PropertyName("x"), QVariant(qRound(position.x())))); + propertyPairList.append(qMakePair(PropertyName("y"), QVariant(qRound(position.y())))); + } foreach (const PropertyContainer &property, itemLibraryEntry.properties()) { if (property.type() == QStringLiteral("binding")) {