forked from qt-creator/qt-creator
QmlDesigner: Use single transaction to move items into a layout
Change-Id: Ic8eb3907d06843e7ad0d7b0117154b0b7a987808 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
This commit is contained in:
@@ -475,19 +475,16 @@ static void layoutHelperFunction(const SelectionContext &selectionContext,
|
|||||||
const QmlItemNode qmlItemNode = QmlItemNode(selectionContext.firstSelectedModelNode());
|
const QmlItemNode qmlItemNode = QmlItemNode(selectionContext.firstSelectedModelNode());
|
||||||
|
|
||||||
if (qmlItemNode.hasInstanceParentItem()) {
|
if (qmlItemNode.hasInstanceParentItem()) {
|
||||||
ModelNode layoutNode;
|
|
||||||
selectionContext.view()->executeInTransaction("DesignerActionManager|layoutHelperFunction1",[=, &layoutNode](){
|
selectionContext.view()->executeInTransaction("DesignerActionManager|layoutHelperFunction",[=](){
|
||||||
|
|
||||||
QmlItemNode parentNode = qmlItemNode.instanceParentItem();
|
QmlItemNode parentNode = qmlItemNode.instanceParentItem();
|
||||||
|
|
||||||
NodeMetaInfo metaInfo = selectionContext.view()->model()->metaInfo(layoutType);
|
NodeMetaInfo metaInfo = selectionContext.view()->model()->metaInfo(layoutType);
|
||||||
|
|
||||||
layoutNode = selectionContext.view()->createModelNode(layoutType, metaInfo.majorVersion(), metaInfo.minorVersion());
|
const ModelNode layoutNode = selectionContext.view()->createModelNode(layoutType, metaInfo.majorVersion(), metaInfo.minorVersion());
|
||||||
|
|
||||||
reparentTo(layoutNode, parentNode);
|
reparentTo(layoutNode, parentNode);
|
||||||
});
|
|
||||||
|
|
||||||
selectionContext.view()->executeInTransaction("DesignerActionManager|layoutHelperFunction2",[=](){
|
|
||||||
|
|
||||||
QList<ModelNode> sortedSelectedNodes = selectionContext.selectedModelNodes();
|
QList<ModelNode> sortedSelectedNodes = selectionContext.selectedModelNodes();
|
||||||
Utils::sort(sortedSelectedNodes, lessThan);
|
Utils::sort(sortedSelectedNodes, lessThan);
|
||||||
|
Reference in New Issue
Block a user