From 04a61fc16bb1b95323c2b1cf37532d12b9aaf1f1 Mon Sep 17 00:00:00 2001 From: Thomas Hartmann Date: Wed, 29 Apr 2020 21:05:02 +0200 Subject: [PATCH] QmlDesigner: Do not update actions while the rewriter is active Change-Id: I9cd3c85fab5bbe93012d4279b701f9759c1a46e4 Reviewed-by: Vikas Pachdha --- .../componentcore/designeractionmanagerview.cpp | 13 +++++++++++++ .../componentcore/designeractionmanagerview.h | 4 ++++ 2 files changed, 17 insertions(+) diff --git a/src/plugins/qmldesigner/components/componentcore/designeractionmanagerview.cpp b/src/plugins/qmldesigner/components/componentcore/designeractionmanagerview.cpp index dc9e10b8077..8a6c06fcdc7 100644 --- a/src/plugins/qmldesigner/components/componentcore/designeractionmanagerview.cpp +++ b/src/plugins/qmldesigner/components/componentcore/designeractionmanagerview.cpp @@ -25,6 +25,8 @@ #include "designeractionmanagerview.h" +#include + #include #include #include @@ -145,6 +147,17 @@ void DesignerActionManagerView::instancePropertyChanged(const QList & /* nodeList */, + const QList & /*data */) +{ + if (identifier == StartRewriterAmend) + m_isInRewriterTransaction = true; + else if (identifier == EndRewriterAmend) + m_isInRewriterTransaction = false; +} + DesignerActionManager &DesignerActionManagerView::designerActionManager() { return m_designerActionManager; diff --git a/src/plugins/qmldesigner/components/componentcore/designeractionmanagerview.h b/src/plugins/qmldesigner/components/componentcore/designeractionmanagerview.h index 5eb0efe5426..a7a34271ea2 100644 --- a/src/plugins/qmldesigner/components/componentcore/designeractionmanagerview.h +++ b/src/plugins/qmldesigner/components/componentcore/designeractionmanagerview.h @@ -71,6 +71,10 @@ public: void emitSelectionChanged(); void setupContext(SelectionContext::UpdateMode updateMode = SelectionContext::UpdateMode::Normal); + void customNotification(const AbstractView *, + const QString &identifier, + const QList &, + const QList &) override; signals: void selectionChanged(bool itemsSelected, bool rootItemIsSelected);