aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/qmldesigner/components/componentcore/designeractionmanagerview.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/qmldesigner/components/componentcore/designeractionmanagerview.cpp')
-rw-r--r--src/plugins/qmldesigner/components/componentcore/designeractionmanagerview.cpp33
1 files changed, 23 insertions, 10 deletions
diff --git a/src/plugins/qmldesigner/components/componentcore/designeractionmanagerview.cpp b/src/plugins/qmldesigner/components/componentcore/designeractionmanagerview.cpp
index 6876684504..8a6c06fcdc 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 <customnotifications.h>
+
#include <selectioncontext.h>
#include <actioninterface.h>
#include <variantproperty.h>
@@ -53,7 +55,7 @@ void DesignerActionManagerView::modelAboutToBeDetached(Model *model)
void DesignerActionManagerView::nodeCreated(const ModelNode &)
{
- setupContext(SelectionContext::UpdateMode::Fast);
+ setupContext(SelectionContext::UpdateMode::NodeCreated);
}
void DesignerActionManagerView::nodeRemoved(const ModelNode &, const NodeAbstractProperty &, AbstractView::PropertyChangeFlags)
@@ -63,17 +65,17 @@ void DesignerActionManagerView::nodeRemoved(const ModelNode &, const NodeAbstrac
void DesignerActionManagerView::nodeAboutToBeReparented(const ModelNode &, const NodeAbstractProperty &, const NodeAbstractProperty &, AbstractView::PropertyChangeFlags)
{
- setupContext(SelectionContext::UpdateMode::Fast);
+ setupContext(SelectionContext::UpdateMode::NodeHierachy);
}
void DesignerActionManagerView::nodeReparented(const ModelNode &, const NodeAbstractProperty &, const NodeAbstractProperty &, AbstractView::PropertyChangeFlags)
{
- setupContext(SelectionContext::UpdateMode::Fast);
+ setupContext(SelectionContext::UpdateMode::NodeHierachy);
}
void DesignerActionManagerView::propertiesRemoved(const QList<AbstractProperty> &)
{
- setupContext(SelectionContext::UpdateMode::Fast);
+ setupContext(SelectionContext::UpdateMode::Properties);
}
void DesignerActionManagerView::rootNodeTypeChanged(const QString &, int, int)
@@ -112,7 +114,7 @@ void DesignerActionManagerView::selectedNodesChanged(const QList<ModelNode> &sel
void DesignerActionManagerView::nodeOrderChanged(const NodeListProperty &, const ModelNode &, int)
{
- setupContext(SelectionContext::UpdateMode::Fast);
+ setupContext(SelectionContext::UpdateMode::NodeHierachy);
}
void DesignerActionManagerView::importsChanged(const QList<Import> &, const QList<Import> &)
@@ -122,27 +124,38 @@ void DesignerActionManagerView::importsChanged(const QList<Import> &, const QLis
void DesignerActionManagerView::signalHandlerPropertiesChanged(const QVector<SignalHandlerProperty> &, AbstractView::PropertyChangeFlags)
{
- setupContext(SelectionContext::UpdateMode::Fast);
+ setupContext(SelectionContext::UpdateMode::Properties);
}
void DesignerActionManagerView::variantPropertiesChanged(const QList<VariantProperty> &, AbstractView::PropertyChangeFlags propertyChangeFlag)
{
if (propertyChangeFlag == AbstractView::PropertiesAdded)
- setupContext(SelectionContext::UpdateMode::Fast);
+ setupContext(SelectionContext::UpdateMode::Properties);
else if (hasSingleSelectedModelNode())
- setupContext(SelectionContext::UpdateMode::Fast);
+ setupContext(SelectionContext::UpdateMode::Properties);
}
void DesignerActionManagerView::bindingPropertiesChanged(const QList<BindingProperty> &, AbstractView::PropertyChangeFlags propertyChangeFlag)
{
if (propertyChangeFlag == AbstractView::PropertiesAdded)
- setupContext(SelectionContext::UpdateMode::Fast);
+ setupContext(SelectionContext::UpdateMode::Properties);
}
void DesignerActionManagerView::instancePropertyChanged(const QList<QPair<ModelNode, PropertyName> > &)
{
if (hasSingleSelectedModelNode())
- setupContext(SelectionContext::UpdateMode::Fast);
+ 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()