@@ -45,14 +45,23 @@ int QgsAppLegendInterface::addGroup( QString name, bool expand, QTreeWidgetItem*
45
45
return addGroup ( name, expand, -1 );
46
46
}
47
47
48
+ void QgsAppLegendInterface::setExpanded ( QgsLayerTreeNode *node, bool expand )
49
+ {
50
+ QModelIndex idx = mLayerTreeView ->layerTreeModel ()->node2index ( node );
51
+ if ( expand )
52
+ mLayerTreeView ->expand ( idx );
53
+ else
54
+ mLayerTreeView ->collapse ( idx );
55
+ }
56
+
48
57
int QgsAppLegendInterface::addGroup ( QString name, bool expand, int parentIndex )
49
58
{
50
59
QgsLayerTreeGroup* parentGroup = parentIndex == -1 ? mLayerTreeView ->layerTreeModel ()->rootGroup () : groupIndexToNode ( parentIndex );
51
60
if ( !parentGroup )
52
61
return -1 ;
53
62
54
63
QgsLayerTreeGroup* group = parentGroup->addGroup ( name );
55
- group-> setExpanded ( expand );
64
+ setExpanded ( group, expand );
56
65
return groupNodeToIndex ( group );
57
66
}
58
67
@@ -76,7 +85,7 @@ void QgsAppLegendInterface::moveLayer( QgsMapLayer * ml, int groupIndex )
76
85
if ( !nodeLayer || !QgsLayerTree::isGroup ( nodeLayer->parent () ) )
77
86
return ;
78
87
79
- group->addLayer ( ml );
88
+ group->insertLayer ( 0 , ml );
80
89
81
90
QgsLayerTreeGroup* nodeLayerParentGroup = QgsLayerTree::toGroup ( nodeLayer->parent () );
82
91
nodeLayerParentGroup->removeChildNode ( nodeLayer );
@@ -85,7 +94,7 @@ void QgsAppLegendInterface::moveLayer( QgsMapLayer * ml, int groupIndex )
85
94
void QgsAppLegendInterface::setGroupExpanded ( int groupIndex, bool expand )
86
95
{
87
96
if ( QgsLayerTreeGroup* group = groupIndexToNode ( groupIndex ) )
88
- group-> setExpanded ( expand );
97
+ setExpanded ( group, expand );
89
98
}
90
99
91
100
void QgsAppLegendInterface::setGroupVisible ( int groupIndex, bool visible )
@@ -155,7 +164,7 @@ void QgsAppLegendInterface::setLayerVisible( QgsMapLayer * ml, bool visible )
155
164
void QgsAppLegendInterface::setLayerExpanded ( QgsMapLayer * ml, bool expand )
156
165
{
157
166
if ( QgsLayerTreeLayer* nodeLayer = mLayerTreeView ->layerTreeModel ()->rootGroup ()->findLayer ( ml->id () ) )
158
- nodeLayer-> setExpanded ( expand );
167
+ setExpanded ( nodeLayer, expand );
159
168
}
160
169
161
170
static void _collectGroups ( QgsLayerTreeGroup* parentGroup, QStringList& list )
0 commit comments