diff --git a/src/plugins/qmldesigner/designercore/include/qmlobjectnode.h b/src/plugins/qmldesigner/designercore/include/qmlobjectnode.h index a37dbe77532..63e36e22f12 100644 --- a/src/plugins/qmldesigner/designercore/include/qmlobjectnode.h +++ b/src/plugins/qmldesigner/designercore/include/qmlobjectnode.h @@ -140,6 +140,8 @@ public: QList allTimelines() const; + QList getAllConnections() const; + protected: NodeInstance nodeInstance() const; QmlObjectNode nodeForInstance(const NodeInstance &instance) const; diff --git a/src/plugins/qmldesigner/designercore/model/qmlobjectnode.cpp b/src/plugins/qmldesigner/designercore/model/qmlobjectnode.cpp index 9925af902a7..64a562c0296 100644 --- a/src/plugins/qmldesigner/designercore/model/qmlobjectnode.cpp +++ b/src/plugins/qmldesigner/designercore/model/qmlobjectnode.cpp @@ -45,6 +45,7 @@ #include #endif +#include #include #include @@ -608,6 +609,18 @@ QList QmlObjectNode::allTimelines() const return timelineNodes; } +QList QmlObjectNode::getAllConnections() const +{ + if (!isValid()) + return {}; + + auto list = view()->allModelNodesOfType("QtQuick.Connections"); + return Utils::filtered(list, [this](const ModelNode &connection) { + return connection.hasBindingProperty("target") + && connection.bindingProperty("target").resolveToModelNode() == modelNode(); + }); +} + /*! Removes a variant property of the object specified by \a name from the model.