@@ -69,7 +69,6 @@ QgsProjectProperties::QgsProjectProperties( QgsMapCanvas* mapCanvas, QWidget *pa
6969 // see if the user wants on the fly projection enabled
7070 bool myProjectionEnabled = myRenderer->hasCrsTransformEnabled ();
7171 cbxProjectionEnabled->setChecked ( myProjectionEnabled );
72- btnGrpMapUnits->setEnabled ( !myProjectionEnabled );
7372
7473 mProjectSrsId = myRenderer->destinationCrs ().srsid ();
7574 QgsDebugMsg ( " Read project CRSID: " + QString::number ( mProjectSrsId ) );
@@ -100,6 +99,14 @@ QgsProjectProperties::QgsProjectProperties( QgsMapCanvas* mapCanvas, QWidget *pa
10099 int dp = QgsProject::instance ()->readNumEntry ( " PositionPrecision" , " /DecimalPlaces" );
101100 spinBoxDP->setValue ( dp );
102101
102+ QString format = QgsProject::instance ()->readEntry ( " PositionPrecision" , " /DegreeFormat" , " D" );
103+ if ( format == " DM" )
104+ radDM->setChecked ( true );
105+ else if ( format == " DMS" )
106+ radDMS->setChecked ( true );
107+ else
108+ radD->setChecked ( true );
109+
103110 // get the color selections and set the button color accordingly
104111 int myRedInt = QgsProject::instance ()->readNumEntry ( " Gui" , " /SelectionColorRedPart" , 255 );
105112 int myGreenInt = QgsProject::instance ()->readNumEntry ( " Gui" , " /SelectionColorGreenPart" , 255 );
@@ -328,22 +335,11 @@ void QgsProjectProperties::setMapUnits( QGis::UnitType unit )
328335 {
329336 unit = QGis::Meters;
330337 }
331- if ( unit == QGis::Meters )
332- {
333- radMeters->setChecked ( true );
334- }
335- else if ( unit == QGis::Feet )
336- {
337- radFeet->setChecked ( true );
338- }
339- else if ( unit == QGis::DegreesMinutesSeconds )
340- {
341- radDMS->setChecked ( true );
342- }
343- else
344- {
345- radDecimalDegrees->setChecked ( true );
346- }
338+
339+ radMeters->setChecked ( unit == QGis::Meters );
340+ radFeet->setChecked ( unit == QGis::Feet );
341+ radDegrees->setChecked ( unit == QGis::Degrees );
342+
347343 mMapCanvas ->mapRenderer ()->setMapUnits ( unit );
348344}
349345
@@ -369,21 +365,17 @@ void QgsProjectProperties::apply()
369365 // Note. Qt 3.2.3 and greater have a function selectedId() that
370366 // can be used instead of the two part technique here
371367 QGis::UnitType mapUnit;
372- if ( radMeters ->isChecked () )
368+ if ( radDegrees ->isChecked () )
373369 {
374- mapUnit = QGis::Meters ;
370+ mapUnit = QGis::Degrees ;
375371 }
376372 else if ( radFeet->isChecked () )
377373 {
378374 mapUnit = QGis::Feet;
379375 }
380- else if ( radDMS->isChecked () )
381- {
382- mapUnit = QGis::DegreesMinutesSeconds;
383- }
384376 else
385377 {
386- mapUnit = QGis::Degrees ;
378+ mapUnit = QGis::Meters ;
387379 }
388380
389381 QgsMapRenderer* myRenderer = mMapCanvas ->mapRenderer ();
@@ -423,6 +415,9 @@ void QgsProjectProperties::apply()
423415 // can be used instead of the two part technique here
424416 QgsProject::instance ()->writeEntry ( " PositionPrecision" , " /Automatic" , radAutomatic->isChecked () );
425417 QgsProject::instance ()->writeEntry ( " PositionPrecision" , " /DecimalPlaces" , spinBoxDP->value () );
418+ QgsProject::instance ()->writeEntry ( " PositionPrecision" , " /DegreeFormat" ,
419+ QString ( radDM->isChecked () ? " DM" : radDMS->isChecked () ? " DMS" : " D" ) );
420+
426421 // Announce that we may have a new display precision setting
427422 emit displayPrecisionChanged ();
428423
@@ -609,7 +604,6 @@ void QgsProjectProperties::on_pbnCanvasColor_clicked()
609604
610605void QgsProjectProperties::on_cbxProjectionEnabled_stateChanged ( int state )
611606{
612- btnGrpMapUnits->setEnabled ( state == Qt::Unchecked );
613607 projectionSelector->setEnabled ( state == Qt::Checked );
614608
615609 if ( state != Qt::Checked )
@@ -632,23 +626,10 @@ void QgsProjectProperties::setMapUnitsToCurrentProjection()
632626 QgsCoordinateReferenceSystem srs ( myCRSID, QgsCoordinateReferenceSystem::InternalCrsId );
633627 // set radio button to crs map unit type
634628 QGis::UnitType units = srs.mapUnits ();
635- switch ( units )
636- {
637- case QGis::Meters:
638- radMeters->setChecked ( true );
639- break ;
640- case QGis::Feet:
641- radFeet->setChecked ( true );
642- break ;
643- case QGis::Degrees:
644- radDecimalDegrees->setChecked ( true );
645- break ;
646- case QGis::DegreesMinutesSeconds:
647- radDMS->setChecked ( true );
648- break ;
649- default :
650- break ;
651- }
629+
630+ radMeters->setChecked ( units == QGis::Meters );
631+ radFeet->setChecked ( units == QGis::Feet );
632+ radDegrees->setChecked ( units == QGis::Degrees );
652633 }
653634}
654635
0 commit comments