File tree 2 files changed +19
-3
lines changed
2 files changed +19
-3
lines changed Original file line number Diff line number Diff line change @@ -420,8 +420,24 @@ void QgsComposerMapWidget::updateGuiElements()
420
420
blockAllSignals ( true );
421
421
422
422
// width, height, scale
423
- // QRectF composerMapRect = mComposerMap->rect();
424
- mScaleLineEdit ->setText ( QString::number ( mComposerMap ->scale (), ' f' , 0 ) );
423
+ double scale = mComposerMap ->scale ();
424
+
425
+ // round scale to an appropriate number of decimal places
426
+ if ( scale >= 10 )
427
+ {
428
+ // round scale to integer if it's greater than 10
429
+ mScaleLineEdit ->setText ( QString::number ( mComposerMap ->scale (), ' f' , 0 ) );
430
+ }
431
+ else if ( scale >= 1 )
432
+ {
433
+ // don't round scale if it's less than 10, instead use 4 decimal places
434
+ mScaleLineEdit ->setText ( QString::number ( mComposerMap ->scale (), ' f' , 4 ) );
435
+ }
436
+ else
437
+ {
438
+ // if scale < 1 then use 10 decimal places
439
+ mScaleLineEdit ->setText ( QString::number ( mComposerMap ->scale (), ' f' , 10 ) );
440
+ }
425
441
426
442
// preview mode
427
443
QgsComposerMap::PreviewMode previewMode = mComposerMap ->previewMode ();
Original file line number Diff line number Diff line change @@ -781,7 +781,7 @@ void QgsComposerMap::setNewScale( double scaleDenominator )
781
781
{
782
782
double currentScaleDenominator = scale ();
783
783
784
- if ( scaleDenominator == currentScaleDenominator )
784
+ if ( scaleDenominator == currentScaleDenominator || scaleDenominator == 0 )
785
785
{
786
786
return ;
787
787
}
You can’t perform that action at this time.
0 commit comments