From 751cb4f5d9ed7bde97ee9b03fa6d81e9b5200f90 Mon Sep 17 00:00:00 2001 From: Alessandro Pasotti Date: Fri, 19 Apr 2024 09:56:13 +0200 Subject: [PATCH] Simplify code and set default to 10 for old connections --- src/core/qgsowsconnection.cpp | 6 +++--- src/core/qgsowsconnection.h | 2 +- src/gui/qgsnewhttpconnection.cpp | 12 ++++++------ src/providers/wms/qgswmsdataitems.cpp | 15 ++++----------- src/providers/wms/qgswmssourceselect.cpp | 14 +++++++------- src/ui/qgsnewhttpconnectionbase.ui | 8 ++++---- 6 files changed, 25 insertions(+), 32 deletions(-) diff --git a/src/core/qgsowsconnection.cpp b/src/core/qgsowsconnection.cpp index 6afa02e6d4a..0d9ef447c8b 100644 --- a/src/core/qgsowsconnection.cpp +++ b/src/core/qgsowsconnection.cpp @@ -74,7 +74,7 @@ const QgsSettingsEntryBool *QgsOwsConnection::settingsInvertAxisOrientation = ne const QgsSettingsEntryString *QgsOwsConnection::settingsUsername = new QgsSettingsEntryString( QStringLiteral( "username" ), sTreeOwsConnections ) ; const QgsSettingsEntryString *QgsOwsConnection::settingsPassword = new QgsSettingsEntryString( QStringLiteral( "password" ), sTreeOwsConnections ) ; const QgsSettingsEntryString *QgsOwsConnection::settingsAuthCfg = new QgsSettingsEntryString( QStringLiteral( "authcfg" ), sTreeOwsConnections ) ; -const QgsSettingsEntryInteger *QgsOwsConnection::settingsDefaultFeatureCount = new QgsSettingsEntryInteger( QStringLiteral( "default-feature-count" ), sTreeOwsConnections, 10 ); +const QgsSettingsEntryInteger *QgsOwsConnection::settingsFeatureCount = new QgsSettingsEntryInteger( QStringLiteral( "feature-count" ), sTreeOwsConnections, 10 ); QgsOwsConnection::QgsOwsConnection( const QString &service, const QString &connName ) : mConnName( connName ) @@ -213,9 +213,9 @@ QgsDataSourceUri &QgsOwsConnection::addWmsWcsConnectionSettings( QgsDataSourceUr { uri.setParam( QStringLiteral( "tilePixelRatio" ), QString::number( static_cast( settingsTilePixelRatio->value( {service.toLower(), connName} ) ) ) ); } - if ( settingsDefaultFeatureCount->exists( {service.toLower(), connName} ) ) + if ( settingsFeatureCount->exists( {service.toLower(), connName} ) ) { - uri.setParam( QStringLiteral( "defaultFeatureCount" ), QString::number( settingsDefaultFeatureCount->value( {service.toLower(), connName} ) ) ); + uri.setParam( QStringLiteral( "featureCount" ), QString::number( settingsFeatureCount->value( {service.toLower(), connName} ) ) ); } return uri; diff --git a/src/core/qgsowsconnection.h b/src/core/qgsowsconnection.h index 84cd40065dd..b570a37aff0 100644 --- a/src/core/qgsowsconnection.h +++ b/src/core/qgsowsconnection.h @@ -115,7 +115,7 @@ class CORE_EXPORT QgsOwsConnection : public QObject static const QgsSettingsEntryString *settingsUsername; static const QgsSettingsEntryString *settingsPassword; static const QgsSettingsEntryString *settingsAuthCfg; - static const QgsSettingsEntryInteger *settingsDefaultFeatureCount; + static const QgsSettingsEntryInteger *settingsFeatureCount; #endif diff --git a/src/gui/qgsnewhttpconnection.cpp b/src/gui/qgsnewhttpconnection.cpp index efc80196b80..e602376b401 100644 --- a/src/gui/qgsnewhttpconnection.cpp +++ b/src/gui/qgsnewhttpconnection.cpp @@ -141,10 +141,10 @@ QgsNewHttpConnection::QgsNewHttpConnection( QWidget *parent, ConnectionTypes typ cbxIgnoreGetFeatureInfoURI->setVisible( false ); mGroupBox->layout()->removeWidget( cbxIgnoreGetFeatureInfoURI ); - sbDefaultFeatureCount->setVisible( false ); - mGroupBox->layout()->removeWidget( sbDefaultFeatureCount ); - lblDefaultFeatureCount->setVisible( false ); - mGroupBox->layout()->removeWidget( lblDefaultFeatureCount ); + sbFeatureCount->setVisible( false ); + mGroupBox->layout()->removeWidget( sbFeatureCount ); + lblFeatureCount->setVisible( false ); + mGroupBox->layout()->removeWidget( lblFeatureCount ); cmbDpiMode->setVisible( false ); mGroupBox->layout()->removeWidget( cmbDpiMode ); @@ -325,7 +325,7 @@ void QgsNewHttpConnection::updateServiceSpecificSettings() Qgis::TilePixelRatio tilePixelRatio = QgsOwsConnection::settingsTilePixelRatio->value( detailsParameters ); cmbTilePixelRatio->setCurrentIndex( cmbTilePixelRatio->findData( static_cast( tilePixelRatio ) ) ); - sbDefaultFeatureCount->setValue( QgsOwsConnection::settingsDefaultFeatureCount->value( detailsParameters ) ); + sbFeatureCount->setValue( QgsOwsConnection::settingsFeatureCount->value( detailsParameters ) ); const QString version = QgsOwsConnection::settingsVersion->value( detailsParameters ); int versionIdx = WFS_VERSION_MAX; // AUTO @@ -433,7 +433,7 @@ void QgsNewHttpConnection::accept() if ( mTypes & ConnectionWms ) { QgsOwsConnection::settingsIgnoreGetFeatureInfoURI->setValue( cbxIgnoreGetFeatureInfoURI->isChecked(), detailsParameters ); - QgsOwsConnection::settingsDefaultFeatureCount->setValue( sbDefaultFeatureCount->value(), detailsParameters ); + QgsOwsConnection::settingsFeatureCount->setValue( sbFeatureCount->value(), detailsParameters ); } if ( mTypes & ConnectionWfs ) { diff --git a/src/providers/wms/qgswmsdataitems.cpp b/src/providers/wms/qgswmsdataitems.cpp index b7e6c5f9a3f..01e81da89d7 100644 --- a/src/providers/wms/qgswmsdataitems.cpp +++ b/src/providers/wms/qgswmsdataitems.cpp @@ -463,18 +463,11 @@ QString QgsWMSItemBase::createUri( bool withStyle ) } mDataSourceUri.setParam( QStringLiteral( "crs" ), crs ); - // Set featureCount if the connection has a valid default value - if ( mDataSourceUri.hasParam( QStringLiteral( "defaultFeatureCount" ) ) ) + // Set default featureCount to 10, old connections might miss this + // setting. + if ( ! mDataSourceUri.hasParam( QStringLiteral( "featureCount" ) ) ) { - bool ok; - mDataSourceUri.param( QStringLiteral( "defaultFeatureCount" ) ).toInt( &ok ); - if ( ok ) - { - // Used by the provider - mDataSourceUri.setParam( QStringLiteral( "featureCount" ), mDataSourceUri.param( QStringLiteral( "defaultFeatureCount" ) ) ); - } - // Not used by the provider: remove it - mDataSourceUri.removeParam( QStringLiteral( "defaultFeatureCount" ) ); + mDataSourceUri.setParam( QStringLiteral( "featureCount" ), QStringLiteral( "10" ) ); } //uri = rasterLayerPath + "|layers=" + layers.join( "," ) + "|styles=" + styles.join( "," ) + "|format=" + format + "|crs=" + crs; diff --git a/src/providers/wms/qgswmssourceselect.cpp b/src/providers/wms/qgswmssourceselect.cpp index bfce219147b..1954fa98522 100644 --- a/src/providers/wms/qgswmssourceselect.cpp +++ b/src/providers/wms/qgswmssourceselect.cpp @@ -469,16 +469,16 @@ void QgsWMSSourceSelect::btnConnect_clicked() QgsWMSConnection connection( cmbConnections->currentText() ); mUri = connection.uri(); - bool defaultFeatureCountSet { }; - if ( connection.uri().hasParam( QStringLiteral( "defaultFeatureCount" ) ) && !connection.uri().param( QStringLiteral( "defaultFeatureCount" ) ).isEmpty() ) + bool featureCountSet { }; + if ( connection.uri().hasParam( QStringLiteral( "featureCount" ) ) ) { - connection.uri().param( QStringLiteral( "defaultFeatureCount" ) ).toInt( &defaultFeatureCountSet ); - if ( defaultFeatureCountSet ) - mFeatureCount->setText( connection.uri().param( QStringLiteral( "defaultFeatureCount" ) ) ); + connection.uri().param( QStringLiteral( "featureCount" ) ).toInt( &featureCountSet ); + if ( featureCountSet ) + mFeatureCount->setText( connection.uri().param( QStringLiteral( "featureCount" ) ) ); } - // Original default for old connections with no default feature count - if ( ! defaultFeatureCountSet ) + // Original default for old connections with no default feature count set + if ( ! featureCountSet ) { mFeatureCount->setText( QStringLiteral( "10" ) ); } diff --git a/src/ui/qgsnewhttpconnectionbase.ui b/src/ui/qgsnewhttpconnectionbase.ui index abd96e98645..2150ab4931a 100644 --- a/src/ui/qgsnewhttpconnectionbase.ui +++ b/src/ui/qgsnewhttpconnectionbase.ui @@ -158,9 +158,9 @@ - + - Default maximum number of GetFeatureInfo results + Maximum number of GetFeatureInfo results @@ -216,7 +216,7 @@ - + <html><head/><body><p>Specify a default value for FEATURE_COUNT when a new layer is created from this connection. </p><p>FEATURE_COUNT defines the maximum number of results returned by a GetFeatureInfo request, if not specified the server default value (usually 1) will be used.</p><p>Set to 0 to use server default: no FEATURE_COUNT parameter will be added to the request.</p><p><br/></p></body></html> @@ -388,7 +388,7 @@ cbxWfsUseGml2EncodingForTransactions cmbDpiMode cmbTilePixelRatio - sbDefaultFeatureCount + sbFeatureCount cbxIgnoreGetMapURI cbxIgnoreGetFeatureInfoURI cbxWmsIgnoreReportedLayerExtents