From 6be16322123df2f21febe320d04b4804f3e6cdcc Mon Sep 17 00:00:00 2001 From: Thomas Hartmann Date: Tue, 11 Dec 2018 14:35:40 +0100 Subject: [PATCH] QmlDesigner: Set text editor to modified if auxiliaryData is changed The auxiliaryData is stored in a meta comment when saving. Therefore the document is modified, once an auxiliaryData is changed. Change-Id: If27015b7904754bab4e5d4d50939d3d55469cc6b Reviewed-by: Knud Dollereder Reviewed-by: Tim Jenssen --- .../qmldesigner/designercore/include/rewriterview.h | 2 ++ .../qmldesigner/designercore/model/rewriterview.cpp | 11 +++++++++++ 2 files changed, 13 insertions(+) diff --git a/src/plugins/qmldesigner/designercore/include/rewriterview.h b/src/plugins/qmldesigner/designercore/include/rewriterview.h index 51e88892ac5..fa2147f9b69 100644 --- a/src/plugins/qmldesigner/designercore/include/rewriterview.h +++ b/src/plugins/qmldesigner/designercore/include/rewriterview.h @@ -109,6 +109,8 @@ public: void reactivateTextMofifierChangeSignals(); void deactivateTextMofifierChangeSignals(); + void auxiliaryDataChanged(const ModelNode &node, const PropertyName &name, const QVariant &data) override; + Internal::ModelNodePositionStorage *positionStorage() const; QList warnings() const; diff --git a/src/plugins/qmldesigner/designercore/model/rewriterview.cpp b/src/plugins/qmldesigner/designercore/model/rewriterview.cpp index 80d9d374843..72f8ff1e3a7 100644 --- a/src/plugins/qmldesigner/designercore/model/rewriterview.cpp +++ b/src/plugins/qmldesigner/designercore/model/rewriterview.cpp @@ -387,6 +387,17 @@ void RewriterView::deactivateTextMofifierChangeSignals() textModifier()->deactivateChangeSignals(); } +void RewriterView::auxiliaryDataChanged(const ModelNode &, const PropertyName &name, const QVariant &) +{ + if (name.endsWith("@NodeInstance")) + return; + + if (name.endsWith("@Internal")) + return; + + m_textModifier->textDocument()->setModified(true); +} + void RewriterView::applyModificationGroupChanges() { Q_ASSERT(transactionLevel == 0);