@@ -123,8 +123,10 @@ QgsMapCanvas::QgsMapCanvas( QWidget * parent, const char *name )
123
123
124
124
moveCanvasContents ( true );
125
125
126
- // connect(mMapRenderer, SIGNAL(updateMap()), this, SLOT(updateMap()));
127
126
connect ( mMapRenderer , SIGNAL ( drawError ( QgsMapLayer* ) ), this , SLOT ( showError ( QgsMapLayer* ) ) );
127
+ connect ( mMapRenderer , SIGNAL ( hasCrsTransformEnabled ( bool ) ), this , SLOT ( crsTransformEnabled ( bool ) ) );
128
+
129
+ crsTransformEnabled ( hasCrsTransformEnabled () );
128
130
129
131
// project handling
130
132
connect ( QgsProject::instance (), SIGNAL ( readProject ( const QDomDocument & ) ),
@@ -1491,7 +1493,6 @@ void QgsMapCanvas::readProject( const QDomDocument & doc )
1491
1493
{
1492
1494
QgsDebugMsg ( " Couldn't read mapcanvas information from project" );
1493
1495
}
1494
-
1495
1496
}
1496
1497
1497
1498
void QgsMapCanvas::writeProject ( QDomDocument & doc )
@@ -1509,8 +1510,6 @@ void QgsMapCanvas::writeProject( QDomDocument & doc )
1509
1510
QDomElement mapcanvasNode = doc.createElement ( " mapcanvas" );
1510
1511
qgisNode.appendChild ( mapcanvasNode );
1511
1512
mMapRenderer ->writeXML ( mapcanvasNode, doc );
1512
-
1513
-
1514
1513
}
1515
1514
1516
1515
void QgsMapCanvas::zoomByFactor ( double scaleFactor )
@@ -1541,3 +1540,15 @@ void QgsMapCanvas::dragEnterEvent( QDragEnterEvent * e )
1541
1540
// parent (e.g. QgisApp) to handle drops of map layers etc.
1542
1541
e->ignore ();
1543
1542
}
1543
+
1544
+ void QgsMapCanvas::crsTransformEnabled ( bool enabled )
1545
+ {
1546
+ if ( enabled )
1547
+ {
1548
+ QgsDebugMsg ( " refreshing after reprojection was enabled" );
1549
+ refresh ();
1550
+ connect ( mMapRenderer , SIGNAL ( destinationSrsChanged () ), this , SLOT ( refresh () ) );
1551
+ }
1552
+ else
1553
+ disconnect ( mMapRenderer , SIGNAL ( destinationSrsChanged () ), this , SLOT ( refresh () ) );
1554
+ }
0 commit comments