Index: src/app/legend/qgslegend.cpp =================================================================== --- src/app/legend/qgslegend.cpp (revision 7680) +++ src/app/legend/qgslegend.cpp (working copy) @@ -650,7 +650,7 @@ else { rlp = new QgsRasterLayerProperties(ml); - connect(rlp, SIGNAL(refreshLegend(QString)), this, SLOT(refreshLayerSymbology(QString))); + connect(rlp, SIGNAL(refreshLegend(QString,bool)), this, SLOT(refreshLayerSymbology(QString,bool))); } rlp->exec(); delete rlp; // delete since dialog cannot be reused without updating code @@ -667,7 +667,7 @@ else { vlp = new QgsVectorLayerProperties(vlayer); - connect(vlp, SIGNAL(refreshLegend(QString)), this, SLOT(refreshLayerSymbology(QString))); + connect(vlp, SIGNAL(refreshLegend(QString,bool)), this, SLOT(refreshLayerSymbology(QString,bool))); } vlp->exec(); delete vlp; // delete since dialog cannot be reused without updating code @@ -1405,7 +1405,7 @@ } -void QgsLegend::refreshLayerSymbology(QString key) +void QgsLegend::refreshLayerSymbology(QString key, bool expandItem) { QgsLegendLayer* theLegendLayer = findLegendLayer(key); if(!theLegendLayer) @@ -1421,7 +1421,10 @@ //restore the current item again setCurrentItem(theCurrentItem); adjustIconSize(); - setItemExpanded(theLegendLayer, true);//make sure the symbology items are visible + if (expandItem) + { + setItemExpanded(theLegendLayer, true);//make sure the symbology items are visible + } } Index: src/app/legend/qgslegend.h =================================================================== --- src/app/legend/qgslegend.h (revision 7680) +++ src/app/legend/qgslegend.h (working copy) @@ -188,7 +188,7 @@ void setMapCanvas(QgsMapCanvas * canvas){mMapCanvas = canvas;} /**Updates symbology items for a layer*/ - void refreshLayerSymbology(QString key); + void refreshLayerSymbology(QString key, bool expandItem = true); /*! * Slot called to clear the tree of all items Index: src/app/qgsrasterlayerproperties.h =================================================================== --- src/app/qgsrasterlayerproperties.h (revision 7680) +++ src/app/qgsrasterlayerproperties.h (working copy) @@ -64,7 +64,7 @@ signals: /** emitted when changes to layer were saved to update legend */ - void refreshLegend(QString layerID); + void refreshLegend(QString layerID, bool expandItem); private: Index: src/app/qgsvectorlayerproperties.h =================================================================== --- src/app/qgsvectorlayerproperties.h (revision 7680) +++ src/app/qgsvectorlayerproperties.h (working copy) @@ -67,7 +67,7 @@ signals: /** emitted when changes to layer were saved to update legend */ - void refreshLegend(QString layerID); + void refreshLegend(QString layerID, bool expandItem); protected: QgsVectorLayer *layer; Index: src/app/qgsrasterlayerproperties.cpp =================================================================== --- src/app/qgsrasterlayerproperties.cpp (revision 7680) +++ src/app/qgsrasterlayerproperties.cpp (working copy) @@ -431,7 +431,7 @@ pixmapThumbnail->setPixmap(myQPixmap); // update symbology - emit refreshLegend(rasterLayer->getLayerID()); + emit refreshLegend(rasterLayer->getLayerID(), false); //make sure the layer is redrawn rasterLayer->triggerRepaint(); Index: src/app/qgsvectorlayerproperties.cpp =================================================================== --- src/app/qgsvectorlayerproperties.cpp (revision 7680) +++ src/app/qgsvectorlayerproperties.cpp (working copy) @@ -312,7 +312,7 @@ layer->setTransparency(static_cast < unsigned int >(255 - sliderTransparency->value())); // update symbology - emit refreshLegend(layer->getLayerID()); + emit refreshLegend(layer->getLayerID(), false); layer->triggerRepaint();