bug572fix_take2.patch
src/app/legend/qgslegend.cpp (working copy) | ||
---|---|---|
650 | 650 |
else |
651 | 651 |
{ |
652 | 652 |
rlp = new QgsRasterLayerProperties(ml); |
653 |
connect(rlp, SIGNAL(refreshLegend(QString)), this, SLOT(refreshLayerSymbology(QString)));
|
|
653 |
connect(rlp, SIGNAL(refreshLegend(QString,bool)), this, SLOT(refreshLayerSymbology(QString,bool)));
|
|
654 | 654 |
} |
655 | 655 |
rlp->exec(); |
656 | 656 |
delete rlp; // delete since dialog cannot be reused without updating code |
... | ... | |
667 | 667 |
else |
668 | 668 |
{ |
669 | 669 |
vlp = new QgsVectorLayerProperties(vlayer); |
670 |
connect(vlp, SIGNAL(refreshLegend(QString)), this, SLOT(refreshLayerSymbology(QString)));
|
|
670 |
connect(vlp, SIGNAL(refreshLegend(QString,bool)), this, SLOT(refreshLayerSymbology(QString,bool)));
|
|
671 | 671 |
} |
672 | 672 |
vlp->exec(); |
673 | 673 |
delete vlp; // delete since dialog cannot be reused without updating code |
... | ... | |
1405 | 1405 |
} |
1406 | 1406 | |
1407 | 1407 | |
1408 |
void QgsLegend::refreshLayerSymbology(QString key) |
|
1408 |
void QgsLegend::refreshLayerSymbology(QString key, bool expandItem)
|
|
1409 | 1409 |
{ |
1410 | 1410 |
QgsLegendLayer* theLegendLayer = findLegendLayer(key); |
1411 | 1411 |
if(!theLegendLayer) |
... | ... | |
1421 | 1421 |
//restore the current item again |
1422 | 1422 |
setCurrentItem(theCurrentItem); |
1423 | 1423 |
adjustIconSize(); |
1424 |
setItemExpanded(theLegendLayer, true);//make sure the symbology items are visible |
|
1424 |
if (expandItem) |
|
1425 |
{ |
|
1426 |
setItemExpanded(theLegendLayer, true);//make sure the symbology items are visible |
|
1427 |
} |
|
1425 | 1428 |
} |
1426 | 1429 | |
1427 | 1430 |
src/app/legend/qgslegend.h (working copy) | ||
---|---|---|
188 | 188 |
void setMapCanvas(QgsMapCanvas * canvas){mMapCanvas = canvas;} |
189 | 189 | |
190 | 190 |
/**Updates symbology items for a layer*/ |
191 |
void refreshLayerSymbology(QString key); |
|
191 |
void refreshLayerSymbology(QString key, bool expandItem = true);
|
|
192 | 192 |
|
193 | 193 |
/*! |
194 | 194 |
* Slot called to clear the tree of all items |
src/app/qgsrasterlayerproperties.h (working copy) | ||
---|---|---|
64 | 64 |
signals: |
65 | 65 |
|
66 | 66 |
/** emitted when changes to layer were saved to update legend */ |
67 |
void refreshLegend(QString layerID); |
|
67 |
void refreshLegend(QString layerID, bool expandItem);
|
|
68 | 68 | |
69 | 69 | |
70 | 70 |
private: |
src/app/qgsvectorlayerproperties.h (working copy) | ||
---|---|---|
67 | 67 |
signals: |
68 | 68 |
|
69 | 69 |
/** emitted when changes to layer were saved to update legend */ |
70 |
void refreshLegend(QString layerID); |
|
70 |
void refreshLegend(QString layerID, bool expandItem);
|
|
71 | 71 | |
72 | 72 |
protected: |
73 | 73 |
QgsVectorLayer *layer; |
src/app/qgsrasterlayerproperties.cpp (working copy) | ||
---|---|---|
431 | 431 |
pixmapThumbnail->setPixmap(myQPixmap); |
432 | 432 |
|
433 | 433 |
// update symbology |
434 |
emit refreshLegend(rasterLayer->getLayerID()); |
|
434 |
emit refreshLegend(rasterLayer->getLayerID(), false);
|
|
435 | 435 |
|
436 | 436 |
//make sure the layer is redrawn |
437 | 437 |
rasterLayer->triggerRepaint(); |
src/app/qgsvectorlayerproperties.cpp (working copy) | ||
---|---|---|
312 | 312 |
layer->setTransparency(static_cast < unsigned int >(255 - sliderTransparency->value())); |
313 | 313 |
|
314 | 314 |
// update symbology |
315 |
emit refreshLegend(layer->getLayerID()); |
|
315 |
emit refreshLegend(layer->getLayerID(), false);
|
|
316 | 316 |
|
317 | 317 |
layer->triggerRepaint(); |
318 | 318 |