diff --git a/src/plugins/qmldesigner/components/navigator/navigatortreemodel.cpp b/src/plugins/qmldesigner/components/navigator/navigatortreemodel.cpp index ab1b8822879e3e48f0ffc56b9403bb48eed28a05..c9af54085003d934464190d168f87a3a541f867e 100644 --- a/src/plugins/qmldesigner/components/navigator/navigatortreemodel.cpp +++ b/src/plugins/qmldesigner/components/navigator/navigatortreemodel.cpp @@ -414,6 +414,17 @@ ModelNode NavigatorTreeModel::nodeForIndex(const QModelIndex &index) const return m_view->modelNodeForInternalId(internalId); } +bool NavigatorTreeModel::hasNodeForIndex(const QModelIndex &index) const +{ + QVariant internalIdVaraint = index.data(InternalIdRole); + if (internalIdVaraint.isValid()) { + qint32 internalId = internalIdVaraint.toInt(); + return m_view->hasModelNodeForInternalId(internalId); + } + + return false; +} + bool NavigatorTreeModel::isInTree(const ModelNode &node) const { return m_nodeItemHash.contains(node); diff --git a/src/plugins/qmldesigner/components/navigator/navigatortreemodel.h b/src/plugins/qmldesigner/components/navigator/navigatortreemodel.h index 7183beefd618b4d07a2432ddd320f43643a36efa..13159b7ea5ebcef625d0d251b4abf441edaf1abe 100644 --- a/src/plugins/qmldesigner/components/navigator/navigatortreemodel.h +++ b/src/plugins/qmldesigner/components/navigator/navigatortreemodel.h @@ -102,6 +102,7 @@ public: QModelIndex indexForNode(const ModelNode &node) const; ModelNode nodeForIndex(const QModelIndex &index) const; + bool hasNodeForIndex(const QModelIndex &index) const; bool isInTree(const ModelNode &node) const; bool isNodeInvisible(const QModelIndex &index) const;