diff --git a/src/plugins/qmldesigner/components/connectioneditor/connectionview.cpp b/src/plugins/qmldesigner/components/connectioneditor/connectionview.cpp index 4884925c0e3..b174cafe6db 100644 --- a/src/plugins/qmldesigner/components/connectioneditor/connectionview.cpp +++ b/src/plugins/qmldesigner/components/connectioneditor/connectionview.cpp @@ -35,6 +35,10 @@ #include #include #include +#include +#include + +#include #include @@ -268,6 +272,25 @@ BackendModel *ConnectionView::backendModel() const return m_backendModel; } +ConnectionView *ConnectionView::instance() +{ + + static ConnectionView *s_instance = nullptr; + + if (s_instance) + return s_instance; + + const auto views = QmlDesignerPlugin::instance()->viewManager().views(); + for (auto *view : views) { + ConnectionView *myView = qobject_cast(view); + if (myView) + s_instance = myView; + } + + QTC_ASSERT(s_instance, return nullptr); + return s_instance; +} + } // namesapce Internal } // namespace QmlDesigner diff --git a/src/plugins/qmldesigner/components/connectioneditor/connectionview.h b/src/plugins/qmldesigner/components/connectioneditor/connectionview.h index fb934ba3855..7bf3064f830 100644 --- a/src/plugins/qmldesigner/components/connectioneditor/connectionview.h +++ b/src/plugins/qmldesigner/components/connectioneditor/connectionview.h @@ -83,13 +83,14 @@ public: QTableView *dynamicPropertiesTableView() const; QTableView *backendView() const; -protected: + DynamicPropertiesModel *dynamicPropertiesModel() const; + ConnectionViewWidget *connectionViewWidget() const; ConnectionModel *connectionModel() const; BindingModel *bindingModel() const; - DynamicPropertiesModel *dynamicPropertiesModel() const; BackendModel *backendModel() const; + static ConnectionView *instance(); private: //variables QPointer m_connectionViewWidget;