[QGIS Commit] r9750 - in branches/advanced_printing_branch2/src:
app/composer core/composer
svn_qgis at osgeo.org
svn_qgis at osgeo.org
Sun Dec 7 08:46:00 EST 2008
Author: mhugent
Date: 2008-12-07 08:46:00 -0500 (Sun, 07 Dec 2008)
New Revision: 9750
Modified:
branches/advanced_printing_branch2/src/app/composer/qgscomposer.cpp
branches/advanced_printing_branch2/src/app/composer/qgscomposer.h
branches/advanced_printing_branch2/src/app/composer/qgscomposermapwidget.cpp
branches/advanced_printing_branch2/src/core/composer/qgscomposermap.cpp
branches/advanced_printing_branch2/src/core/composer/qgscomposermap.h
Log:
Enabled render mode for composer map again
Modified: branches/advanced_printing_branch2/src/app/composer/qgscomposer.cpp
===================================================================
--- branches/advanced_printing_branch2/src/app/composer/qgscomposer.cpp 2008-12-07 09:33:14 UTC (rev 9749)
+++ branches/advanced_printing_branch2/src/app/composer/qgscomposer.cpp 2008-12-07 13:46:00 UTC (rev 9750)
@@ -403,18 +403,22 @@
void QgsComposer::on_mActionZoomAll_activated( void )
{
zoomFull();
+ mView->update();
+ emit zoomLevelChanged();
}
void QgsComposer::on_mActionZoomIn_activated( void )
{
mView->scale( 2, 2 );
- //mView->update();
+ mView->update();
+ emit zoomLevelChanged();
}
void QgsComposer::on_mActionZoomOut_activated( void )
{
mView->scale( .5, .5 );
- //mView->update();
+ mView->update();
+ emit zoomLevelChanged();
}
void QgsComposer::on_mActionRefreshView_activated( void )
@@ -1142,6 +1146,7 @@
}
QgsComposerMapWidget* mapWidget = new QgsComposerMapWidget( map );
+ connect(this, SIGNAL(zoomLevelChanged()), map, SLOT(renderModeUpdateCachedImage()));
mItemWidgetMap.insert( map, mapWidget );
}
Modified: branches/advanced_printing_branch2/src/app/composer/qgscomposer.h
===================================================================
--- branches/advanced_printing_branch2/src/app/composer/qgscomposer.h 2008-12-07 09:33:14 UTC (rev 9749)
+++ branches/advanced_printing_branch2/src/app/composer/qgscomposer.h 2008-12-07 13:46:00 UTC (rev 9750)
@@ -92,6 +92,11 @@
virtual void showEvent( QShowEvent * );
#endif
+ signals:
+ //! Is emitted every time the view zoom has changed
+ void zoomLevelChanged();
+
+
public slots:
//! Zoom to full extent of the paper
void on_mActionZoomAll_activated( void );
Modified: branches/advanced_printing_branch2/src/app/composer/qgscomposermapwidget.cpp
===================================================================
--- branches/advanced_printing_branch2/src/app/composer/qgscomposermapwidget.cpp 2008-12-07 09:33:14 UTC (rev 9749)
+++ branches/advanced_printing_branch2/src/app/composer/qgscomposermapwidget.cpp 2008-12-07 13:46:00 UTC (rev 9750)
@@ -38,8 +38,7 @@
mYMaxLineEdit->setValidator( new QDoubleValidator( 0 ) );
mPreviewModeComboBox->insertItem( 0, tr( "Cache" ) );
- //MH: disabled because this option leads to frequent crashes with Qt 4.4.0 and 4.4.1
- //mPreviewModeComboBox->insertItem(1, tr("Render"));
+ mPreviewModeComboBox->insertItem(1, tr("Render"));
mPreviewModeComboBox->insertItem( 2, tr( "Rectangle" ) );
if ( composerMap )
Modified: branches/advanced_printing_branch2/src/core/composer/qgscomposermap.cpp
===================================================================
--- branches/advanced_printing_branch2/src/core/composer/qgscomposermap.cpp 2008-12-07 09:33:14 UTC (rev 9749)
+++ branches/advanced_printing_branch2/src/core/composer/qgscomposermap.cpp 2008-12-07 13:46:00 UTC (rev 9750)
@@ -116,6 +116,13 @@
theMapRenderer.setProjectionsEnabled( mMapRenderer->hasCrsTransformEnabled() );
theMapRenderer.setDestinationSrs( mMapRenderer->destinationSrs() );
+ //set antialiasing if enabled in options
+ QSettings settings;
+ if(settings.value( "/qgis/enable_anti_aliasing", false ).toBool())
+ {
+ painter->setRenderHint( QPainter::Antialiasing );
+ }
+
QgsRenderContext* theRendererContext = theMapRenderer.rendererContext();
if ( theRendererContext )
{
@@ -142,14 +149,14 @@
int w = rect().width() * horizontalViewScaleFactor();
int h = rect().height() * horizontalViewScaleFactor();
- if ( w > 3000 ) //limit size of image for better performance
+ if ( w > 5000 ) //limit size of image for better performance
{
- w = 3000;
+ w = 5000;
}
- if ( h > 3000 )
+ if ( h > 5000 )
{
- h = 3000;
+ h = 5000;
}
mCachePixmap = QPixmap( w, h );
@@ -231,13 +238,21 @@
mLastScaleFactorX = currentScaleFactorX;
}
-void QgsComposerMap::mapCanvasChanged( void )
+void QgsComposerMap::updateCachedImage( void )
{
mCacheUpdated = false;
cache();
QGraphicsRectItem::update();
}
+void QgsComposerMap::renderModeUpdateCachedImage()
+{
+ if(mPreviewMode == Render)
+ {
+ updateCachedImage();
+ }
+}
+
void QgsComposerMap::setCacheUpdated( bool u )
{
mCacheUpdated = u;
@@ -461,8 +476,8 @@
QgsMapLayerRegistry* layerRegistry = QgsMapLayerRegistry::instance();
if ( layerRegistry )
{
- connect( layerRegistry, SIGNAL( layerWillBeRemoved( QString ) ), this, SLOT( mapCanvasChanged() ) );
- connect( layerRegistry, SIGNAL( layerWasAdded( QgsMapLayer* ) ), this, SLOT( mapCanvasChanged() ) );
+ connect( layerRegistry, SIGNAL( layerWillBeRemoved( QString ) ), this, SLOT( updateCachedImage() ) );
+ connect( layerRegistry, SIGNAL( layerWasAdded( QgsMapLayer* ) ), this, SLOT( updateCachedImage() ) );
}
}
Modified: branches/advanced_printing_branch2/src/core/composer/qgscomposermap.h
===================================================================
--- branches/advanced_printing_branch2/src/core/composer/qgscomposermap.h 2008-12-07 09:33:14 UTC (rev 9749)
+++ branches/advanced_printing_branch2/src/core/composer/qgscomposermap.h 2008-12-07 13:46:00 UTC (rev 9750)
@@ -134,8 +134,10 @@
public slots:
- // Called if map canvas has changed
- void mapCanvasChanged( );
+ /**Called if map canvas has changed*/
+ void updateCachedImage( );
+ /**Call updateCachedImage if item is in render mode*/
+ void renderModeUpdateCachedImage();
signals:
/**Is emitted when width/height is changed as a result of user interaction*/
More information about the QGIS-commit
mailing list