Skip to content

Commit 4a96d68

Browse files
author
timlinux
committed
For global crs option show nice user friendly name instead of proj4 string
git-svn-id: http://svn.osgeo.org/qgis/trunk/qgis@15360 c8812cc2-4d05-0410-92ff-de0c093fc19c
1 parent d666dad commit 4a96d68

File tree

3 files changed

+70
-54
lines changed

3 files changed

+70
-54
lines changed

src/app/qgsoptions.cpp

Lines changed: 15 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -188,14 +188,17 @@ QgsOptions::QgsOptions( QWidget *parent, Qt::WFlags fl ) :
188188
{
189189
radUseGlobalProjection->setChecked( true );
190190
}
191-
txtGlobalWkt->setText( settings.value( "/Projections/defaultProjectionString", GEOPROJ4 ).toString() );
191+
QString myGlobalCrsString = settings.value( "/Projections/defaultProjectionString", GEOPROJ4 ).toString();
192+
mGlobalCrs.createFromProj4( myGlobalCrsString );
193+
//display the crs as friendly text rather than in wkt
194+
leGlobalCRS->setText( mGlobalCrs.authid() + " - " + mGlobalCrs.description() );
195+
192196
//on the fly CRS transformation settings
193197
grpOtfTransform->setChecked( settings.value( "/Projections/otfTransformEnabled", 0 ).toBool() );
194-
QString myDefaultSrsString = settings.value( "/Projections/defaultOTFProjectionString", GEOPROJ4 ).toString();
195-
mDefaultCrs.createFromProj4( myDefaultSrsString );
198+
QString myDefaultCrsString = settings.value( "/Projections/defaultOTFProjectionString", GEOPROJ4 ).toString();
199+
mDefaultCrs.createFromProj4( myDefaultCrsString );
196200
//display the crs as friendly text rather than in wkt
197-
leGlobalOtfProjString->setText( mDefaultCrs.authid() + " - " +
198-
mDefaultCrs.description() );
201+
leGlobalOtfProjString->setText( mDefaultCrs.authid() + " - " + mDefaultCrs.description() );
199202

200203
// populate combo box with ellipsoids
201204
getEllipsoidList();
@@ -635,7 +638,7 @@ void QgsOptions::saveOptions()
635638
settings.setValue( "/Projections/defaultBehaviour", "useGlobal" );
636639
}
637640

638-
settings.setValue( "/Projections/defaultProjectionString", txtGlobalWkt->toPlainText() );
641+
settings.setValue( "/Projections/defaultProjectionString", mGlobalCrs.toProj4() );
639642

640643
// save 'on the fly' CRS transformation settings
641644
settings.setValue( "/Projections/otfTransformEnabled", grpOtfTransform->isChecked() );
@@ -748,19 +751,15 @@ void QgsOptions::on_pbnSelectProjection_clicked()
748751
{
749752
QSettings settings;
750753
QgsGenericProjectionSelector * mySelector = new QgsGenericProjectionSelector( this );
751-
752-
//find out srs id of current proj4 string
753-
QgsCoordinateReferenceSystem refSys;
754-
if ( refSys.createFromProj4( txtGlobalWkt->toPlainText() ) )
755-
{
756-
mySelector->setSelectedCrsId( refSys.srsid() );
757-
}
754+
mySelector->setSelectedCrsId( mGlobalCrs.srsid() );
758755

759756
if ( mySelector->exec() )
760757
{
761-
//! @todo changes this control name in gui to txtGlobalProjString
762-
txtGlobalWkt->setText( mySelector->selectedProj4String() );
763-
QgsDebugMsg( QString( "------ Global Default Projection Selection set to ----------\n%1" ).arg( txtGlobalWkt->toPlainText() ) );
758+
mGlobalCrs.createFromProj4( mySelector->selectedProj4String() );
759+
leGlobalCRS->setText( mySelector->selectedProj4String() );
760+
leGlobalCRS->setText( mGlobalCrs.authid() + " - " +
761+
mGlobalCrs.description() );
762+
QgsDebugMsg( QString( "------ Global Default Projection Selection set to ----------\n%1" ).arg( leGlobalCRS->text() ) );
764763
}
765764
else
766765
{
@@ -774,8 +773,6 @@ void QgsOptions::on_pbnSelectOtfProjection_clicked()
774773
{
775774
QSettings settings;
776775
QgsGenericProjectionSelector * mySelector = new QgsGenericProjectionSelector( this );
777-
778-
//find out srs id of current proj4 string
779776
mySelector->setSelectedCrsId( mDefaultCrs.srsid() );
780777

781778
if ( mySelector->exec() )

src/app/qgsoptions.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,7 @@ class QgsOptions : public QDialog, private Ui::QgsOptionsBase
131131
private:
132132
QStringList i18nList();
133133
QgsCoordinateReferenceSystem mDefaultCrs;
134+
QgsCoordinateReferenceSystem mGlobalCrs;
134135
};
135136

136137
#endif // #ifndef QGSOPTIONS_H

src/ui/qgsoptionsbase.ui

Lines changed: 54 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
<item row="0" column="0">
3434
<widget class="QTabWidget" name="tabWidget">
3535
<property name="currentIndex">
36-
<number>0</number>
36+
<number>1</number>
3737
</property>
3838
<property name="iconSize">
3939
<size>
@@ -1354,87 +1354,106 @@
13541354
<property name="geometry">
13551355
<rect>
13561356
<x>0</x>
1357-
<y>-59</y>
1358-
<width>746</width>
1359-
<height>516</height>
1357+
<y>0</y>
1358+
<width>762</width>
1359+
<height>457</height>
13601360
</rect>
13611361
</property>
1362-
<layout class="QGridLayout" name="gridLayout_15">
1362+
<layout class="QGridLayout" name="gridLayout_22">
13631363
<item row="0" column="0">
13641364
<widget class="QGroupBox" name="grpProjectionBehaviour">
13651365
<property name="title">
13661366
<string>Default Coordinate Reference System</string>
13671367
</property>
1368-
<layout class="QVBoxLayout">
1369-
<property name="margin">
1370-
<number>11</number>
1371-
</property>
1372-
<item>
1368+
<layout class="QGridLayout" name="gridLayout">
1369+
<item row="0" column="0">
13731370
<widget class="QLabel" name="label_8">
13741371
<property name="text">
1375-
<string>When a new layer is created, or when a layer is loaded that has no coordinate reference system (CRS)</string>
1372+
<string>When a new layer is created, or when a layer is loaded that has no Coordinate Reference System (CRS)</string>
13761373
</property>
13771374
<property name="wordWrap">
13781375
<bool>true</bool>
13791376
</property>
13801377
</widget>
13811378
</item>
1382-
<item>
1379+
<item row="1" column="0">
13831380
<widget class="QRadioButton" name="radPromptForProjection">
13841381
<property name="text">
13851382
<string>Prompt for CRS</string>
13861383
</property>
13871384
</widget>
13881385
</item>
1389-
<item>
1386+
<item row="2" column="0">
13901387
<widget class="QRadioButton" name="radUseProjectProjection">
13911388
<property name="text">
13921389
<string>Project wide default CRS will be used</string>
13931390
</property>
13941391
</widget>
13951392
</item>
1396-
<item>
1393+
<item row="3" column="0">
13971394
<widget class="QRadioButton" name="radUseGlobalProjection">
13981395
<property name="text">
13991396
<string>Global default CRS displa&amp;yed below will be used</string>
14001397
</property>
14011398
</widget>
14021399
</item>
1400+
<item row="4" column="0">
1401+
<layout class="QHBoxLayout" name="horizontalLayout_9">
1402+
<item>
1403+
<widget class="QLineEdit" name="leGlobalCRS">
1404+
<property name="readOnly">
1405+
<bool>true</bool>
1406+
</property>
1407+
</widget>
1408+
</item>
1409+
<item>
1410+
<widget class="QPushButton" name="pbnSelectProjection">
1411+
<property name="text">
1412+
<string>Select ...</string>
1413+
</property>
1414+
</widget>
1415+
</item>
1416+
</layout>
1417+
</item>
14031418
</layout>
14041419
</widget>
14051420
</item>
14061421
<item row="1" column="0">
1407-
<widget class="QTextBrowser" name="txtGlobalWkt"/>
1408-
</item>
1409-
<item row="2" column="0">
1410-
<widget class="QPushButton" name="pbnSelectProjection">
1411-
<property name="text">
1412-
<string>Select Global Default ...</string>
1413-
</property>
1414-
</widget>
1415-
</item>
1416-
<item row="3" column="0">
14171422
<widget class="QGroupBox" name="grpOtfTransform">
14181423
<property name="title">
1419-
<string>Always use 'on the fly' CRS transformation for new projects</string>
1424+
<string>Enable 'on the fly' reprojection by defaul</string>
14201425
</property>
14211426
<property name="checkable">
14221427
<bool>true</bool>
14231428
</property>
1424-
<layout class="QVBoxLayout" name="verticalLayout_3">
1425-
<item>
1426-
<widget class="QLineEdit" name="leGlobalOtfProjString">
1427-
<property name="readOnly">
1429+
<layout class="QGridLayout" name="gridLayout_15">
1430+
<item row="0" column="0">
1431+
<widget class="QLabel" name="label_16">
1432+
<property name="text">
1433+
<string>When this opton is enabled, any new project you create will have 'on the fly' projection enabled by default and the CRS below will be used for the project.</string>
1434+
</property>
1435+
<property name="wordWrap">
14281436
<bool>true</bool>
14291437
</property>
14301438
</widget>
14311439
</item>
1432-
<item>
1433-
<widget class="QPushButton" name="pbnSelectOtfProjection">
1434-
<property name="text">
1435-
<string>Select CRS for 'on the fly' transformation ...</string>
1436-
</property>
1437-
</widget>
1440+
<item row="1" column="0">
1441+
<layout class="QHBoxLayout" name="horizontalLayout_10">
1442+
<item>
1443+
<widget class="QLineEdit" name="leGlobalOtfProjString">
1444+
<property name="readOnly">
1445+
<bool>true</bool>
1446+
</property>
1447+
</widget>
1448+
</item>
1449+
<item>
1450+
<widget class="QPushButton" name="pbnSelectOtfProjection">
1451+
<property name="text">
1452+
<string>Select ...</string>
1453+
</property>
1454+
</widget>
1455+
</item>
1456+
</layout>
14381457
</item>
14391458
</layout>
14401459
</widget>
@@ -1828,7 +1847,6 @@
18281847
<tabstop>radPromptForProjection</tabstop>
18291848
<tabstop>radUseProjectProjection</tabstop>
18301849
<tabstop>radUseGlobalProjection</tabstop>
1831-
<tabstop>txtGlobalWkt</tabstop>
18321850
<tabstop>pbnSelectProjection</tabstop>
18331851
<tabstop>grpLocale</tabstop>
18341852
<tabstop>cboLocale</tabstop>

0 commit comments

Comments
 (0)