diff options
Diffstat (limited to 'src/plugins/qmldesigner/components/componentcore/designeractionmanagerview.cpp')
-rw-r--r-- | src/plugins/qmldesigner/components/componentcore/designeractionmanagerview.cpp | 33 |
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() |