Skip to content

Commit b3ef029

Browse files
committed
Also show embedded indicators for groups
1 parent 0930718 commit b3ef029

File tree

1 file changed

+15
-3
lines changed

1 file changed

+15
-3
lines changed

src/app/qgslayertreeviewembeddedindicator.cpp

+15-3
Original file line numberDiff line numberDiff line change
@@ -41,11 +41,14 @@ void QgsLayerTreeViewEmbeddedIndicatorProvider::onAddedChildren( QgsLayerTreeNod
4141
if ( QgsLayerTree::isGroup( childNode ) )
4242
{
4343
onAddedChildren( childNode, 0, childNode->children().count() - 1 );
44+
if ( childNode->customProperty( QStringLiteral( "embedded" ) ).toInt() )
45+
{
46+
addIndicatorForEmbeddedLayer( childNode );
47+
}
4448
}
4549
else if ( QgsLayerTree::isLayer( childNode ) && childNode->customProperty( QStringLiteral( "embedded" ) ).toInt() )
4650
{
47-
QgsLayerTreeLayer *childLayerNode = QgsLayerTree::toLayer( childNode );
48-
addIndicatorForEmbeddedLayer( childLayerNode );
51+
addIndicatorForEmbeddedLayer( childNode );
4952
}
5053
}
5154
}
@@ -61,6 +64,15 @@ QgsLayerTreeViewIndicator *QgsLayerTreeViewEmbeddedIndicatorProvider::newIndicat
6164

6265
void QgsLayerTreeViewEmbeddedIndicatorProvider::addIndicatorForEmbeddedLayer( QgsLayerTreeNode *node )
6366
{
67+
QString project = node->customProperty( QStringLiteral( "embedded_project" ) ).toString();
68+
QgsLayerTreeNode *nextNode = node;
69+
while ( project.isEmpty() && nextNode )
70+
{
71+
nextNode = nextNode->parent();
72+
if ( nextNode )
73+
project = nextNode->customProperty( QStringLiteral( "embedded_project" ) ).toString();
74+
}
75+
6476
const QList<QgsLayerTreeViewIndicator *> nodeIndicators = mLayerTreeView->indicators( node );
6577

6678
// maybe the indicator exists already
@@ -73,5 +85,5 @@ void QgsLayerTreeViewEmbeddedIndicatorProvider::addIndicatorForEmbeddedLayer( Qg
7385
}
7486

7587
// it does not exist: need to create a new one
76-
mLayerTreeView->addIndicator( node, newIndicator( node->customProperty( QStringLiteral( "embedded_project" ) ).toString() ) );
88+
mLayerTreeView->addIndicator( node, newIndicator( project ) );
7789
}

0 commit comments

Comments
 (0)