aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Hartmann <thomas.hartmann@qt.io>2020-11-12 16:43:23 +0100
committerThomas Hartmann <thomas.hartmann@qt.io>2020-11-12 15:49:46 +0000
commitc9c56c20994feae2be5f6750e18f6cb5ddb3e42c (patch)
treea2862151d05bb5855ac42475cfc3a1209b1937ed
parent98c735be6e3335fd19a7fbd2a23b7938d69ecfe5 (diff)
QmlDesigner: Duplicate state in transaction
Change-Id: Ib7db0b82f17edc77adfa91869ac9333f9a6be679 Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
-rw-r--r--src/plugins/qmldesigner/components/stateseditor/stateseditorview.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/plugins/qmldesigner/components/stateseditor/stateseditorview.cpp b/src/plugins/qmldesigner/components/stateseditor/stateseditorview.cpp
index 8eebe7211a..126d520d9c 100644
--- a/src/plugins/qmldesigner/components/stateseditor/stateseditorview.cpp
+++ b/src/plugins/qmldesigner/components/stateseditor/stateseditorview.cpp
@@ -231,9 +231,12 @@ void StatesEditorView::duplicateCurrentState()
QStringList stateNames = rootStateGroup().names();
while (stateNames.contains(newName + QString::number(i)))
i++;
+ const QString newStateName = newName + QString::number(i);
- QmlModelState newState = state.duplicate(newName + QString::number(i));
- setCurrentState(newState);
+ executeInTransaction("addState", [this, newStateName, state]() {
+ QmlModelState newState = state.duplicate(newStateName);
+ setCurrentState(newState);
+ });
}
void StatesEditorView::checkForStatesAvailability()