diff --git a/src/app/composer/qgscomposermapwidget.cpp b/src/app/composer/qgscomposermapwidget.cpp
index 00a0de0a253e..2339ec430c61 100644
--- a/src/app/composer/qgscomposermapwidget.cpp
+++ b/src/app/composer/qgscomposermapwidget.cpp
@@ -15,6 +15,8 @@
* *
***************************************************************************/
+#include "qgisapp.h"
+#include "qgsmapcanvas.h"
#include "qgscomposermapwidget.h"
#include "qgscomposeritemwidget.h"
#include "qgscomposition.h"
@@ -333,6 +335,22 @@ void QgsComposerMapWidget::on_mSetToMapCanvasExtentButton_clicked()
}
}
+void QgsComposerMapWidget::on_mViewExtentInCanvasButton_clicked()
+{
+ if ( !mComposerMap )
+ {
+ return;
+ }
+
+ QgsRectangle currentMapExtent = *( mComposerMap->currentMapExtent() );
+
+ if ( !currentMapExtent.isEmpty() )
+ {
+ QgisApp::instance()->mapCanvas()->setExtent( currentMapExtent );
+ QgisApp::instance()->mapCanvas()->refresh();
+ }
+}
+
void QgsComposerMapWidget::on_mXMinLineEdit_editingFinished()
{
updateComposerExtentFromGui();
diff --git a/src/app/composer/qgscomposermapwidget.h b/src/app/composer/qgscomposermapwidget.h
index 2727f041d8c0..b0e0a9ebb852 100644
--- a/src/app/composer/qgscomposermapwidget.h
+++ b/src/app/composer/qgscomposermapwidget.h
@@ -39,6 +39,7 @@ class QgsComposerMapWidget: public QWidget, private Ui::QgsComposerMapWidgetBase
void on_mScaleLineEdit_editingFinished();
void on_mMapRotationSpinBox_valueChanged( double value );
void on_mSetToMapCanvasExtentButton_clicked();
+ void on_mViewExtentInCanvasButton_clicked();
void on_mUpdatePreviewButton_clicked();
void on_mKeepLayerListCheckBox_stateChanged( int state );
void on_mDrawCanvasItemsCheckBox_stateChanged( int state );
diff --git a/src/ui/qgscomposermapwidgetbase.ui b/src/ui/qgscomposermapwidgetbase.ui
index 90b27c85e37e..279f37da327f 100644
--- a/src/ui/qgscomposermapwidgetbase.ui
+++ b/src/ui/qgscomposermapwidgetbase.ui
@@ -56,7 +56,7 @@
0
0
439
- 1638
+ 1671
@@ -174,25 +174,25 @@
false
- -
-
-
- -
-
-
- -
-
+
-
+
+
+ true
+
- X max
+ X min
false
- mXMaxLineEdit
+ mXMinLineEdit
+ -
+
+
-
@@ -206,6 +206,25 @@
+ -
+
+
+ -
+
+
+ X max
+
+
+ false
+
+
+ mXMaxLineEdit
+
+
+
+ -
+
+
-
@@ -219,32 +238,20 @@
- -
-
-
- -
-
+
-
+
- -
+
-
Set to map canvas extent
- -
-
-
- true
-
+
-
+
- X min
-
-
- false
-
-
- mXMinLineEdit
+ View extent in map canvas