diff --git a/src/gui/providers/sensorthings/qgssensorthingssourcewidget.cpp b/src/gui/providers/sensorthings/qgssensorthingssourcewidget.cpp index af81a37bc80..54895b06bdb 100644 --- a/src/gui/providers/sensorthings/qgssensorthingssourcewidget.cpp +++ b/src/gui/providers/sensorthings/qgssensorthingssourcewidget.cpp @@ -31,6 +31,8 @@ QgsSensorThingsSourceWidget::QgsSensorThingsSourceWidget( QWidget *parent ) { setupUi( this ); + mSpinPageSize->setClearValue( 0, tr( "Default" ) ); + for ( Qgis::SensorThingsEntity type : { Qgis::SensorThingsEntity::Thing, @@ -50,6 +52,7 @@ QgsSensorThingsSourceWidget::QgsSensorThingsSourceWidget( QWidget *parent ) connect( mComboEntityType, qOverload< int >( &QComboBox::currentIndexChanged ), this, &QgsSensorThingsSourceWidget::entityTypeChanged ); connect( mComboGeometryType, qOverload< int >( &QComboBox::currentIndexChanged ), this, &QgsSensorThingsSourceWidget::validate ); + connect( mSpinPageSize, qOverload< int >( &QSpinBox::valueChanged ), this, &QgsSensorThingsSourceWidget::validate ); } void QgsSensorThingsSourceWidget::setSourceUri( const QString &uri ) @@ -64,6 +67,17 @@ void QgsSensorThingsSourceWidget::setSourceUri( const QString &uri ) rebuildGeometryTypes( type ); setCurrentGeometryTypeFromString( mSourceParts.value( QStringLiteral( "geometryType" ) ).toString() ); + bool ok = false; + const int maxPageSizeParam = mSourceParts.value( QStringLiteral( "pageSize" ) ).toInt( &ok ); + if ( ok ) + { + mSpinPageSize->setValue( maxPageSizeParam ); + } + else + { + mSpinPageSize->clear(); + } + mIsValid = true; } @@ -99,6 +113,15 @@ QString QgsSensorThingsSourceWidget::sourceUri() const } } + if ( mSpinPageSize->value() > 0 ) + { + parts.insert( QStringLiteral( "pageSize" ), QString::number( mSpinPageSize->value() ) ); + } + else + { + parts.remove( QStringLiteral( "pageSize" ) ); + } + return QgsProviderRegistry::instance()->encodeUri( QgsSensorThingsProvider::SENSORTHINGS_PROVIDER_KEY, parts diff --git a/src/ui/qgssensorthingssourcewidgetbase.ui b/src/ui/qgssensorthingssourcewidgetbase.ui index 24754a3dc98..bd2a1e4fbe7 100644 --- a/src/ui/qgssensorthingssourcewidgetbase.ui +++ b/src/ui/qgssensorthingssourcewidgetbase.ui @@ -24,6 +24,9 @@ + + + @@ -31,11 +34,29 @@ - - + + + + Page size + + + + + + + 9999999 + + + + + QgsSpinBox + QSpinBox +
qgsspinbox.h
+
+