diff --git a/src/plugins/qmldesigner/designercore/include/rewriterview.h b/src/plugins/qmldesigner/designercore/include/rewriterview.h index f71b1a42510..c867b9a67d8 100644 --- a/src/plugins/qmldesigner/designercore/include/rewriterview.h +++ b/src/plugins/qmldesigner/designercore/include/rewriterview.h @@ -174,6 +174,9 @@ public: ModelNode getNodeForCanonicalIndex(int index); +signals: + void modelInterfaceProjectUpdated(); + protected: // functions void importAdded(const Import &import); void importRemoved(const Import &import); @@ -191,6 +194,7 @@ private: //variables ModelNode nodeAtTextCursorPositionHelper(const ModelNode &root, int cursorPosition) const; void setupCanonicalHashes() const; void handleLibraryInfoUpdate(); + void handleProjectUpdate(); TextModifier *m_textModifier = nullptr; int transactionLevel = 0; diff --git a/src/plugins/qmldesigner/designercore/model/rewriterview.cpp b/src/plugins/qmldesigner/designercore/model/rewriterview.cpp index 44726c23e00..85e41d3b7e5 100644 --- a/src/plugins/qmldesigner/designercore/model/rewriterview.cpp +++ b/src/plugins/qmldesigner/designercore/model/rewriterview.cpp @@ -91,6 +91,10 @@ RewriterView::RewriterView(DifferenceHandling differenceHandling, QObject *paren QmlJS::ModelManagerInterface *modelManager = QmlJS::ModelManagerInterface::instance(); connect(modelManager, &QmlJS::ModelManagerInterface::libraryInfoUpdated, this, &RewriterView::handleLibraryInfoUpdate, Qt::QueuedConnection); + connect(modelManager, &QmlJS::ModelManagerInterface::projectInfoUpdated, + this, &RewriterView::handleProjectUpdate, Qt::DirectConnection); + connect(this, &RewriterView::modelInterfaceProjectUpdated, + this, &RewriterView::handleLibraryInfoUpdate, Qt::QueuedConnection); } RewriterView::~RewriterView() = default; @@ -832,6 +836,11 @@ void RewriterView::handleLibraryInfoUpdate() m_amendTimer.start(); } +void RewriterView::handleProjectUpdate() +{ + emit modelInterfaceProjectUpdated(); +} + ModelNode RewriterView::nodeAtTextCursorPosition(int cursorPosition) const { return nodeAtTextCursorPositionHelper(rootModelNode(), cursorPosition);