@@ -511,14 +511,11 @@ void QgsLegend::addLayer( QgsMapLayer * layer )
511
511
blockSignals (false );
512
512
513
513
layer->setLegend (this );
514
- // QgsLegendPropertyGroup * lpgroup = new QgsLegendPropertyGroup(llayer,QString("Properties"));
515
514
layer->setLegendLayerFile (llfile);
516
515
layer->initContextMenu (mApp );
517
-
518
516
insertTopLevelItem (0 , llayer);
519
-
520
- setExpanded (indexFromItem (llayer), true );
521
- setExpanded (indexFromItem (llfgroup), false );
517
+ setItemExpanded (llayer, true );
518
+ setItemExpanded (llfgroup, false );
522
519
// only if qsetting for 'legend layer file visible' is not set
523
520
if (!mShowLegendLayerFiles )
524
521
{
@@ -530,8 +527,10 @@ void QgsLegend::addLayer( QgsMapLayer * layer )
530
527
// first layer?
531
528
if (mMapCanvas ->layerCount () == 1 )
532
529
mMapCanvas ->zoomFullExtent ();
533
-
534
530
setCurrentItem (llayer);
531
+ // make the QTreeWidget item up-to-date
532
+ doItemsLayout ();
533
+ layer->refreshLegend ();
535
534
}
536
535
537
536
QgsMapLayer* QgsLegend::currentLayer ()
@@ -1384,7 +1383,7 @@ void QgsLegend::changeSymbologySettings(const QString& key, const std::list< std
1384
1383
// restore the current item again
1385
1384
setCurrentItem (theCurrentItem);
1386
1385
adjustIconSize ();
1387
- setExpanded ( indexFromItem ( theLegendLayer) , true );// make sure the symbology items are visible
1386
+ setItemExpanded ( theLegendLayer, true );// make sure the symbology items are visible
1388
1387
}
1389
1388
1390
1389
void QgsLegend::addPixmapWidthValue (int width)
0 commit comments