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
+
+
+