made canvas set and get function non pure virtual functions, include tests for encode/decode uri functions in wcs

and minor cleans and code tweaks as suggested in the recent review.
This commit is contained in:
Samweli 2022-04-28 00:44:24 +03:00 committed by Nyall Dawson
parent e9fa93b78d
commit e38f3996f7
45 changed files with 66 additions and 519 deletions

View File

@ -37,7 +37,7 @@ Sets a browser ``model`` to use with the widget.
.. versionadded:: 3.18
%End
virtual QgsMapCanvas *mapCanvas() = 0;
virtual QgsMapCanvas *mapCanvas();
%Docstring
Returns the dialog map canvas
@ -46,7 +46,7 @@ Returns the dialog map canvas
.. versionadded:: 3.26
%End
virtual void setMapCanvas( QgsMapCanvas *mapCanvas ) = 0;
virtual void setMapCanvas( QgsMapCanvas *mapCanvas );
%Docstring
Sets the dialog map canvas

View File

@ -47,26 +47,9 @@ Triggered when the provider's connections need to be refreshed
virtual void reset();
virtual void setMapCanvas( QgsMapCanvas *mapCanvas );
%Docstring
Sets the dialog map canvas
.. seealso:: :py:func:`mapCanvas`
.. versionadded:: 3.24
%End
virtual QgsMapCanvas *mapCanvas();
%Docstring
Returns the dialog map canvas
.. seealso:: :py:func:`setMapCanvas`
.. versionadded:: 3.24
%End
protected slots:
void showError( const QString &title, const QString &format, const QString &error );
@ -200,6 +183,15 @@ Returns currently selected time
Returns currently selected cache load control
%End
void prepareExtent();
%Docstring
Prepares the spatial extent box with the general settings
including original crs, destination crs and the map
canvas if it is available.
.. versionadded:: 3.26
%End

View File

@ -45,14 +45,14 @@ Returns the source URI as currently defined by the widget.
%Docstring
Sets a map ``canvas`` associated with the widget.
.. versionadded:: 3.24
.. versionadded:: 3.26
%End
QgsMapCanvas *mapCanvas();
%Docstring
Returns the map canvas associated with the widget.
.. versionadded:: 3.24
.. versionadded:: 3.26
%End
signals:

View File

@ -87,18 +87,6 @@ QgsGdalSourceSelect::QgsGdalSourceSelect( QWidget *parent, Qt::WindowFlags fl, Q
mOpenOptionsGroupBox->setVisible( false );
}
void QgsGdalSourceSelect::setMapCanvas( QgsMapCanvas *mapCanvas )
{
mMapCanvas = mapCanvas;
}
QgsMapCanvas *QgsGdalSourceSelect::mapCanvas()
{
return mMapCanvas;
}
bool QgsGdalSourceSelect::isProtocolCloudType()
{
return ( cmbProtocolTypes->currentText() == QLatin1String( "AWS S3" ) ||

View File

@ -50,24 +50,6 @@ class QgsGdalSourceSelect : public QgsAbstractDataSourceWidget, private Ui::QgsG
void radioSrcProtocol_toggled( bool checked );
void cmbProtocolTypes_currentIndexChanged( const QString &text );
protected:
/**
* Sets the dialog map canvas
* \see mapCanvas()
*
* \since QGIS 3.24
*/
void setMapCanvas( QgsMapCanvas *mapCanvas ) override;
/**
* Returns the dialog map canvas
* \see setMapCanvas()
*
* \since QGIS 3.24
*/
QgsMapCanvas *mapCanvas() override;
private:
void computeDataSources();
@ -77,7 +59,6 @@ class QgsGdalSourceSelect : public QgsAbstractDataSourceWidget, private Ui::QgsG
QString mRasterPath;
QStringList mDataSources;
QgsMapCanvas *mMapCanvas = nullptr;
};

View File

@ -78,17 +78,6 @@ QgsOgrDbSourceSelect::~QgsOgrDbSourceSelect()
settings.setValue( QStringLiteral( "ogr/%1SourceSelect/HoldDialogOpen" ).arg( ogrDriverName( ) ), mHoldDialogOpen->isChecked(), QgsSettings::Section::Providers );
}
void QgsOgrDbSourceSelect::setMapCanvas( QgsMapCanvas *mapCanvas )
{
mMapCanvas = mapCanvas;
}
QgsMapCanvas *QgsOgrDbSourceSelect::mapCanvas()
{
return mMapCanvas;
}
// Remember which database is selected
void QgsOgrDbSourceSelect::cmbConnections_activated( int )

View File

@ -70,21 +70,6 @@ class QgsOgrDbSourceSelect: public QgsAbstractDbSourceSelect
//! Open file selector to add new connection
static bool newConnection( QWidget *parent );
/**
* Sets the dialog map canvas
* \see mapCanvas()
*
* \since QGIS 3.24
*/
void setMapCanvas( QgsMapCanvas *mapCanvas ) override;
/**
* Returns the dialog map canvas
* \see setMapCanvas()
*
* \since QGIS 3.24
*/
QgsMapCanvas *mapCanvas() override;
public slots:
@ -122,7 +107,6 @@ class QgsOgrDbSourceSelect: public QgsAbstractDbSourceSelect
QString mOgrDriverName;
QString mName;
QString mExtension;
QgsMapCanvas *mMapCanvas = nullptr;
};
///@endcond

View File

@ -144,17 +144,6 @@ QgsOgrSourceSelect::QgsOgrSourceSelect( QWidget *parent, Qt::WindowFlags fl, Qgs
mOpenOptionsGroupBox->setVisible( false );
}
void QgsOgrSourceSelect::setMapCanvas( QgsMapCanvas *mapCanvas )
{
mMapCanvas = mapCanvas;
}
QgsMapCanvas *QgsOgrSourceSelect::mapCanvas()
{
return mMapCanvas;
}
QStringList QgsOgrSourceSelect::dataSources()
{
return mDataSources;

View File

@ -64,22 +64,6 @@ class QgsOgrSourceSelect : public QgsAbstractDataSourceWidget, private Ui::QgsOg
//! Returns whether the protocol is a cloud type
bool isProtocolCloudType();
/**
* Sets the dialog map canvas
* \see mapCanvas()
*
* \since QGIS 3.24
*/
void setMapCanvas( QgsMapCanvas *mapCanvas ) override;
/**
* Returns the dialog map canvas
* \see setMapCanvas()
*
* \since QGIS 3.24
*/
QgsMapCanvas *mapCanvas() override;
private:
//! Stores the file vector filters
QString mVectorFileFilter;
@ -135,7 +119,6 @@ class QgsOgrSourceSelect : public QgsAbstractDataSourceWidget, private Ui::QgsOg
std::vector<QWidget *> mOpenOptionsWidgets;
QString mVectorPath;
QgsMapCanvas *mMapCanvas = nullptr;
};

View File

@ -61,17 +61,6 @@ QgsPointCloudSourceSelect::QgsPointCloudSourceSelect( QWidget *parent, Qt::Windo
}
}
void QgsPointCloudSourceSelect::setMapCanvas( QgsMapCanvas *mapCanvas )
{
mMapCanvas = mapCanvas;
}
QgsMapCanvas *QgsPointCloudSourceSelect::mapCanvas()
{
return mMapCanvas;
}
void QgsPointCloudSourceSelect::addButtonClicked()
{
if ( mDataSourceType == QLatin1String( "file" ) )

View File

@ -44,22 +44,6 @@ class QgsPointCloudSourceSelect : public QgsAbstractDataSourceWidget, private Ui
//! Determines the tables the user selected and closes the dialog
void addButtonClicked() override;
/**
* Sets the dialog map canvas
* \see mapCanvas()
*
* \since QGIS 3.24
*/
void setMapCanvas( QgsMapCanvas *mapCanvas ) override;
/**
* Returns the dialog map canvas
* \see setMapCanvas()
*
* \since QGIS 3.24
*/
QgsMapCanvas *mapCanvas() override;
private slots:
void radioSrcProtocol_toggled( bool checked );
void radioSrcFile_toggled( bool checked );
@ -70,7 +54,6 @@ class QgsPointCloudSourceSelect : public QgsAbstractDataSourceWidget, private Ui
private:
QString mPath;
QString mDataSourceType;
QgsMapCanvas *mMapCanvas = nullptr;
};
///@endcond

View File

@ -60,14 +60,14 @@ class GUI_EXPORT QgsAbstractDataSourceWidget : public QDialog
*
* \since QGIS 3.26
*/
virtual QgsMapCanvas *mapCanvas() = 0;
virtual QgsMapCanvas *mapCanvas() {return mMapCanvas; }
/**
* Sets the dialog map canvas
* \see mapCanvas()
* \since QGIS 3.26
*/
virtual void setMapCanvas( QgsMapCanvas *mapCanvas ) = 0;
virtual void setMapCanvas( QgsMapCanvas *mapCanvas ) { mMapCanvas = mapCanvas; }
public slots:
@ -203,6 +203,7 @@ class GUI_EXPORT QgsAbstractDataSourceWidget : public QDialog
QPushButton *mAddButton = nullptr;
QgsProviderRegistry::WidgetMode mWidgetMode;
QgsBrowserModel *mBrowserModel = nullptr;
QgsMapCanvas *mMapCanvas = nullptr;
};

View File

@ -111,21 +111,15 @@ QgsOWSSourceSelect::QgsOWSSourceSelect( const QString &service, QWidget *parent,
mCRSWidget->hide();
mCacheWidget->hide();
}
prepareExtent();
// set up the WMS connections we already know about
populateConnectionList();
}
QgsMapCanvas *QgsOWSSourceSelect::mapCanvas()
{
return mMapCanvas;
}
void QgsOWSSourceSelect::setMapCanvas( QgsMapCanvas *mapCanvas )
{
mMapCanvas = mapCanvas;
QgsAbstractDataSourceWidget::setMapCanvas( mapCanvas );
prepareExtent();
}
@ -133,13 +127,13 @@ void QgsOWSSourceSelect::prepareExtent()
{
QgsCoordinateReferenceSystem crs = QgsCoordinateReferenceSystem( QStringLiteral( "EPSG:4326" ) );
mSpatialExtentBox->setOutputCrs( crs );
QgsMapCanvas *mapCanvas = mMapCanvas;
if ( !mapCanvas )
QgsMapCanvas *canvas = mapCanvas();
if ( !canvas )
return;
QgsCoordinateReferenceSystem destinationCrs = mapCanvas->mapSettings().destinationCrs();
QgsCoordinateReferenceSystem destinationCrs = canvas->mapSettings().destinationCrs();
mSpatialExtentBox->setCurrentExtent( destinationCrs.bounds(), destinationCrs );
mSpatialExtentBox->setOutputExtentFromCurrent();
mSpatialExtentBox->setMapCanvas( mapCanvas );
mSpatialExtentBox->setMapCanvas( canvas );
}
void QgsOWSSourceSelect::refresh()

View File

@ -69,29 +69,8 @@ class GUI_EXPORT QgsOWSSourceSelect : public QgsAbstractDataSourceWidget, protec
void reset() override;
/**
* Prepares the spatial extent box with the general settings
* including original crs, destination crs and the map
* canvas if it is available.
*
* \since QGIS 3.24
*/
void prepareExtent() SIP_SKIP;
/**
* Sets the dialog map canvas
* \see mapCanvas()
* \since QGIS 3.24
*/
void setMapCanvas( QgsMapCanvas *mapCanvas ) override;
/**
* Returns the dialog map canvas
* \see setMapCanvas()
*
* \since QGIS 3.24
*/
QgsMapCanvas *mapCanvas() override;
protected slots:
//! show whatever error is exposed.
@ -195,6 +174,15 @@ class GUI_EXPORT QgsOWSSourceSelect : public QgsAbstractDataSourceWidget, protec
//! Returns currently selected cache load control
QNetworkRequest::CacheLoadControl selectedCacheLoadControl();
/**
* Prepares the spatial extent box with the general settings
* including original crs, destination crs and the map
* canvas if it is available.
*
* \since QGIS 3.26
*/
void prepareExtent();
QList<QTreeWidgetItem *> mCurrentSelection;
QTableWidgetItem *mCurrentTileset = nullptr;
@ -256,8 +244,6 @@ class GUI_EXPORT QgsOWSSourceSelect : public QgsAbstractDataSourceWidget, protec
//! Layer specific settings widget
QgsOWSSourceWidget *mSourceWidget = nullptr;
QgsMapCanvas *mMapCanvas = nullptr;
private slots:
void mTilesetsTableWidget_itemClicked( QTableWidgetItem *item );
void mLayerUpButton_clicked();

View File

@ -39,7 +39,7 @@ QgsOWSSourceWidget::QgsOWSSourceWidget( const QString &providerKey, QWidget *par
mSpatialExtentBox->setMapCanvas( mapCanvas() );
}
void QgsOWSSourceWidget::setExtent( QgsRectangle extent )
void QgsOWSSourceWidget::setExtent( const QgsRectangle &extent )
{
QgsCoordinateReferenceSystem destinationCrs;
QgsCoordinateReferenceSystem crs = QgsCoordinateReferenceSystem( QStringLiteral( "EPSG:4326" ) );

View File

@ -50,7 +50,7 @@ class GUI_EXPORT QgsOWSSourceWidget : public QgsProviderSourceWidget, private Ui
*
* \since QGIS 3.26
*/
void setExtent( QgsRectangle extent );
void setExtent( const QgsRectangle &extent );
/**
* Returns the spatial extent from the widget extent box.

View File

@ -57,14 +57,14 @@ class GUI_EXPORT QgsProviderSourceWidget : public QWidget
/**
* Sets a map \a canvas associated with the widget.
*
* \since QGIS 3.24
* \since QGIS 3.26
*/
void setMapCanvas( QgsMapCanvas *canvas );
/**
* Returns the map canvas associated with the widget.
*
* \since QGIS 3.24
* \since QGIS 3.26
*/
QgsMapCanvas *mapCanvas();

View File

@ -65,17 +65,6 @@ QgsVectorTileSourceSelect::QgsVectorTileSourceSelect( QWidget *parent, Qt::Windo
populateConnectionList();
}
void QgsVectorTileSourceSelect::setMapCanvas( QgsMapCanvas *mapCanvas )
{
mMapCanvas = mapCanvas;
}
QgsMapCanvas *QgsVectorTileSourceSelect::mapCanvas()
{
return mMapCanvas;
}
void QgsVectorTileSourceSelect::btnNew_clicked()
{
QgsVectorTileConnectionDialog nc( this );

View File

@ -44,22 +44,6 @@ class QgsVectorTileSourceSelect : public QgsAbstractDataSourceWidget, private Ui
//! Determines the layers the user selected
void addButtonClicked() override;
/**
* Sets the dialog map canvas
* \see mapCanvas()
*
* \since QGIS 3.24
*/
void setMapCanvas( QgsMapCanvas *mapCanvas ) override;
/**
* Returns the dialog map canvas
* \see setMapCanvas()
*
* \since QGIS 3.24
*/
QgsMapCanvas *mapCanvas() override;
private slots:
//! Opens the create connection dialog to build a new connection
@ -80,8 +64,6 @@ class QgsVectorTileSourceSelect : public QgsAbstractDataSourceWidget, private Ui
void populateConnectionList();
void setConnectionListPosition();
void showHelp();
QgsMapCanvas *mMapCanvas = nullptr;
};
///@endcond

View File

@ -109,16 +109,6 @@ QgsArcGisRestSourceSelect::~QgsArcGisRestSourceSelect()
{
}
void QgsArcGisRestSourceSelect::setMapCanvas( QgsMapCanvas *mapCanvas )
{
mMapCanvas = mapCanvas;
}
QgsMapCanvas *QgsArcGisRestSourceSelect::mapCanvas()
{
return mMapCanvas;
}
void QgsArcGisRestSourceSelect::populateImageEncodings( const QString &formats )
{
const QStringList availableEncodings = formats.split( ',' );

View File

@ -66,22 +66,6 @@ class QgsArcGisRestSourceSelect : public QgsAbstractDataSourceWidget, protected
//! Destructor
~QgsArcGisRestSourceSelect() override;
/**
* Sets the dialog map canvas
* \see mapCanvas()
*
* \since QGIS 3.24
*/
void setMapCanvas( QgsMapCanvas *mapCanvas ) override;
/**
* Returns the dialog map canvas
* \see setMapCanvas()
*
* \since QGIS 3.24
*/
QgsMapCanvas *mapCanvas() override;
protected:
QgsBrowserGuiModel *mBrowserModel = nullptr;
@ -125,7 +109,6 @@ class QgsArcGisRestSourceSelect : public QgsAbstractDataSourceWidget, protected
private:
QString mConnectedService;
QgsMapCanvas *mMapCanvas = nullptr;
};

View File

@ -118,17 +118,6 @@ QgsDelimitedTextSourceSelect::QgsDelimitedTextSourceSelect( QWidget *parent, Qt:
mScanWidget->hide( );
}
void QgsDelimitedTextSourceSelect::setMapCanvas( QgsMapCanvas *mapCanvas )
{
mMapCanvas = mapCanvas;
}
QgsMapCanvas *QgsDelimitedTextSourceSelect::mapCanvas()
{
return mMapCanvas;
}
void QgsDelimitedTextSourceSelect::addButtonClicked()
{
// The following conditions should not be hit! OK will not be enabled...

View File

@ -95,22 +95,6 @@ class QgsDelimitedTextSourceSelect : public QgsAbstractDataSourceWidget, private
public:
QgsDelimitedTextSourceSelect( QWidget *parent = nullptr, Qt::WindowFlags fl = QgsGuiUtils::ModalDialogFlags, QgsProviderRegistry::WidgetMode widgetMode = QgsProviderRegistry::WidgetMode::None );
/**
* Sets the dialog map canvas
* \see mapCanvas()
*
* \since QGIS 3.24
*/
void setMapCanvas( QgsMapCanvas *mapCanvas ) override;
/**
* Returns the dialog map canvas
* \see setMapCanvas()
*
* \since QGIS 3.24
*/
QgsMapCanvas *mapCanvas() override;
private:
bool loadDelimitedFileDefinition();
void updateFieldLists();
@ -135,7 +119,6 @@ class QgsDelimitedTextSourceSelect : public QgsAbstractDataSourceWidget, private
QPointer<QgsDelimitedTextFileScanTask> mScanTask;
QButtonGroup *bgFileFormat = nullptr;
QButtonGroup *bgGeomType = nullptr;
QgsMapCanvas *mMapCanvas = nullptr;
void showHelp();
void updateCrsWidgetVisibility();
QString url( bool skipOverriddenTypes = false );

View File

@ -78,17 +78,6 @@ QgsGeoNodeSourceSelect::~QgsGeoNodeSourceSelect()
emit abortRequests();
}
void QgsGeoNodeSourceSelect::setMapCanvas( QgsMapCanvas *mapCanvas )
{
mMapCanvas = mapCanvas;
}
QgsMapCanvas *QgsGeoNodeSourceSelect::mapCanvas()
{
return mMapCanvas;
}
void QgsGeoNodeSourceSelect::reset()
{
treeView->clearSelection();

View File

@ -47,22 +47,6 @@ class QgsGeoNodeSourceSelect: public QgsAbstractDataSourceWidget, private Ui::Qg
void reset() override;
/**
* Sets the dialog map canvas
* \see mapCanvas()
*
* \since QGIS 3.24
*/
void setMapCanvas( QgsMapCanvas *mapCanvas ) override;
/**
* Returns the dialog map canvas
* \see setMapCanvas()
*
* \since QGIS 3.24
*/
QgsMapCanvas *mapCanvas() override;
private:
void addButtonClicked() override;
@ -84,7 +68,6 @@ class QgsGeoNodeSourceSelect: public QgsAbstractDataSourceWidget, private Ui::Qg
QStandardItemModel *mModel = nullptr;
QSortFilterProxyModel *mModelProxy = nullptr;
QModelIndex mSQLIndex;
QgsMapCanvas *mMapCanvas = nullptr;
void updateButtonStateForAvailableConnections();
QgsGeoNodeConnection currentConnection() const;

View File

@ -41,18 +41,6 @@ QgsGpxSourceSelect::QgsGpxSourceSelect( QWidget *parent, Qt::WindowFlags fl, Qgs
this, &QgsGpxSourceSelect::enableRelevantControls );
}
void QgsGpxSourceSelect::setMapCanvas( QgsMapCanvas *mapCanvas )
{
mMapCanvas = mapCanvas;
}
QgsMapCanvas *QgsGpxSourceSelect::mapCanvas()
{
return mMapCanvas;
}
void QgsGpxSourceSelect::addButtonClicked()
{
if ( mGpxPath.isEmpty() )

View File

@ -34,22 +34,6 @@ class QgsGpxSourceSelect : public QgsAbstractDataSourceWidget, private Ui::QgsGp
//! Constructor
QgsGpxSourceSelect( QWidget *parent = nullptr, Qt::WindowFlags fl = QgsGuiUtils::ModalDialogFlags, QgsProviderRegistry::WidgetMode widgetMode = QgsProviderRegistry::WidgetMode::None );
/**
* Sets the dialog map canvas
* \see mapCanvas()
*
* \since QGIS 3.24
*/
void setMapCanvas( QgsMapCanvas *mapCanvas ) override;
/**
* Returns the dialog map canvas
* \see setMapCanvas()
*
* \since QGIS 3.24
*/
QgsMapCanvas *mapCanvas() override;
public slots:
//! Determines the tables the user selected and closes the dialog
void addButtonClicked() override;
@ -60,7 +44,6 @@ class QgsGpxSourceSelect : public QgsAbstractDataSourceWidget, private Ui::QgsGp
private:
QString mGpxPath;
QgsMapCanvas *mMapCanvas = nullptr;
};

View File

@ -37,17 +37,6 @@ QgsMdalSourceSelect::QgsMdalSourceSelect( QWidget *parent, Qt::WindowFlags fl, Q
} );
}
void QgsMdalSourceSelect::setMapCanvas( QgsMapCanvas *mapCanvas )
{
mMapCanvas = mapCanvas;
}
QgsMapCanvas *QgsMdalSourceSelect::mapCanvas()
{
return mMapCanvas;
}
void QgsMdalSourceSelect::addButtonClicked()
{
if ( mMeshPath.isEmpty() )

View File

@ -34,30 +34,13 @@ class QgsMdalSourceSelect : public QgsAbstractDataSourceWidget, private Ui::QgsM
//! Constructor
QgsMdalSourceSelect( QWidget *parent = nullptr, Qt::WindowFlags fl = QgsGuiUtils::ModalDialogFlags, QgsProviderRegistry::WidgetMode widgetMode = QgsProviderRegistry::WidgetMode::None );
/**
* Sets the dialog map canvas
* \see mapCanvas()
*
* \since QGIS 3.24
*/
void setMapCanvas( QgsMapCanvas *mapCanvas ) override;
/**
* Returns the dialog map canvas
* \see setMapCanvas()
*
* \since QGIS 3.24
*/
QgsMapCanvas *mapCanvas() override;
public slots:
//! Determines the tables the user selected and closes the dialog
void addButtonClicked() override;
private:
QString mMeshPath;
QgsMapCanvas *mMapCanvas = nullptr;
};
#endif // QGMDALSOURCESELECT_H

View File

@ -169,16 +169,6 @@ QgsMssqlSourceSelect::QgsMssqlSourceSelect( QWidget *parent, Qt::WindowFlags fl,
cbxAllowGeometrylessTables->setDisabled( true );
}
void QgsMssqlSourceSelect::setMapCanvas( QgsMapCanvas *mapCanvas )
{
mMapCanvas = mapCanvas;
}
QgsMapCanvas *QgsMssqlSourceSelect::mapCanvas()
{
return mMapCanvas;
}
void QgsMssqlSourceSelect::btnNew_clicked()
{
QgsMssqlNewConnection nc( this );

View File

@ -77,22 +77,6 @@ class QgsMssqlSourceSelect : public QgsAbstractDbSourceSelect
//! Connection info (database, host, user, password)
QString connectionInfo();
/**
* Sets the dialog map canvas
* \see mapCanvas()
*
* \since QGIS 3.24
*/
void setMapCanvas( QgsMapCanvas *mapCanvas ) override;
/**
* Returns the dialog map canvas
* \see setMapCanvas()
*
* \since QGIS 3.24
*/
QgsMapCanvas *mapCanvas() override;
void reset() override;
signals:
@ -161,8 +145,6 @@ class QgsMssqlSourceSelect : public QgsAbstractDbSourceSelect
//! Model that acts as datasource for mTableTreeWidget
QgsMssqlTableModel *mTableModel = nullptr;
QgsMapCanvas *mMapCanvas = nullptr;
void finishList();
void showHelp();

View File

@ -258,17 +258,6 @@ QgsPgSourceSelect::QgsPgSourceSelect( QWidget *parent, Qt::WindowFlags fl, QgsPr
}
}
void QgsPgSourceSelect::setMapCanvas( QgsMapCanvas *mapCanvas )
{
mMapCanvas = mapCanvas;
}
QgsMapCanvas *QgsPgSourceSelect::mapCanvas()
{
return mMapCanvas;
}
//! Autoconnected SLOTS
// Slot for adding a new connection
void QgsPgSourceSelect::btnNew_clicked()

View File

@ -77,22 +77,6 @@ class QgsPgSourceSelect : public QgsAbstractDbSourceSelect
//! Data source URI
QgsDataSourceUri dataSourceUri();
/**
* Sets the dialog map canvas
* \see mapCanvas()
*
* \since QGIS 3.24
*/
void setMapCanvas( QgsMapCanvas *mapCanvas ) override;
/**
* Returns the dialog map canvas
* \see setMapCanvas()
*
* \since QGIS 3.24
*/
QgsMapCanvas *mapCanvas() override;
signals:
void addGeometryColumn( const QgsPostgresLayerProperty & );
void progressMessage( const QString & );

View File

@ -93,16 +93,6 @@ QgsSpatiaLiteSourceSelect::~QgsSpatiaLiteSourceSelect()
settings.setValue( QStringLiteral( "Windows/SpatiaLiteSourceSelect/HoldDialogOpen" ), mHoldDialogOpen->isChecked() );
}
void QgsSpatiaLiteSourceSelect::setMapCanvas( QgsMapCanvas *mapCanvas )
{
mMapCanvas = mapCanvas;
}
QgsMapCanvas *QgsSpatiaLiteSourceSelect::mapCanvas()
{
return mMapCanvas;
}
// Remember which database is selected
void QgsSpatiaLiteSourceSelect::cmbConnections_activated( int )

View File

@ -64,22 +64,6 @@ class QgsSpatiaLiteSourceSelect: public QgsAbstractDbSourceSelect
// Store the selected database
void dbChanged();
/**
* Sets the dialog map canvas
* \see mapCanvas()
*
* \since QGIS 3.24
*/
void setMapCanvas( QgsMapCanvas *mapCanvas ) override;
/**
* Returns the dialog map canvas
* \see setMapCanvas()
*
* \since QGIS 3.24
*/
QgsMapCanvas *mapCanvas() override;
public slots:
//! Triggered when the provider's connections need to be refreshed
@ -138,7 +122,6 @@ class QgsSpatiaLiteSourceSelect: public QgsAbstractDbSourceSelect
QString layerURI( const QModelIndex &index );
QPushButton *mStatsButton = nullptr;
QgsMapCanvas *mMapCanvas = nullptr;
};
#endif // QGSSPATIALITESOURCESELECT_H

View File

@ -101,16 +101,6 @@ void QgsVirtualLayerSourceSelect::refresh()
updateLayersList();
}
void QgsVirtualLayerSourceSelect::setMapCanvas( QgsMapCanvas *mapCanvas )
{
mMapCanvas = mapCanvas;
}
QgsMapCanvas *QgsVirtualLayerSourceSelect::mapCanvas()
{
return mMapCanvas;
}
void QgsVirtualLayerSourceSelect::layerComboChanged( int idx )
{
if ( idx == -1 )

View File

@ -39,22 +39,6 @@ class QgsVirtualLayerSourceSelect : public QgsAbstractDataSourceWidget, private
public:
QgsVirtualLayerSourceSelect( QWidget *parent = nullptr, Qt::WindowFlags fl = QgsGuiUtils::ModalDialogFlags, QgsProviderRegistry::WidgetMode widgetMode = QgsProviderRegistry::WidgetMode::None );
/**
* Sets the dialog map canvas
* \see mapCanvas()
*
* \since QGIS 3.24
*/
void setMapCanvas( QgsMapCanvas *mapCanvas ) override;
/**
* Returns the dialog map canvas
* \see setMapCanvas()
*
* \since QGIS 3.24
*/
QgsMapCanvas *mapCanvas() override;
public slots:
//! Triggered when the provider's connections need to be refreshed
void refresh() override;
@ -81,8 +65,6 @@ class QgsVirtualLayerSourceSelect : public QgsAbstractDataSourceWidget, private
void addEmbeddedLayer( const QString &name, const QString &provider, const QString &encoding, const QString &source );
QgsLayerTreeView *mTreeView = nullptr;
bool preFlight();
QgsMapCanvas *mMapCanvas = nullptr;
};
#endif

View File

@ -51,10 +51,7 @@ QString QgsWcsSourceWidgetProvider::providerKey() const
}
bool QgsWcsSourceWidgetProvider::canHandleLayer( QgsMapLayer *layer ) const
{
if ( layer->providerType() != QLatin1String( "wcs" ) )
return false;
return true;
return layer->providerType() == QLatin1String( "wcs" );
}
QgsProviderSourceWidget *QgsWcsSourceWidgetProvider::createWidget( QgsMapLayer *layer, QWidget *parent )

View File

@ -192,11 +192,6 @@ void QgsWCSSourceSelect::mLayersTreeWidget_itemSelectionChanged()
emit enableButtons( true );
}
void QgsWCSSourceSelect::populateExtent()
{
QgsOWSSourceSelect::prepareExtent();
}
void QgsWCSSourceSelect::updateButtons()
{

View File

@ -77,7 +77,6 @@ class QgsWCSSourceSelect : public QgsOWSSourceSelect
QgsMapCanvas *mMapCanvas = nullptr;
QString selectedIdentifier();
void populateExtent();
// QgsWcsCapabilities virtual methods
void populateLayerList() override;

View File

@ -130,16 +130,6 @@ QgsWFSSourceSelect::~QgsWFSSourceSelect()
delete mBuildQueryButton;
}
void QgsWFSSourceSelect::setMapCanvas( QgsMapCanvas *mapCanvas )
{
mMapCanvas = mapCanvas;
}
QgsMapCanvas *QgsWFSSourceSelect::mapCanvas()
{
return mMapCanvas;
}
void QgsWFSSourceSelect::reset()
{
treeView->clearSelection();

View File

@ -54,22 +54,6 @@ class QgsWFSSourceSelect: public QgsAbstractDataSourceWidget, private Ui::QgsWFS
QgsWFSSourceSelect( QWidget *parent = nullptr, Qt::WindowFlags fl = QgsGuiUtils::ModalDialogFlags, QgsProviderRegistry::WidgetMode widgetMode = QgsProviderRegistry::WidgetMode::None );
~QgsWFSSourceSelect() override;
/**
* Sets the dialog map canvas
* \see mapCanvas()
*
* \since QGIS 3.24
*/
void setMapCanvas( QgsMapCanvas *mapCanvas ) override;
/**
* Returns the dialog map canvas
* \see setMapCanvas()
*
* \since QGIS 3.24
*/
QgsMapCanvas *mapCanvas() override;
void reset() override;
private:
@ -106,8 +90,6 @@ class QgsWFSSourceSelect: public QgsAbstractDataSourceWidget, private Ui::QgsWFS
*/
QString getPreferredCrs( const QSet<QString> &crsSet ) const;
QgsMapCanvas *mMapCanvas = nullptr;
void showHelp();
public slots:

View File

@ -154,15 +154,6 @@ QgsWMSSourceSelect::QgsWMSSourceSelect( QWidget *parent, Qt::WindowFlags fl, Qgs
}
void QgsWMSSourceSelect::setMapCanvas( QgsMapCanvas *mapCanvas )
{
mMapCanvas = mapCanvas;
}
QgsMapCanvas *QgsWMSSourceSelect::mapCanvas()
{
return mMapCanvas;
}
void QgsWMSSourceSelect::refresh()
{

View File

@ -60,22 +60,6 @@ class QgsWMSSourceSelect : public QgsAbstractDataSourceWidget, private Ui::QgsWM
void reset() override;
/**
* Sets the dialog map canvas
* \see mapCanvas()
*
* \since QGIS 3.24
*/
void setMapCanvas( QgsMapCanvas *mapCanvas ) override;
/**
* Returns the dialog map canvas
* \see setMapCanvas()
*
* \since QGIS 3.24
*/
QgsMapCanvas *mapCanvas() override;
private slots:
//! Opens the create connection dialog to build a new connection
@ -207,7 +191,6 @@ class QgsWMSSourceSelect : public QgsAbstractDataSourceWidget, private Ui::QgsWM
QMap<QTreeWidgetItem *, bool> mTreeInitialExpand = QMap<QTreeWidgetItem *, bool>();
QgsWmsInterpretationComboBox *mInterpretationCombo = nullptr;
QgsMapCanvas *mMapCanvas = nullptr;
private slots:
void lstTilesets_itemClicked( QTableWidgetItem *item );

View File

@ -27,6 +27,7 @@
#include <qgsrasterchecker.h>
#include <qgsproviderregistry.h>
#include <qgsapplication.h>
#include <qgswcsprovider.h>
#define TINY_VALUE std::numeric_limits<double>::epsilon() * 20
@ -43,6 +44,7 @@ class TestQgsWcsProvider: public QObject
void init() {} // will be called before each testfunction is executed.
void cleanup() {} // will be called after every testfunction.
void providerUriUpdates();
void read();
private:
bool read( const QString &identifier, const QString &wcsUri, const QString &filePath, QString &report );
@ -162,5 +164,33 @@ bool TestQgsWcsProvider::read( const QString &identifier, const QString &wcsUri,
return ok;
}
void TestQgsWcsProvider::providerUriUpdates()
{
QgsProviderMetadata *metadata = QgsProviderRegistry::instance()->providerMetadata( "wcs" );
QString uriString = QStringLiteral( "crs=EPSG:4326&dpiMode=7&"
"layers=testlayer&styles&"
"url=http://localhost:8380/mapserv&"
"testParam=true" );
QVariantMap parts = metadata->decodeUri( uriString );
QVariantMap expectedParts { { QString( "crs" ), QVariant( "EPSG:4326" ) }, { QString( "dpiMode" ), QVariant( "7" ) },
{ QString( "testParam" ), QVariant( "true" ) }, { QString( "layers" ), QVariant( "testlayer" ) },
{ QString( "styles" ), QString() }, { QString( "url" ), QVariant( "http://localhost:8380/mapserv" ) } };
QCOMPARE( parts, expectedParts );
parts["testParam"] = QVariant( "false" );
QCOMPARE( parts["testParam"], QVariant( "false" ) );
QString updatedUri = metadata->encodeUri( parts );
QString expectedUri = QStringLiteral( "crs=EPSG:4326&dpiMode=7&"
"layers=testlayer&styles&"
"testParam=false&"
"url=http://localhost:8380/mapserv" );
QCOMPARE( updatedUri, expectedUri );
}
QGSTEST_MAIN( TestQgsWcsProvider )
#include "testqgswcsprovider.moc"