@@ -43,7 +43,6 @@ QgsMapCanvasDockWidget::QgsMapCanvasDockWidget( const QString &name, QWidget *pa
43
43
44
44
mMainWidget ->layout ()->addWidget ( mMapCanvas );
45
45
46
- connect ( mActionSetCrs , &QAction::triggered, this , &QgsMapCanvasDockWidget::setMapCrs );
47
46
connect ( mActionSyncView , &QAction::toggled, this , &QgsMapCanvasDockWidget::syncView );
48
47
49
48
QMenu *menu = new QMenu ();
@@ -54,6 +53,11 @@ QgsMapCanvasDockWidget::QgsMapCanvasDockWidget( const QString &name, QWidget *pa
54
53
toolButton->setIcon ( QgsApplication::getThemeIcon ( QStringLiteral ( " /mActionMapSettings.svg" ) ) );
55
54
mToolbar ->addWidget ( toolButton );
56
55
56
+ connect ( mActionSetCrs , &QAction::triggered, this , &QgsMapCanvasDockWidget::setMapCrs );
57
+ connect ( mMapCanvas , &QgsMapCanvas::destinationCrsChanged, this , &QgsMapCanvasDockWidget::mapCrsChanged );
58
+ mapCrsChanged ();
59
+ menu->addAction ( mActionSetCrs );
60
+
57
61
QgsMapSettingsAction *settingsAction = new QgsMapSettingsAction ( menu );
58
62
menu->addAction ( settingsAction );
59
63
mScaleCombo = settingsAction->scaleCombo ();
@@ -188,6 +192,13 @@ void QgsMapCanvasDockWidget::mapExtentChanged()
188
192
syncView ( true );
189
193
}
190
194
195
+ void QgsMapCanvasDockWidget::mapCrsChanged ()
196
+ {
197
+ mActionSetCrs ->setText ( tr ( " Change Map CRS (%1)" ).arg ( mMapCanvas ->mapSettings ().destinationCrs ().isValid () ?
198
+ mMapCanvas ->mapSettings ().destinationCrs ().authid () :
199
+ tr ( " No projection" ) ) );
200
+ }
201
+
191
202
QgsMapSettingsAction::QgsMapSettingsAction ( QWidget *parent )
192
203
: QWidgetAction( parent )
193
204
{
0 commit comments