bug572fix.patch

Aaron Racicot -, 2007-11-28 06:30 PM

Download (4.73 KB)

View differences:

src/app/legend/qgslegend.cpp (working copy)
480 480
      }
481 481
      
482 482
    llfile->updateLegendItem();
483
    refreshLayerSymbology(layer->getLayerID());
483
    refreshLayerSymbology(layer->getLayerID(), true);
484 484
    
485 485
    updateMapCanvasLayerSet();
486 486
    
......
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
......
1017 1017
		  }
1018 1018
    
1019 1019
		  theLegendLayerFile->updateLegendItem();
1020
		  refreshLayerSymbology(theMapLayer->getLayerID());
1020
		  refreshLayerSymbology(theMapLayer->getLayerID(), true);
1021 1021
		}
1022 1022
	    }
1023 1023
	  else if(childelem.tagName()=="filegroup")
......
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);
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

  
src/app/qgisappinterface.cpp (working copy)
145 145
{
146 146
  if(l && qgis && qgis->legend())
147 147
    {
148
      qgis->legend()->refreshLayerSymbology( l->getLayerID() );
148
      qgis->legend()->refreshLayerSymbology( l->getLayerID(), true );
149 149
    }
150 150
}