@@ -43,7 +43,15 @@ QgsMeasureDialog::QgsMeasureDialog( QgsMeasureTool* tool, Qt::WindowFlags f )
4343 mMeasureArea = tool->measureArea ();
4444 mTotal = 0 .;
4545
46+ mUnitsCombo ->addItem ( " Meters" );
47+ mUnitsCombo ->addItem ( " Feet" );
48+ mUnitsCombo ->addItem ( " Degrees" );
49+ mUnitsCombo ->addItem ( " Nautical Miles" );
50+ mUnitsCombo ->setCurrentIndex ( 0 );
51+
4652 updateSettings ();
53+
54+ connect ( mUnitsCombo , SIGNAL ( currentIndexChanged ( const QString & ) ), this , SLOT ( unitsChanged ( const QString & ) ) );
4755}
4856
4957void QgsMeasureDialog::updateSettings ()
@@ -52,7 +60,7 @@ void QgsMeasureDialog::updateSettings()
5260
5361 mDecimalPlaces = settings.value ( " /qgis/measure/decimalplaces" , " 3" ).toInt ();
5462 mCanvasUnits = mTool ->canvas ()->mapUnits ();
55- mDisplayUnits = QGis::fromLiteral ( settings. value ( " /qgis/measure/displayunits " , QGis::toLiteral ( QGis::Meters ) ). toString () );
63+ mDisplayUnits = QGis::fromLiteral ( mUnitsCombo -> currentText (). toLower () );
5664 // Configure QgsDistanceArea
5765 mDa .setSourceCrs ( mTool ->canvas ()->mapSettings ().destinationCrs ().srsid () );
5866 mDa .setEllipsoid ( QgsProject::instance ()->readEntry ( " Measure" , " /Ellipsoid" , GEO_NONE ) );
@@ -77,6 +85,14 @@ void QgsMeasureDialog::updateSettings()
7785 updateUi ();
7886}
7987
88+ void QgsMeasureDialog::unitsChanged (const QString &units)
89+ {
90+ mDisplayUnits = QGis::fromLiteral ( units.toLower () );
91+ mTable ->clear ();
92+ mTotal = 0 .;
93+ updateUi ();
94+ }
95+
8096void QgsMeasureDialog::restart ()
8197{
8298 mTool ->restart ();
@@ -221,6 +237,7 @@ QString QgsMeasureDialog::formatDistance( double distance )
221237 QSettings settings;
222238 bool baseUnit = settings.value ( " /qgis/measure/keepbaseunit" , false ).toBool ();
223239
240+ QgsDebugMsg ( mUnitsCombo ->currentText ().toLower () );
224241 QGis::UnitType newDisplayUnits;
225242 convertMeasurement ( distance, newDisplayUnits, false );
226243 return QgsDistanceArea::textUnit ( distance, mDecimalPlaces , newDisplayUnits, false , baseUnit );
@@ -269,6 +286,7 @@ void QgsMeasureDialog::updateUi()
269286
270287 editTotal->setToolTip ( toolTip );
271288 mTable ->setToolTip ( toolTip );
289+ mNotesLabel ->setText ( toolTip );
272290
273291 QGis::UnitType newDisplayUnits;
274292 double dummy = 1.0 ;
0 commit comments