From 95137dc04551594c4f6899652af37dbe2d22bede Mon Sep 17 00:00:00 2001 From: Larry Shaffer Date: Thu, 23 May 2019 23:55:45 -0600 Subject: [PATCH] Fix WFS connection version-related GUI widget enabling/disabling Fixes: - When saved with paging disabled, caused option to never be reenabled - When loading settings, feaure paging now constrained to WFS version - WFS 2.0.0 capabilities are no longer constrained to just that version, allowing versions above as well. --- src/gui/qgsnewhttpconnection.cpp | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/gui/qgsnewhttpconnection.cpp b/src/gui/qgsnewhttpconnection.cpp index f8301c0e529..f4657052209 100644 --- a/src/gui/qgsnewhttpconnection.cpp +++ b/src/gui/qgsnewhttpconnection.cpp @@ -165,9 +165,9 @@ QgsNewHttpConnection::QgsNewHttpConnection( QWidget *parent, ConnectionTypes typ void QgsNewHttpConnection::wfsVersionCurrentIndexChanged( int index ) { - cbxWfsFeaturePaging->setEnabled( index == 0 || index == 3 ); - lblPageSize->setEnabled( index == 0 || index == 3 ); - txtPageSize->setEnabled( index == 0 || index == 3 ); + cbxWfsFeaturePaging->setEnabled( index == 0 || index >= 3 ); + lblPageSize->setEnabled( cbxWfsFeaturePaging->isChecked() && ( index == 0 || index >= 3 ) ); + txtPageSize->setEnabled( cbxWfsFeaturePaging->isChecked() && ( index == 0 || index >= 3 ) ); cbxWfsIgnoreAxisOrientation->setEnabled( index != 1 ); } @@ -321,9 +321,11 @@ void QgsNewHttpConnection::updateServiceSpecificSettings() txtPageSize->setText( settings.value( wfsKey + "/pagesize" ).toString() ); cbxWfsFeaturePaging->setChecked( pagingEnabled ); - txtPageSize->setEnabled( pagingEnabled ); - lblPageSize->setEnabled( pagingEnabled ); - cbxWfsFeaturePaging->setEnabled( pagingEnabled ); + // Enable/disable these items per WFS versions + txtPageSize->setEnabled( pagingEnabled && ( versionIdx == 0 || versionIdx >= 3 ) ); + lblPageSize->setEnabled( pagingEnabled && ( versionIdx == 0 || versionIdx >= 3 ) ); + cbxWfsFeaturePaging->setEnabled( versionIdx == 0 || versionIdx >= 3 ); + cbxWfsIgnoreAxisOrientation->setEnabled( versionIdx != 1 ); } QUrl QgsNewHttpConnection::urlTrimmed() const