diff --git a/resources/srs.db b/resources/srs.db index 34cd19513b1..5dc7525f1cc 100644 Binary files a/resources/srs.db and b/resources/srs.db differ diff --git a/src/core/qgscoordinatetransform.h b/src/core/qgscoordinatetransform.h index 3dae9be7136..4c015c491f1 100644 --- a/src/core/qgscoordinatetransform.h +++ b/src/core/qgscoordinatetransform.h @@ -213,6 +213,7 @@ class CORE_EXPORT QgsCoordinateTransform : public QObject /**Returns list of datum transformations for the given src and dest CRS*/ static QList< QList< int > > datumTransformations( const QgsCoordinateReferenceSystem& srcCRS, const QgsCoordinateReferenceSystem& destCRS ); + static QString datumTransformString( int datumTransform ); int sourceDatumTransform() const { return mSourceDatumTransform; } void setSourceDatumTransform( int dt ) { mSourceDatumTransform = dt; } @@ -284,7 +285,6 @@ class CORE_EXPORT QgsCoordinateTransform : public QObject /**Removes +nadgrids and +towgs84 from proj4 string*/ static QString stripDatumTransform( const QString& proj4 ); static void searchDatumTransform( const QString& sql, QList< int >& transforms ); - static QString datumTransformString( int datumTransform ); }; //! Output stream operator diff --git a/src/gui/qgsdatumtransformdialog.cpp b/src/gui/qgsdatumtransformdialog.cpp index 2a614f2dc0a..dd8daea1067 100644 --- a/src/gui/qgsdatumtransformdialog.cpp +++ b/src/gui/qgsdatumtransformdialog.cpp @@ -1,4 +1,5 @@ #include "qgsdatumtransformdialog.h" +#include "qgscoordinatetransform.h" QgsDatumTransformDialog::QgsDatumTransformDialog( const QList< QList< int > >& dt, QWidget* parent, Qt::WindowFlags f ): QDialog( parent, f ) { @@ -10,10 +11,11 @@ QgsDatumTransformDialog::QgsDatumTransformDialog( const QList< QList< int > >& d QString itemText; for ( int i = 0; i < 2; ++i ) { - itemText = QString::number( it->at( i ) ); - if ( itemText.compare( "-1" ) != 0 ) + int nr = it->at( i ); + if ( nr != -1 ) { - item->setText( i, itemText ); + item->setData( i, Qt::UserRole, nr ); + item->setText( i, QgsCoordinateTransform::datumTransformString( nr ) ); } } mDatumTransformTreeWidget->addTopLevelItem( item ); @@ -37,15 +39,12 @@ QList< int > QgsDatumTransformDialog::selectedDatumTransform() { for ( int i = 0; i < 2; ++i ) { - bool conversionOk = false; - QString itemText = item->text( i ); - int transformNr = itemText.toInt( &conversionOk ); - if ( !itemText.isEmpty() && conversionOk ) + int transformNr = item->data( i, Qt::UserRole ).toInt(); + if ( transformNr != -1 ) { list << transformNr; } } } - return list; } diff --git a/src/ui/qgsdatumtransformdialogbase.ui b/src/ui/qgsdatumtransformdialogbase.ui index 161664d6242..c269554a6b7 100644 --- a/src/ui/qgsdatumtransformdialogbase.ui +++ b/src/ui/qgsdatumtransformdialogbase.ui @@ -11,14 +11,19 @@ - Dialog + Select datum transformations - + src transform + + + + + dst transform