QmlDesigner: Fix reversed order on Navigator drop

Task-number: QDS-2910
Change-Id: Iab58b79b6f3cdb3f922824a7f608b633b019c9ae
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
This commit is contained in:
Henning Gruendl
2020-10-16 11:32:21 +02:00
committed by Henning Gründl
parent 4d39f2736f
commit 9f6eb972b7

View File

@@ -770,7 +770,8 @@ void NavigatorTreeModel::moveNodesInteractive(NodeAbstractProperty &parentProper
auto doMoveNodesInteractive = [&parentProperty, modelNodes, targetIndex](){ auto doMoveNodesInteractive = [&parentProperty, modelNodes, targetIndex](){
const TypeName propertyQmlType = parentProperty.parentModelNode().metaInfo().propertyTypeName(parentProperty.name()); const TypeName propertyQmlType = parentProperty.parentModelNode().metaInfo().propertyTypeName(parentProperty.name());
foreach (const ModelNode &modelNode, modelNodes) { int idx = targetIndex;
for (const ModelNode &modelNode : modelNodes) {
if (modelNode.isValid() if (modelNode.isValid()
&& modelNode != parentProperty.parentModelNode() && modelNode != parentProperty.parentModelNode()
&& !modelNode.isAncestorOf(parentProperty.parentModelNode()) && !modelNode.isAncestorOf(parentProperty.parentModelNode())
@@ -779,10 +780,9 @@ void NavigatorTreeModel::moveNodesInteractive(NodeAbstractProperty &parentProper
//once the MetaInfo is part of instances we can do this right //once the MetaInfo is part of instances we can do this right
bool nodeCanBeMovedToParentProperty = removeModelNodeFromNodeProperty(parentProperty, modelNode); bool nodeCanBeMovedToParentProperty = removeModelNodeFromNodeProperty(parentProperty, modelNode);
if (nodeCanBeMovedToParentProperty) { if (nodeCanBeMovedToParentProperty) {
reparentModelNodeToNodeProperty(parentProperty, modelNode); reparentModelNodeToNodeProperty(parentProperty, modelNode);
slideModelNodeInList(parentProperty, modelNode, targetIndex); slideModelNodeInList(parentProperty, modelNode, idx++);
} }
} }
} }