QmlDesigner: Do not update actions while the rewriter is active

Change-Id: I9cd3c85fab5bbe93012d4279b701f9759c1a46e4
Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io>
This commit is contained in:
Thomas Hartmann
2020-04-29 21:05:02 +02:00
parent f1f7b33959
commit 04a61fc16b
2 changed files with 17 additions and 0 deletions

View File

@@ -25,6 +25,8 @@
#include "designeractionmanagerview.h" #include "designeractionmanagerview.h"
#include <customnotifications.h>
#include <selectioncontext.h> #include <selectioncontext.h>
#include <actioninterface.h> #include <actioninterface.h>
#include <variantproperty.h> #include <variantproperty.h>
@@ -145,6 +147,17 @@ void DesignerActionManagerView::instancePropertyChanged(const QList<QPair<ModelN
setupContext(SelectionContext::UpdateMode::Properties); setupContext(SelectionContext::UpdateMode::Properties);
} }
void DesignerActionManagerView::customNotification(const AbstractView * /*view*/,
const QString &identifier,
const QList<ModelNode> & /* nodeList */,
const QList<QVariant> & /*data */)
{
if (identifier == StartRewriterAmend)
m_isInRewriterTransaction = true;
else if (identifier == EndRewriterAmend)
m_isInRewriterTransaction = false;
}
DesignerActionManager &DesignerActionManagerView::designerActionManager() DesignerActionManager &DesignerActionManagerView::designerActionManager()
{ {
return m_designerActionManager; return m_designerActionManager;

View File

@@ -71,6 +71,10 @@ public:
void emitSelectionChanged(); void emitSelectionChanged();
void setupContext(SelectionContext::UpdateMode updateMode = SelectionContext::UpdateMode::Normal); void setupContext(SelectionContext::UpdateMode updateMode = SelectionContext::UpdateMode::Normal);
void customNotification(const AbstractView *,
const QString &identifier,
const QList<ModelNode> &,
const QList<QVariant> &) override;
signals: signals:
void selectionChanged(bool itemsSelected, bool rootItemIsSelected); void selectionChanged(bool itemsSelected, bool rootItemIsSelected);