Skip to content

Commit

Permalink
More use of QgsLayerStyleOverride
Browse files Browse the repository at this point in the history
  • Loading branch information
nirvn committed Jun 11, 2018
1 parent d62c34a commit b7502b8
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 20 deletions.
14 changes: 3 additions & 11 deletions src/core/dxf/qgsdxfexport.cpp
Expand Up @@ -979,11 +979,11 @@ void QgsDxfExport::writeEntities()
continue;
}

bool hasStyleOverride = mMapSettings.layerStyleOverrides().contains( vl->id() );
if ( hasStyleOverride )
QgsLayerStyleOverride styleOverride( vl );
if ( mMapSettings.layerStyleOverrides().contains( vl->id() ) )
{
QgsDebugMsg( QString( "%1: apply override style" ).arg( vl->id() ) );
vl->styleManager()->setOverrideStyle( mMapSettings.layerStyleOverrides().value( vl->id() ) );
styleOverride.setOverrideStyle( mMapSettings.layerStyleOverrides().value( vl->id() ) );
}
else
{
Expand All @@ -993,8 +993,6 @@ void QgsDxfExport::writeEntities()
QgsSymbolRenderContext sctx( ctx, QgsUnitTypes::RenderMillimeters, 1.0, false, nullptr, nullptr );
if ( !vl->renderer() )
{
if ( hasStyleOverride )
vl->styleManager()->restoreOverrideStyle();
continue;
}

Expand Down Expand Up @@ -1044,9 +1042,6 @@ void QgsDxfExport::writeEntities()
writeEntitiesSymbolLevels( vl );
renderer->stopRender( ctx );

if ( hasStyleOverride )
vl->styleManager()->restoreOverrideStyle();

continue;
}

Expand Down Expand Up @@ -1108,9 +1103,6 @@ void QgsDxfExport::writeEntities()
}

renderer->stopRender( ctx );

if ( hasStyleOverride )
vl->styleManager()->restoreOverrideStyle();
}

engine.run( ctx );
Expand Down
9 changes: 3 additions & 6 deletions src/core/layertree/qgslayertreemodel.cpp
Expand Up @@ -1188,9 +1188,9 @@ void QgsLayerTreeModel::addLegendToLayer( QgsLayerTreeLayer *nodeL )
if ( !layerLegend )
return;

bool hasStyleOverride = mLayerStyleOverrides.contains( ml->id() );
if ( hasStyleOverride )
ml->styleManager()->setOverrideStyle( mLayerStyleOverrides.value( ml->id() ) );
QgsLayerStyleOverride styleOverride( ml );
if ( mLayerStyleOverrides.contains( ml->id() ) )
styleOverride.setOverrideStyle( mLayerStyleOverrides.value( ml->id() ) );

QList<QgsLayerTreeModelLegendNode *> lstNew = layerLegend->createLayerTreeModelLegendNodes( nodeL );

Expand Down Expand Up @@ -1250,9 +1250,6 @@ void QgsLayerTreeModel::addLegendToLayer( QgsLayerTreeLayer *nodeL )

if ( !filteredLstNew.isEmpty() ) endInsertRows();

if ( hasStyleOverride )
ml->styleManager()->restoreOverrideStyle();

// invalidate map based data even if the data is not map-based to make sure
// the symbol sizes are computed at least once
legendInvalidateMapBasedData();
Expand Down
5 changes: 2 additions & 3 deletions src/core/qgsmapthemecollection.cpp
Expand Up @@ -365,7 +365,8 @@ QMap<QString, QString> QgsMapThemeCollection::mapThemeStyleOverrides( const QStr
if ( layerRec.usingCurrentStyle )
{
QgsMapLayer *layer = layerRec.layer();
layer->styleManager()->setOverrideStyle( layerRec.currentStyle );
QgsLayerStyleOverride styleOverride( layer );
styleOverride.setOverrideStyle( layerRec.currentStyle );

// set the checked legend nodes
applyMapThemeCheckedLegendNodesToLayer( layerRec, layer );
Expand All @@ -374,8 +375,6 @@ QMap<QString, QString> QgsMapThemeCollection::mapThemeStyleOverrides( const QStr
QgsMapLayerStyle layerStyle;
layerStyle.readFromLayer( layer );
styleOverrides[layer->id()] = layerStyle.xmlData();

layer->styleManager()->restoreOverrideStyle();
}
}
return styleOverrides;
Expand Down

0 comments on commit b7502b8

Please sign in to comment.