diff --git a/src/plugins/qmldesigner/designercore/include/model.h b/src/plugins/qmldesigner/designercore/include/model.h index e799907a19043f4f35f8f2037cd9e31d9b33235f..6af6ffacf577a01edd563d07a4346f0b64929244 100644 --- a/src/plugins/qmldesigner/designercore/include/model.h +++ b/src/plugins/qmldesigner/designercore/include/model.h @@ -58,6 +58,7 @@ class NodeAnchors; class AbstractProperty; class RewriterView; class NodeInstanceView; +class TextModifier; typedef QList<QPair<PropertyName, QVariant> > PropertyListType; @@ -107,6 +108,9 @@ public: Model *metaInfoProxyModel(); + TextModifier *textModifier() const; + void setTextModifier(TextModifier *textModifier); + protected: Model(); diff --git a/src/plugins/qmldesigner/designercore/model/model.cpp b/src/plugins/qmldesigner/designercore/model/model.cpp index b35d0a5e2d18709bbdc43efc089ea1c9ac2f25a3..660855bc99f654b824e62a921454b64877b81d29 100644 --- a/src/plugins/qmldesigner/designercore/model/model.cpp +++ b/src/plugins/qmldesigner/designercore/model/model.cpp @@ -57,6 +57,7 @@ #include "rewriterview.h" #include "rewritingexception.h" #include "invalididexception.h" +#include "textmodifier.h" /*! \defgroup CoreModel @@ -1798,6 +1799,16 @@ Model *Model::metaInfoProxyModel() return this; } +TextModifier *Model::textModifier() const +{ + return d->m_textModifier.data(); +} + +void Model::setTextModifier(TextModifier *textModifier) +{ + d->m_textModifier = textModifier; +} + #if 0 /*! \brief Creates a new empty model diff --git a/src/plugins/qmldesigner/designercore/model/model_p.h b/src/plugins/qmldesigner/designercore/model/model_p.h index ae0f156eb56af4586dd18201e897546af6513f1e..0b797a419c601d0ae06c1d6dd40a73232570ad56 100644 --- a/src/plugins/qmldesigner/designercore/model/model_p.h +++ b/src/plugins/qmldesigner/designercore/model/model_p.h @@ -246,6 +246,7 @@ private: QUrl m_fileUrl; QWeakPointer<RewriterView> m_rewriterView; QWeakPointer<NodeInstanceView> m_nodeInstanceView; + QWeakPointer<TextModifier> m_textModifier; QWeakPointer<Model> m_metaInfoProxyModel; bool m_writeLock; qint32 m_internalIdCounter; diff --git a/src/plugins/qmldesigner/designercore/model/rewriterview.cpp b/src/plugins/qmldesigner/designercore/model/rewriterview.cpp index 5e84c216fbdac42b445ac2928fd5178483f7db55..7d113c3f4dc749bcfaf2bd44221773d478e25bd9 100644 --- a/src/plugins/qmldesigner/designercore/model/rewriterview.cpp +++ b/src/plugins/qmldesigner/designercore/model/rewriterview.cpp @@ -149,6 +149,9 @@ Internal::TextToModelMerger *RewriterView::textToModelMerger() const void RewriterView::modelAttached(Model *model) { + if (model && model->textModifier()) + setTextModifier(model->textModifier()); + AbstractView::modelAttached(model); ModelAmender differenceHandler(m_textToModelMerger.data());