Skip to content

Commit a02f0c7

Browse files
author
wonder
committed
Save symbol levels state - fix for #2161
git-svn-id: http://svn.osgeo.org/qgis/trunk@12361 c8812cc2-4d05-0410-92ff-de0c093fc19c
1 parent ceb9e5e commit a02f0c7

File tree

5 files changed

+11
-1
lines changed

5 files changed

+11
-1
lines changed

src/core/symbology-ng/qgscategorizedsymbolrendererv2.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -291,6 +291,7 @@ QDomElement QgsCategorizedSymbolRendererV2::save( QDomDocument& doc )
291291
{
292292
QDomElement rendererElem = doc.createElement( RENDERER_TAG_NAME );
293293
rendererElem.setAttribute( "type", "categorizedSymbol" );
294+
rendererElem.setAttribute( "symbollevels", ( mUsingSymbolLevels ? "1" : "0" ) );
294295
rendererElem.setAttribute( "attr", mAttrName );
295296

296297
// categories

src/core/symbology-ng/qgsgraduatedsymbolrendererv2.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -400,6 +400,7 @@ QDomElement QgsGraduatedSymbolRendererV2::save( QDomDocument& doc )
400400
{
401401
QDomElement rendererElem = doc.createElement( RENDERER_TAG_NAME );
402402
rendererElem.setAttribute( "type", "graduatedSymbol" );
403+
rendererElem.setAttribute( "symbollevels", ( mUsingSymbolLevels ? "1" : "0" ) );
403404
rendererElem.setAttribute( "attr", mAttrName );
404405

405406
// ranges

src/core/symbology-ng/qgsrendererv2.cpp

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -290,7 +290,11 @@ QgsFeatureRendererV2* QgsFeatureRendererV2::load( QDomElement& element )
290290
if ( pfCreate == NULL )
291291
return NULL;
292292

293-
return pfCreate( element );
293+
QgsFeatureRendererV2* r = pfCreate( element );
294+
if ( r )
295+
r->setUsingSymbolLevels( element.attribute( "symbollevels", "0" ).toInt() );
296+
297+
return r;
294298
}
295299

296300
QDomElement QgsFeatureRendererV2::save( QDomDocument& doc )

src/core/symbology-ng/qgssinglesymbolrendererv2.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,7 @@ QDomElement QgsSingleSymbolRendererV2::save( QDomDocument& doc )
9292
{
9393
QDomElement rendererElem = doc.createElement( RENDERER_TAG_NAME );
9494
rendererElem.setAttribute( "type", "singleSymbol" );
95+
rendererElem.setAttribute( "symbollevels", ( mUsingSymbolLevels ? "1" : "0" ) );
9596

9697
QgsSymbolV2Map symbols;
9798
symbols["0"] = mSymbol;

src/core/symbology-ng/qgssymbollayerv2utils.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -356,6 +356,7 @@ QgsSymbolLayerV2* QgsSymbolLayerV2Utils::loadSymbolLayer( QDomElement& element )
356356
{
357357
QString layerClass = element.attribute( "class" );
358358
bool locked = element.attribute( "locked" ).toInt();
359+
int pass = element.attribute( "pass" ).toInt();
359360

360361
// parse properties
361362
QgsStringMap props = parseProperties( element );
@@ -365,6 +366,7 @@ QgsSymbolLayerV2* QgsSymbolLayerV2Utils::loadSymbolLayer( QDomElement& element )
365366
if ( layer )
366367
{
367368
layer->setLocked( locked );
369+
layer->setRenderingPass( pass );
368370
return layer;
369371
}
370372
else
@@ -399,6 +401,7 @@ QDomElement QgsSymbolLayerV2Utils::saveSymbol( QString name, QgsSymbolV2* symbol
399401
QDomElement layerEl = doc.createElement( "layer" );
400402
layerEl.setAttribute( "class", layer->layerType() );
401403
layerEl.setAttribute( "locked", layer->isLocked() );
404+
layerEl.setAttribute( "pass", layer->renderingPass() );
402405

403406
if ( subSymbols != NULL && layer->subSymbol() != NULL )
404407
{

0 commit comments

Comments
 (0)