@@ -48,9 +48,6 @@ QgsMeasureDialog::QgsMeasureDialog( QgsMeasureTool* tool, Qt::WFlags f )
4848 item->setTextAlignment ( 0 , Qt::AlignRight );
4949 mTable ->addTopLevelItem ( item );
5050
51- // Update when the ellipsoidal button has changed state.
52- connect ( mcbProjectionEnabled, SIGNAL ( stateChanged ( int ) ),
53- this , SLOT ( ellipsoidalButton () ) );
5451 // Update whenever the canvas has refreshed. Maybe more often than needed,
5552 // but at least every time any canvas related settings changes
5653 connect ( mTool ->canvas (), SIGNAL ( mapCanvasRefreshed () ),
@@ -59,51 +56,32 @@ QgsMeasureDialog::QgsMeasureDialog( QgsMeasureTool* tool, Qt::WFlags f )
5956 updateSettings ();
6057}
6158
62- void QgsMeasureDialog::ellipsoidalButton ()
63- {
64- QSettings settings;
65-
66- // We set check state to Unchecked and button to Disabled when disabling CRS,
67- // which generates an call here. Ignore that event!
68- if ( mcbProjectionEnabled->isEnabled () )
69- {
70- if ( mcbProjectionEnabled->isChecked () )
71- {
72- settings.setValue ( " /qgis/measure/projectionEnabled" , 2 );
73- }
74- else
75- {
76- settings.setValue ( " /qgis/measure/projectionEnabled" , 0 );
77- }
78- updateSettings ();
79- }
80- }
81-
8259void QgsMeasureDialog::updateSettings ()
8360{
8461 QSettings settings;
8562
86- int s = settings.value ( " /qgis/measure/projectionEnabled" , " 2" ).toInt ();
87- if ( s == 2 )
63+ mDecimalPlaces = settings.value ( " /qgis/measure/decimalplaces" , " 3" ).toInt ();
64+ mCanvasUnits = mTool ->canvas ()->mapUnits ();
65+ mDisplayUnits = QGis::fromLiteral ( settings.value ( " /qgis/measure/displayunits" , QGis::toLiteral ( QGis::Meters ) ).toString () );
66+ // Configure QgsDistanceArea
67+ mDa .setSourceCrs ( mTool ->canvas ()->mapRenderer ()->destinationCrs ().srsid () );
68+ mDa .setEllipsoid ( settings.value ( " /qgis/measure/ellipsoid" , GEO_NONE ).toString () );
69+ // Only use ellipsoidal calculation when project wide transformation is enabled.
70+ if ( mTool ->canvas ()->mapRenderer ()->hasCrsTransformEnabled () )
8871 {
89- mEllipsoidal = true ;
72+ mDa . setEllipsoidalMode ( true ) ;
9073 }
9174 else
9275 {
93- mEllipsoidal = false ;
76+ mDa . setEllipsoidalMode ( false ) ;
9477 }
9578
96- mDecimalPlaces = settings.value ( " /qgis/measure/decimalplaces" , " 3" ).toInt ();
97- mCanvasUnits = mTool ->canvas ()->mapUnits ();
98- mDisplayUnits = QGis::fromLiteral ( settings.value ( " /qgis/measure/displayunits" , QGis::toLiteral ( QGis::Meters ) ).toString () );
99-
10079 QgsDebugMsg ( " ****************" );
101- QgsDebugMsg ( QString ( " Ellipsoidal: %1" ).arg ( mEllipsoidal ? " true" : " false" ) );
102- QgsDebugMsg ( QString ( " Decimalpla.: %1" ).arg ( mDecimalPlaces ) );
103- QgsDebugMsg ( QString ( " Display u. : %1" ).arg ( QGis::toLiteral ( mDisplayUnits ) ) );
104- QgsDebugMsg ( QString ( " Canvas u. : %1" ).arg ( QGis::toLiteral ( mCanvasUnits ) ) );
105-
106- configureDistanceArea ();
80+ QgsDebugMsg ( QString ( " Ellipsoid ID : %1" ).arg ( mDa .ellipsoid () ) );
81+ QgsDebugMsg ( QString ( " Ellipsoidal : %1" ).arg ( mDa .ellipsoidalEnabled () ? " true" : " false" ) );
82+ QgsDebugMsg ( QString ( " Decimalplaces: %1" ).arg ( mDecimalPlaces ) );
83+ QgsDebugMsg ( QString ( " Display units: %1" ).arg ( QGis::toLiteral ( mDisplayUnits ) ) );
84+ QgsDebugMsg ( QString ( " Canvas units : %1" ).arg ( QGis::toLiteral ( mCanvasUnits ) ) );
10785
10886 // clear interface
10987 mTable ->clear ();
@@ -243,11 +221,6 @@ QString QgsMeasureDialog::formatArea( double area )
243221
244222void QgsMeasureDialog::updateUi ()
245223{
246- // If project wide transformation is off, disbale checkbox and unmark it.
247- // When on, enable checbox and mark with saved value.
248- mcbProjectionEnabled->setEnabled ( mTool ->canvas ()->hasCrsTransformEnabled () );
249- mcbProjectionEnabled->setCheckState ( mTool ->canvas ()->hasCrsTransformEnabled () && mEllipsoidal ? Qt::Checked : Qt::Unchecked );
250-
251224 // Set tooltip to indicate how we calculate measurments
252225 QString toolTip = tr ( " The calculations are based on:" );
253226 if ( ! mTool ->canvas ()->hasCrsTransformEnabled () )
@@ -337,12 +310,3 @@ void QgsMeasureDialog::convertMeasurement( double &measure, QGis::UnitType &u, b
337310 u = myUnits;
338311}
339312
340- void QgsMeasureDialog::configureDistanceArea ()
341- {
342- QSettings settings;
343- QString ellipsoidId = settings.value ( " /qgis/measure/ellipsoid" , " WGS84" ).toString ();
344- mDa .setSourceCrs ( mTool ->canvas ()->mapRenderer ()->destinationCrs ().srsid () );
345- mDa .setEllipsoid ( ellipsoidId );
346- // Only use ellipsoidal calculation when project wide transformation is enabled.
347- mDa .setEllipsoidalMode ( mEllipsoidal && mTool ->canvas ()->hasCrsTransformEnabled () );
348- }
0 commit comments