diff --git a/src/plugins/qmldesigner/components/integration/designdocument.cpp b/src/plugins/qmldesigner/components/integration/designdocument.cpp index 2b185f2bf0b..f4001ed4dca 100644 --- a/src/plugins/qmldesigner/components/integration/designdocument.cpp +++ b/src/plugins/qmldesigner/components/integration/designdocument.cpp @@ -700,16 +700,20 @@ ModelNode DesignDocument::rootModelNode() const void DesignDocument::undo() { - if (rewriterView() && !rewriterView()->modificationGroupActive()) + if (rewriterView() && !rewriterView()->modificationGroupActive()) { plainTextEdit()->undo(); + rewriterView()->forceAmend(); + } viewManager().resetPropertyEditorView(); } void DesignDocument::redo() { - if (rewriterView() && !rewriterView()->modificationGroupActive()) + if (rewriterView() && !rewriterView()->modificationGroupActive()) { plainTextEdit()->redo(); + rewriterView()->forceAmend(); + } viewManager().resetPropertyEditorView(); } diff --git a/src/plugins/qmldesigner/designercore/include/rewriterview.h b/src/plugins/qmldesigner/designercore/include/rewriterview.h index 56dc01c215d..ea777edce75 100644 --- a/src/plugins/qmldesigner/designercore/include/rewriterview.h +++ b/src/plugins/qmldesigner/designercore/include/rewriterview.h @@ -170,6 +170,8 @@ public: bool possibleImportsEnabled() const; void setPossibleImportsEnabled(bool b); + void forceAmend(); + signals: void modelInterfaceProjectUpdated(); diff --git a/src/plugins/qmldesigner/designercore/model/rewriterview.cpp b/src/plugins/qmldesigner/designercore/model/rewriterview.cpp index 4a9ab62814c..35204204593 100644 --- a/src/plugins/qmldesigner/designercore/model/rewriterview.cpp +++ b/src/plugins/qmldesigner/designercore/model/rewriterview.cpp @@ -703,6 +703,12 @@ void RewriterView::setPossibleImportsEnabled(bool b) m_possibleImportsEnabled = b; } +void RewriterView::forceAmend() +{ + m_amendTimer.stop(); + amendQmlText(); +} + Internal::ModelNodePositionStorage *RewriterView::positionStorage() const { return m_positionStorage.data();