Skip to content

Commit 63d587c

Browse files
committedMar 6, 2018
Fix missing transform context warnings on status bar coordinate display
(cherry-picked from 55814b8)
1 parent 9ae1e93 commit 63d587c

File tree

4 files changed

+15
-8
lines changed

4 files changed

+15
-8
lines changed
 

‎src/app/qgsstatusbarcoordinateswidget.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -226,7 +226,7 @@ void QgsStatusBarCoordinatesWidget::showMouseCoordinates( const QgsPointXY &p )
226226
return;
227227
}
228228

229-
mLineEdit->setText( QgsCoordinateUtils::formatCoordinateForProject( p, mMapCanvas->mapSettings().destinationCrs(),
229+
mLineEdit->setText( QgsCoordinateUtils::formatCoordinateForProject( QgsProject::instance(), p, mMapCanvas->mapSettings().destinationCrs(),
230230
mMousePrecisionDecimalPlaces ) );
231231

232232
ensureCoordinatesVisible();

‎src/core/qgscoordinateutils.cpp

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -62,9 +62,12 @@ int QgsCoordinateUtils::calculateCoordinatePrecision( double mapUnitsPerPixel, c
6262
return dp;
6363
}
6464

65-
QString QgsCoordinateUtils::formatCoordinateForProject( const QgsPointXY &point, const QgsCoordinateReferenceSystem &destCrs, int precision )
65+
QString QgsCoordinateUtils::formatCoordinateForProject( QgsProject *project, const QgsPointXY &point, const QgsCoordinateReferenceSystem &destCrs, int precision )
6666
{
67-
QString format = QgsProject::instance()->readEntry( QStringLiteral( "PositionPrecision" ), QStringLiteral( "/DegreeFormat" ), QStringLiteral( "MU" ) );
67+
if ( !project )
68+
return QString();
69+
70+
QString format = project->readEntry( QStringLiteral( "PositionPrecision" ), QStringLiteral( "/DegreeFormat" ), QStringLiteral( "MU" ) );
6871

6972
QgsPointXY geo = point;
7073
if ( format == QLatin1String( "DM" ) || format == QLatin1String( "DMS" ) || format == QLatin1String( "D" ) )
@@ -73,9 +76,7 @@ QString QgsCoordinateUtils::formatCoordinateForProject( const QgsPointXY &point,
7376
if ( destCrs.isValid() && !destCrs.isGeographic() )
7477
{
7578
// need to transform to geographic coordinates
76-
Q_NOWARN_DEPRECATED_PUSH
77-
QgsCoordinateTransform ct( destCrs, QgsCoordinateReferenceSystem( GEOSRID ) );
78-
Q_NOWARN_DEPRECATED_POP
79+
QgsCoordinateTransform ct( destCrs, QgsCoordinateReferenceSystem( GEOSRID ), project );
7980
try
8081
{
8182
geo = ct.transform( point );

‎src/core/qgscoordinateutils.h

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626

2727
class QgsPointXY;
2828
class QgsCoordinateReferenceSystem;
29+
class QgsProject;
2930

3031
//not stable api - I plan on reworking this when QgsCoordinateFormatter lands in 2.16
3132
///@cond NOT_STABLE_API
@@ -53,7 +54,12 @@ class CORE_EXPORT QgsCoordinateUtils
5354
*/
5455
static int calculateCoordinatePrecision( double mapUnitsPerPixel, const QgsCoordinateReferenceSystem &mapCrs );
5556

56-
static QString formatCoordinateForProject( const QgsPointXY &point, const QgsCoordinateReferenceSystem &destCrs, int precision );
57+
/**
58+
* Formats a \a point coordinate for use with the specified \a project, respecting the project's
59+
* coordinate display settings.
60+
* \since QGIS 3.2
61+
*/
62+
static QString formatCoordinateForProject( QgsProject *project, const QgsPointXY &point, const QgsCoordinateReferenceSystem &destCrs, int precision );
5763

5864
};
5965

‎src/gui/qgsmaptoolidentify.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -325,7 +325,7 @@ void QgsMapToolIdentify::closestVertexAttributes( const QgsAbstractGeometry &geo
325325

326326
QString QgsMapToolIdentify::formatCoordinate( const QgsPointXY &canvasPoint ) const
327327
{
328-
return QgsCoordinateUtils::formatCoordinateForProject( canvasPoint, mCanvas->mapSettings().destinationCrs(),
328+
return QgsCoordinateUtils::formatCoordinateForProject( QgsProject::instance(), canvasPoint, mCanvas->mapSettings().destinationCrs(),
329329
mCoordinatePrecision );
330330
}
331331

0 commit comments

Comments
 (0)
Please sign in to comment.