forked from qt-creator/qt-creator
Deleting/pasting multiple items at once are now one Undo/Redo action
Task-number: BAUHAUS-368
This commit is contained in:
@@ -531,6 +531,7 @@ void DesignDocumentController::deleteSelected()
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
if (m_d->formEditorView) {
|
if (m_d->formEditorView) {
|
||||||
|
RewriterTransaction transaction(m_d->formEditorView.data());
|
||||||
QList<ModelNode> toDelete = m_d->formEditorView->selectedModelNodes();
|
QList<ModelNode> toDelete = m_d->formEditorView->selectedModelNodes();
|
||||||
foreach (ModelNode node, toDelete) {
|
foreach (ModelNode node, toDelete) {
|
||||||
if (node.isValid() && !node.isRootNode() && QmlObjectNode(node).isValid())
|
if (node.isValid() && !node.isRootNode() && QmlObjectNode(node).isValid())
|
||||||
@@ -649,6 +650,8 @@ void DesignDocumentController::paste()
|
|||||||
|
|
||||||
QList<ModelNode> pastedNodeList;
|
QList<ModelNode> pastedNodeList;
|
||||||
|
|
||||||
|
RewriterTransaction transaction(m_d->formEditorView.data());
|
||||||
|
|
||||||
foreach (const ModelNode &node, selectedNodes) {
|
foreach (const ModelNode &node, selectedNodes) {
|
||||||
QString defaultProperty(targetNode.metaInfo().defaultProperty());
|
QString defaultProperty(targetNode.metaInfo().defaultProperty());
|
||||||
ModelNode pastedNode(view.insertModel(node));
|
ModelNode pastedNode(view.insertModel(node));
|
||||||
@@ -658,6 +661,8 @@ void DesignDocumentController::paste()
|
|||||||
|
|
||||||
view.setSelectedModelNodes(pastedNodeList);
|
view.setSelectedModelNodes(pastedNodeList);
|
||||||
} else {
|
} else {
|
||||||
|
RewriterTransaction transaction(m_d->formEditorView.data());
|
||||||
|
|
||||||
model->detachView(&view);
|
model->detachView(&view);
|
||||||
m_d->model->attachView(&view);
|
m_d->model->attachView(&view);
|
||||||
ModelNode pastedNode(view.insertModel(rootNode));
|
ModelNode pastedNode(view.insertModel(rootNode));
|
||||||
|
|||||||
Reference in New Issue
Block a user