Skip to content

Commit 49e1ae4

Browse files
committedApr 12, 2017
[composer] Only update map rotation when editing finishes
Avoids multiple map updates when entering values like "90". Previously the map would be updated at every keystroke, so "9" and "90" degree rotations.
1 parent 8637b22 commit 49e1ae4

File tree

2 files changed

+6
-3
lines changed

2 files changed

+6
-3
lines changed
 

‎src/app/composer/qgscomposermapwidget.cpp

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,8 @@ QgsComposerMapWidget::QgsComposerMapWidget( QgsComposerMap *composerMap )
119119
loadGridEntries();
120120
loadOverviewEntries();
121121

122+
connect( mMapRotationSpinBox, &QgsDoubleSpinBox::editingFinished, this, &QgsComposerMapWidget::rotationChanged );
123+
122124
blockAllSignals( false );
123125
}
124126

@@ -491,15 +493,15 @@ void QgsComposerMapWidget::on_mScaleLineEdit_editingFinished()
491493
mComposerMap->endCommand();
492494
}
493495

494-
void QgsComposerMapWidget::on_mMapRotationSpinBox_valueChanged( double value )
496+
void QgsComposerMapWidget::rotationChanged()
495497
{
496498
if ( !mComposerMap )
497499
{
498500
return;
499501
}
500502

501503
mComposerMap->beginCommand( tr( "Map rotation changed" ), QgsComposerMergeCommand::ComposerMapRotation );
502-
mComposerMap->setMapRotation( value );
504+
mComposerMap->setMapRotation( mMapRotationSpinBox->value() );
503505
mComposerMap->endCommand();
504506
mComposerMap->cache();
505507
mComposerMap->update();

‎src/app/composer/qgscomposermapwidget.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,6 @@ class QgsComposerMapWidget: public QgsComposerItemBaseWidget, private Ui::QgsCom
3939
public slots:
4040
void on_mPreviewModeComboBox_activated( int i );
4141
void on_mScaleLineEdit_editingFinished();
42-
void on_mMapRotationSpinBox_valueChanged( double value );
4342
void on_mSetToMapCanvasExtentButton_clicked();
4443
void on_mViewExtentInCanvasButton_clicked();
4544
void on_mUpdatePreviewButton_clicked();
@@ -132,6 +131,8 @@ class QgsComposerMapWidget: public QgsComposerItemBaseWidget, private Ui::QgsCom
132131
//! Blocks / unblocks the signals of all GUI elements
133132
void blockAllSignals( bool b );
134133

134+
void rotationChanged();
135+
135136
void handleChangedFrameDisplay( QgsComposerMapGrid::BorderSide border, const QgsComposerMapGrid::DisplayMode mode );
136137
void handleChangedAnnotationDisplay( QgsComposerMapGrid::BorderSide border, const QString &text );
137138
void handleChangedAnnotationPosition( QgsComposerMapGrid::BorderSide border, const QString &text );

0 commit comments

Comments
 (0)
Please sign in to comment.