From 60ba6fb2905a70115b55b642069307366cdd9c44 Mon Sep 17 00:00:00 2001 From: Nyall Dawson Date: Tue, 4 Feb 2020 13:11:02 +1000 Subject: [PATCH] Don't force users to make a choice in the datum transform dialog It's possible to get a situation where none of the options can be selected, because they all require a grid which isn't available on the system. So always allow users to close the dialog to dismiss it (which has the same effect as picking the default selection from the dialog when possible, or giving null transforms if NO transforms are available at all...) Fixes #34234 (cherry picked from commit 644a5525ec08a77b4c703a7066c94802bbfa1036) --- src/app/qgsdatumtransformtablewidget.cpp | 2 +- src/gui/qgsdatumtransformdialog.cpp | 2 +- src/gui/qgsdatumtransformdialog.h | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/app/qgsdatumtransformtablewidget.cpp b/src/app/qgsdatumtransformtablewidget.cpp index e922a8fc8416..2860fc49e552 100644 --- a/src/app/qgsdatumtransformtablewidget.cpp +++ b/src/app/qgsdatumtransformtablewidget.cpp @@ -291,7 +291,7 @@ void QgsDatumTransformTableWidget::editDatumTransform() } #if PROJ_VERSION_MAJOR>=6 - if ( sourceCrs.isValid() && destinationCrs.isValid() && !proj.isEmpty() ) + if ( sourceCrs.isValid() && destinationCrs.isValid() ) #else if ( sourceCrs.isValid() && destinationCrs.isValid() && ( sourceTransform != -1 || destinationTransform != -1 ) ) diff --git a/src/gui/qgsdatumtransformdialog.cpp b/src/gui/qgsdatumtransformdialog.cpp index 8fe812c7fe13..83088e246c4c 100644 --- a/src/gui/qgsdatumtransformdialog.cpp +++ b/src/gui/qgsdatumtransformdialog.cpp @@ -44,7 +44,7 @@ bool QgsDatumTransformDialog::run( const QgsCoordinateReferenceSystem &sourceCrs return true; } - QgsDatumTransformDialog dlg( sourceCrs, destinationCrs, false, true, true, qMakePair( -1, -1 ), parent, nullptr, QString(), mapCanvas ); + QgsDatumTransformDialog dlg( sourceCrs, destinationCrs, false, true, false, qMakePair( -1, -1 ), parent, nullptr, QString(), mapCanvas ); if ( !windowTitle.isEmpty() ) dlg.setWindowTitle( windowTitle ); diff --git a/src/gui/qgsdatumtransformdialog.h b/src/gui/qgsdatumtransformdialog.h index 78fe86711f2a..48bcd7494532 100644 --- a/src/gui/qgsdatumtransformdialog.h +++ b/src/gui/qgsdatumtransformdialog.h @@ -76,7 +76,7 @@ class GUI_EXPORT QgsDatumTransformDialog : public QDialog, private Ui::QgsDatumT QgsMapCanvas *mapCanvas = nullptr, const QString &windowTitle = QString() ); - // TODO QGIS 4.0 - remove selectedDatumTransform + // TODO QGIS 4.0 - remove selectedDatumTransform, forceChoice /** * Constructor for QgsDatumTransformDialog.