From ecbb54811ccbf0e1c79a737c70ddbf37a2c15aa9 Mon Sep 17 00:00:00 2001
From: Kai Koehne <kai.koehne@nokia.com>
Date: Thu, 11 Feb 2010 12:24:21 +0100
Subject: [PATCH] Deleting/pasting multiple items at once are now one Undo/Redo
 action

Task-number: BAUHAUS-368
---
 .../components/integration/designdocumentcontroller.cpp      | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/src/plugins/qmldesigner/components/integration/designdocumentcontroller.cpp b/src/plugins/qmldesigner/components/integration/designdocumentcontroller.cpp
index 87b65ed8506..ac65c0a00cf 100644
--- a/src/plugins/qmldesigner/components/integration/designdocumentcontroller.cpp
+++ b/src/plugins/qmldesigner/components/integration/designdocumentcontroller.cpp
@@ -531,6 +531,7 @@ void DesignDocumentController::deleteSelected()
         return;
 
     if (m_d->formEditorView) {
+        RewriterTransaction transaction(m_d->formEditorView.data());
         QList<ModelNode> toDelete = m_d->formEditorView->selectedModelNodes();
         foreach (ModelNode node, toDelete) {
             if (node.isValid() && !node.isRootNode() && QmlObjectNode(node).isValid())
@@ -649,6 +650,8 @@ void DesignDocumentController::paste()
 
         QList<ModelNode> pastedNodeList;
 
+        RewriterTransaction transaction(m_d->formEditorView.data());
+
         foreach (const ModelNode &node, selectedNodes) {
             QString defaultProperty(targetNode.metaInfo().defaultProperty());
             ModelNode pastedNode(view.insertModel(node));
@@ -658,6 +661,8 @@ void DesignDocumentController::paste()
 
         view.setSelectedModelNodes(pastedNodeList);
     } else {
+        RewriterTransaction transaction(m_d->formEditorView.data());
+
         model->detachView(&view);
         m_d->model->attachView(&view);
         ModelNode pastedNode(view.insertModel(rootNode));
-- 
GitLab