mirror of
https://github.com/qgis/QGIS.git
synced 2025-03-03 00:02:25 -05:00
Don't try to get the operation details for the instantiated operation,
instead correctly use the desired operation for the handler
This commit is contained in:
parent
9883e18e21
commit
ee4774a84e
@ -58,7 +58,7 @@ QgsAppMissingGridHandler::QgsAppMissingGridHandler( QObject *parent )
|
||||
|
||||
QgsCoordinateTransform::setFallbackOperationOccurredHandler( [ = ]( const QgsCoordinateReferenceSystem & sourceCrs,
|
||||
const QgsCoordinateReferenceSystem & destinationCrs,
|
||||
const QgsDatumTransform::TransformDetails & desired )
|
||||
const QString & desired )
|
||||
{
|
||||
emit fallbackOperationOccurred( sourceCrs, destinationCrs, desired );
|
||||
} );
|
||||
@ -273,13 +273,13 @@ void QgsAppMissingGridHandler::onMissingGridUsedByContextHandler( const QgsCoord
|
||||
bar->pushWidget( widget, Qgis::Critical, 0 );
|
||||
}
|
||||
|
||||
void QgsAppMissingGridHandler::onFallbackOperationOccurred( const QgsCoordinateReferenceSystem &sourceCrs, const QgsCoordinateReferenceSystem &destinationCrs, const QgsDatumTransform::TransformDetails &desired )
|
||||
void QgsAppMissingGridHandler::onFallbackOperationOccurred( const QgsCoordinateReferenceSystem &sourceCrs, const QgsCoordinateReferenceSystem &destinationCrs, const QString &desired )
|
||||
{
|
||||
// if ( !shouldWarnAboutPairForCurrentProject( sourceCrs, destinationCrs ) )
|
||||
// return;
|
||||
|
||||
const QString shortMessage = tr( "Used a fallback transform from %1 to %2" ).arg( sourceCrs.userFriendlyIdentifier( QgsCoordinateReferenceSystem::ShortString ), destinationCrs.userFriendlyIdentifier( QgsCoordinateReferenceSystem::ShortString ) );
|
||||
const QString longMessage = tr( "<p>An alternative transform was used when transforming coordinates between <i>%1</i> and <i>%2</i>.</p><p style=\"color: red\">I wanted to use %3</p>" ).arg( sourceCrs.userFriendlyIdentifier(), destinationCrs.userFriendlyIdentifier(), desired.proj );
|
||||
const QString longMessage = tr( "<p>An alternative transform was used when transforming coordinates between <i>%1</i> and <i>%2</i>.</p><p style=\"color: red\">I wanted to use %3</p>" ).arg( sourceCrs.userFriendlyIdentifier(), destinationCrs.userFriendlyIdentifier(), desired );
|
||||
|
||||
QgsMessageBar *bar = QgisApp::instance()->messageBar();
|
||||
QgsMessageBarItem *widget = bar->createMessage( QString(), shortMessage );
|
||||
|
@ -51,7 +51,7 @@ class QgsAppMissingGridHandler : public QObject
|
||||
|
||||
void fallbackOperationOccurred( const QgsCoordinateReferenceSystem &sourceCrs,
|
||||
const QgsCoordinateReferenceSystem &destinationCrs,
|
||||
const QgsDatumTransform::TransformDetails &desired );
|
||||
const QString &desired );
|
||||
|
||||
private slots:
|
||||
|
||||
@ -74,7 +74,7 @@ class QgsAppMissingGridHandler : public QObject
|
||||
|
||||
void onFallbackOperationOccurred( const QgsCoordinateReferenceSystem &sourceCrs,
|
||||
const QgsCoordinateReferenceSystem &destinationCrs,
|
||||
const QgsDatumTransform::TransformDetails &desired );
|
||||
const QString &desired );
|
||||
|
||||
private:
|
||||
|
||||
|
@ -54,7 +54,7 @@ bool QgsCoordinateTransform::sDisableCache = false;
|
||||
|
||||
std::function< void( const QgsCoordinateReferenceSystem &sourceCrs,
|
||||
const QgsCoordinateReferenceSystem &destinationCrs,
|
||||
const QgsDatumTransform::TransformDetails &desiredOperation )> QgsCoordinateTransform::sFallbackOperationOccurredHandler = nullptr;
|
||||
const QString &desiredOperation )> QgsCoordinateTransform::sFallbackOperationOccurredHandler = nullptr;
|
||||
|
||||
QgsCoordinateTransform::QgsCoordinateTransform()
|
||||
{
|
||||
@ -776,8 +776,7 @@ void QgsCoordinateTransform::transformCoords( int numPoints, double *x, double *
|
||||
|
||||
if ( !mBallparkTransformsAreAppropriate && sFallbackOperationOccurredHandler )
|
||||
{
|
||||
QgsDatumTransform::TransformDetails desired = instantiatedCoordinateOperationDetails();
|
||||
sFallbackOperationOccurredHandler( d->mSourceCRS, d->mDestCRS, desired );
|
||||
sFallbackOperationOccurredHandler( d->mSourceCRS, d->mDestCRS, d->mProjCoordinateOperation );
|
||||
const QString warning = QStringLiteral( "A fallback coordinate operation was used between %1 and %2" ).arg( d->mSourceCRS.authid(),
|
||||
d->mDestCRS.authid() );
|
||||
qWarning( "%s", warning.toLatin1().constData() );
|
||||
@ -1123,7 +1122,7 @@ void QgsCoordinateTransform::setCustomMissingGridUsedByContextHandler( const std
|
||||
QgsCoordinateTransformPrivate::setCustomMissingGridUsedByContextHandler( handler );
|
||||
}
|
||||
|
||||
void QgsCoordinateTransform::setFallbackOperationOccurredHandler( const std::function<void ( const QgsCoordinateReferenceSystem &, const QgsCoordinateReferenceSystem &, const QgsDatumTransform::TransformDetails & )> &handler )
|
||||
void QgsCoordinateTransform::setFallbackOperationOccurredHandler( const std::function<void ( const QgsCoordinateReferenceSystem &, const QgsCoordinateReferenceSystem &, const QString & )> &handler )
|
||||
{
|
||||
sFallbackOperationOccurredHandler = handler;
|
||||
}
|
||||
|
@ -593,7 +593,7 @@ class CORE_EXPORT QgsCoordinateTransform
|
||||
*/
|
||||
static void setFallbackOperationOccurredHandler( const std::function< void( const QgsCoordinateReferenceSystem &sourceCrs,
|
||||
const QgsCoordinateReferenceSystem &destinationCrs,
|
||||
const QgsDatumTransform::TransformDetails &desiredOperation )> &handler );
|
||||
const QString &desiredOperation )> &handler );
|
||||
|
||||
#endif
|
||||
|
||||
@ -640,7 +640,7 @@ class CORE_EXPORT QgsCoordinateTransform
|
||||
|
||||
static std::function< void( const QgsCoordinateReferenceSystem &sourceCrs,
|
||||
const QgsCoordinateReferenceSystem &destinationCrs,
|
||||
const QgsDatumTransform::TransformDetails &desiredOperation )> sFallbackOperationOccurredHandler;
|
||||
const QString &desiredOperation )> sFallbackOperationOccurredHandler;
|
||||
|
||||
};
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user