From e57c55787658c27afd93a7e2a98bf4e78532cd46 Mon Sep 17 00:00:00 2001 From: Martin Dobias Date: Tue, 11 Oct 2011 20:16:28 -0300 Subject: [PATCH] Minor housekeeping in WMS and WFS --- src/providers/wfs/qgswfsdataitems.cpp | 4 +--- src/providers/wms/qgswmsconnection.cpp | 27 ++++++++++++++++++++++++ src/providers/wms/qgswmsconnection.h | 8 +++++++ src/providers/wms/qgswmsprovider.cpp | 4 +--- src/providers/wms/qgswmssourceselect.cpp | 18 +++++----------- 5 files changed, 42 insertions(+), 19 deletions(-) diff --git a/src/providers/wfs/qgswfsdataitems.cpp b/src/providers/wfs/qgswfsdataitems.cpp index d9a50f239c28..4202b7cab93b 100644 --- a/src/providers/wfs/qgswfsdataitems.cpp +++ b/src/providers/wfs/qgswfsdataitems.cpp @@ -125,10 +125,8 @@ QgsWFSRootItem::~QgsWFSRootItem() QVector QgsWFSRootItem::createChildren() { QVector connections; - QSettings settings; - settings.beginGroup( "/Qgis/connections-wfs" ); - foreach( QString connName, settings.childGroups() ) + foreach( QString connName, QgsWFSConnection::connectionList() ) { QgsDataItem * conn = new QgsWFSConnectionItem( this, connName, mPath + "/" + connName ); connections.append( conn ); diff --git a/src/providers/wms/qgswmsconnection.cpp b/src/providers/wms/qgswmsconnection.cpp index 08efa91a220a..c98f9acb2674 100644 --- a/src/providers/wms/qgswmsconnection.cpp +++ b/src/providers/wms/qgswmsconnection.cpp @@ -128,3 +128,30 @@ QgsWmsProvider * QgsWMSConnection::provider( ) return wmsProvider; } + + +QStringList QgsWMSConnection::connectionList() +{ + QSettings settings; + settings.beginGroup( "/Qgis/connections-wms" ); + return settings.childGroups(); +} + +QString QgsWMSConnection::selectedConnection() +{ + QSettings settings; + return settings.value( "/Qgis/connections-wms/selected" ).toString(); +} + +void QgsWMSConnection::setSelectedConnection( QString name ) +{ + QSettings settings; + settings.setValue( "/Qgis/connections-wms/selected", name ); +} + +void QgsWMSConnection::deleteConnection( QString name ) +{ + QSettings settings; + settings.remove( "/Qgis/connections-wms/" + name ); + settings.remove( "/Qgis/WMS/" + name ); +} diff --git a/src/providers/wms/qgswmsconnection.h b/src/providers/wms/qgswmsconnection.h index 1533ef0921c9..615be0fc91f2 100644 --- a/src/providers/wms/qgswmsconnection.h +++ b/src/providers/wms/qgswmsconnection.h @@ -43,6 +43,14 @@ class QgsWMSConnection : public QObject //! Destructor ~QgsWMSConnection(); + static QStringList connectionList(); + + static void deleteConnection( QString name ); + + static QString selectedConnection(); + static void setSelectedConnection( QString name ); + + public: QgsWmsProvider *provider(); QString connectionInfo(); diff --git a/src/providers/wms/qgswmsprovider.cpp b/src/providers/wms/qgswmsprovider.cpp index 43a1c4810650..e5d41ec872f4 100644 --- a/src/providers/wms/qgswmsprovider.cpp +++ b/src/providers/wms/qgswmsprovider.cpp @@ -3321,10 +3321,8 @@ QgsWMSRootItem::~QgsWMSRootItem() QVectorQgsWMSRootItem::createChildren() { QVector connections; - QSettings settings; - settings.beginGroup( "/Qgis/connections-wms" ); - foreach( QString connName, settings.childGroups() ) + foreach( QString connName, QgsWMSConnection::connectionList() ) { QgsDataItem * conn = new QgsWMSConnectionItem( this, connName, mPath + "/" + connName ); connections.append( conn ); diff --git a/src/providers/wms/qgswmssourceselect.cpp b/src/providers/wms/qgswmssourceselect.cpp index 4aacc75c3192..2c960889eaf7 100644 --- a/src/providers/wms/qgswmssourceselect.cpp +++ b/src/providers/wms/qgswmssourceselect.cpp @@ -154,11 +154,8 @@ QgsWMSSourceSelect::~QgsWMSSourceSelect() void QgsWMSSourceSelect::populateConnectionList() { - QSettings settings; - settings.beginGroup( "/Qgis/connections-wms" ); cmbConnections->clear(); - cmbConnections->addItems( settings.childGroups() ); - settings.endGroup(); + cmbConnections->addItems( QgsWMSConnection::connectionList() ); setConnectionListPosition(); @@ -205,15 +202,12 @@ void QgsWMSSourceSelect::on_btnEdit_clicked() void QgsWMSSourceSelect::on_btnDelete_clicked() { - QSettings settings; - QString key = "/Qgis/connections-wms/" + cmbConnections->currentText(); QString msg = tr( "Are you sure you want to remove the %1 connection and all associated settings?" ) .arg( cmbConnections->currentText() ); QMessageBox::StandardButton result = QMessageBox::information( this, tr( "Confirm Delete" ), msg, QMessageBox::Ok | QMessageBox::Cancel ); if ( result == QMessageBox::Ok ) { - settings.remove( key ); - settings.remove( "/Qgis/WMS/" + cmbConnections->currentText() ); + QgsWMSConnection::deleteConnection( cmbConnections->currentText() ); cmbConnections->removeItem( cmbConnections->currentIndex() ); // populateConnectionList(); setConnectionListPosition(); emit connectionsChanged(); @@ -926,8 +920,7 @@ QString QgsWMSSourceSelect::selectedImageEncoding() void QgsWMSSourceSelect::setConnectionListPosition() { - QSettings settings; - QString toSelect = settings.value( "/Qgis/connections-wms/selected" ).toString(); + QString toSelect = QgsWMSConnection::selectedConnection(); cmbConnections->setCurrentIndex( cmbConnections->findText( toSelect ) ); @@ -968,8 +961,7 @@ void QgsWMSSourceSelect::showError( QgsWmsProvider * wms ) void QgsWMSSourceSelect::on_cmbConnections_activated( int ) { // Remember which server was selected. - QSettings settings; - settings.setValue( "/Qgis/connections-wms/selected", cmbConnections->currentText() ); + QgsWMSConnection::setSelectedConnection( cmbConnections->currentText() ); } void QgsWMSSourceSelect::on_btnAddDefault_clicked() @@ -1127,7 +1119,7 @@ void QgsWMSSourceSelect::on_btnAddWMS_clicked() // add selected WMS to config and mark as current settings.setValue( QString( "Qgis/connections-wms/%1/url" ).arg( wmsTitle ), wmsUrl ); - settings.setValue( "/Qgis/connections-wms/selected", wmsTitle ); + QgsWMSConnection::setSelectedConnection( wmsTitle ); populateConnectionList(); tabServers->setCurrentIndex( 0 );