From 4ab24a4f404f44e1ba43af52e2d0ba79e0f0f000 Mon Sep 17 00:00:00 2001 From: Alvaro Huarte Date: Mon, 26 May 2014 17:28:26 +0200 Subject: [PATCH] Enable disabled simplification code after merge MTR (1-2) Disable simplification of geometries in composer by default --- python/core/qgsmapsettings.sip | 3 ++- src/core/composer/qgscomposermap.cpp | 6 +++--- src/core/qgsmapsettings.h | 3 ++- src/core/qgsrendercontext.cpp | 1 + src/gui/qgsmapcanvas.cpp | 1 + 5 files changed, 9 insertions(+), 5 deletions(-) diff --git a/python/core/qgsmapsettings.sip b/python/core/qgsmapsettings.sip index 60e14dbe4cd..6d9ba7a1468 100644 --- a/python/core/qgsmapsettings.sip +++ b/python/core/qgsmapsettings.sip @@ -45,7 +45,8 @@ public: DrawEditingInfo = 0x02, ForceVectorOutput = 0x04, UseAdvancedEffects = 0x08, - DrawLabeling = 0x10 + DrawLabeling = 0x10, + UseRenderingOptimization = 0x20 // TODO: ignore scale-based visibiity (overview) }; //Q_DECLARE_FLAGS(Flags, Flag) diff --git a/src/core/composer/qgscomposermap.cpp b/src/core/composer/qgscomposermap.cpp index e8e1ff130e3..abd3dd43f44 100644 --- a/src/core/composer/qgscomposermap.cpp +++ b/src/core/composer/qgscomposermap.cpp @@ -201,13 +201,13 @@ void QgsComposerMap::draw( QPainter *painter, const QgsRectangle& extent, const jobMapSettings.setDestinationCrs( ms.destinationCrs() ); jobMapSettings.setCrsTransformEnabled( ms.hasCrsTransformEnabled() ); jobMapSettings.setFlags( ms.flags() ); - /* TODO[MD] fix after merge + if ( mComposition->plotStyle() == QgsComposition::Print || mComposition->plotStyle() == QgsComposition::Postscript ) { //if outputing composer, disable optimisations like layer simplification - theRendererContext->setUseRenderingOptimization( false ); - }*/ + jobMapSettings.setFlag( QgsMapSettings::UseRenderingOptimization, false ); + } //update $map variable. Use QgsComposerItem's id since that is user-definable QgsExpression::setSpecialColumn( "$map", QgsComposerItem::id() ); diff --git a/src/core/qgsmapsettings.h b/src/core/qgsmapsettings.h index faccb9c3dbd..6ec5077e78a 100644 --- a/src/core/qgsmapsettings.h +++ b/src/core/qgsmapsettings.h @@ -60,7 +60,8 @@ class CORE_EXPORT QgsMapSettings DrawEditingInfo = 0x02, ForceVectorOutput = 0x04, UseAdvancedEffects = 0x08, - DrawLabeling = 0x10 + DrawLabeling = 0x10, + UseRenderingOptimization = 0x20, // TODO: ignore scale-based visibility (overview) }; Q_DECLARE_FLAGS( Flags, Flag ) diff --git a/src/core/qgsrendercontext.cpp b/src/core/qgsrendercontext.cpp index 9b73d404dae..21ec1bc62e9 100644 --- a/src/core/qgsrendercontext.cpp +++ b/src/core/qgsrendercontext.cpp @@ -48,6 +48,7 @@ QgsRenderContext QgsRenderContext::fromMapSettings( const QgsMapSettings& mapSet ctx.setDrawEditingInformation( mapSettings.testFlag( QgsMapSettings::DrawEditingInfo ) ); ctx.setForceVectorOutput( mapSettings.testFlag( QgsMapSettings::ForceVectorOutput ) ); ctx.setUseAdvancedEffects( mapSettings.testFlag( QgsMapSettings::UseAdvancedEffects ) ); + ctx.setUseRenderingOptimization( mapSettings.testFlag( QgsMapSettings::UseRenderingOptimization ) ); ctx.setCoordinateTransform( 0 ); ctx.setSelectionColor( mapSettings.selectionColor() ); ctx.setRasterScaleFactor( 1.0 ); diff --git a/src/gui/qgsmapcanvas.cpp b/src/gui/qgsmapcanvas.cpp index 3284ff3c7f9..544d40a39cc 100755 --- a/src/gui/qgsmapcanvas.cpp +++ b/src/gui/qgsmapcanvas.cpp @@ -206,6 +206,7 @@ QgsMapCanvas::QgsMapCanvas( QWidget * parent, const char *name ) this, SLOT( writeProject( QDomDocument & ) ) ); mSettings.setFlag( QgsMapSettings::DrawEditingInfo ); + mSettings.setFlag( QgsMapSettings::UseRenderingOptimization ); // class that will sync most of the changes between canvas and (legacy) map renderer // it is parented to map canvas, will be deleted automatically