bug572fix_take2.patch

Aaron Racicot -, 2007-11-29 12:23 AM

Download (3.88 KB)

View differences:

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