Skip to content

Commit

Permalink
Misc code cleanup
Browse files Browse the repository at this point in the history
  • Loading branch information
nyalldawson committed Sep 12, 2017
1 parent ea4b2dd commit 858b93b
Showing 1 changed file with 24 additions and 40 deletions.
64 changes: 24 additions & 40 deletions src/gui/geonode/qgsgeonodesourceselect.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -150,11 +150,11 @@ void QgsGeoNodeSourceSelect::connectToGeonodeConnection()
QApplication::setOverrideCursor( Qt::BusyCursor );
QgsGeoNodeConnection connection( cmbConnections->currentText() );

QString url = connection.uri().param( "url" );
QString url = connection.uri().param( QStringLiteral( "url" ) );
QgsGeoNodeRequest geonodeRequest( url, true );

QApplication::setOverrideCursor( Qt::WaitCursor );
QList<QgsServiceLayerDetail> layers = geonodeRequest.getLayers();
const QList<QgsServiceLayerDetail> layers = geonodeRequest.getLayers();
QApplication::restoreOverrideCursor();

if ( !layers.empty() )
Expand All @@ -173,19 +173,19 @@ void QgsGeoNodeSourceSelect::connectToGeonodeConnection()

if ( !layers.isEmpty() )
{
Q_FOREACH ( const QgsServiceLayerDetail &layer, layers )
for ( const QgsServiceLayerDetail &layer : layers )
{
QUuid uuid = layer.uuid;

QString wmsURL = layer.wmsURL;
QString wfsURL = layer.wfsURL;
QString xyzURL = layer.xyzURL;

if ( wmsURL.length() > 0 )
if ( !wmsURL.isEmpty() )
{
QStandardItem *titleItem = new QStandardItem( layer.title );
QStandardItem *nameItem;
if ( layer.name > 0 )
if ( !layer.name.isEmpty() )
{
nameItem = new QStandardItem( layer.name );
}
Expand All @@ -206,13 +206,13 @@ void QgsGeoNodeSourceSelect::connectToGeonodeConnection()
}
else
{
qDebug() << "Layer " << layer.title << " does not have WMS url.";
QgsDebugMsgLevel( QStringLiteral( "Layer %1 does not have WMS url." ).arg( layer.title ), 3 );
}
if ( wfsURL.length() > 0 )
if ( !wfsURL.isEmpty() )
{
QStandardItem *titleItem = new QStandardItem( layer.title );
QStandardItem *nameItem;
if ( layer.name.length() > 0 )
if ( !layer.name.isEmpty() )
{
nameItem = new QStandardItem( layer.name );
}
Expand All @@ -233,13 +233,13 @@ void QgsGeoNodeSourceSelect::connectToGeonodeConnection()
}
else
{
qDebug() << "Layer " << layer.title << " does not have WFS url.";
QgsDebugMsgLevel( QStringLiteral( "Layer %1 does not have WFS url." ).arg( layer.title ), 3 );
}
if ( xyzURL.length() > 0 )
if ( !xyzURL.isEmpty() )
{
QStandardItem *titleItem = new QStandardItem( layer.title );
QStandardItem *nameItem;
if ( layer.name.length() > 0 )
if ( !layer.name.isEmpty() )
{
nameItem = new QStandardItem( layer.name );
}
Expand All @@ -260,18 +260,14 @@ void QgsGeoNodeSourceSelect::connectToGeonodeConnection()
}
else
{
qDebug() << "Layer " << layer.title << " does not have XYZ url.";
QgsDebugMsgLevel( QStringLiteral( "Layer %1 does not have XYZ url." ).arg( layer.title ), 3 );
}
}
}

else
{
QMessageBox *box = new QMessageBox( QMessageBox::Critical, tr( "Error" ), tr( "Cannot get any feature services" ), QMessageBox::Ok, this );
box->setAttribute( Qt::WA_DeleteOnClose );
box->setModal( true );
box->setObjectName( QStringLiteral( "GeonodeCapabilitiesErrorBox" ) );
box->open();
QMessageBox::critical( this, tr( "Connect to GeoNode" ), tr( "Cannot get any feature services" ) );
}

treeView->resizeColumnToContents( MODEL_IDX_TITLE );
Expand All @@ -297,7 +293,7 @@ void QgsGeoNodeSourceSelect::saveGeonodeConnection()
void QgsGeoNodeSourceSelect::loadGeonodeConnection()
{
QString fileName = QFileDialog::getOpenFileName( this, tr( "Load connections" ), QDir::homePath(),
tr( "XML files (*.xml *XML)" ) );
tr( "XML files (*.xml *.XML)" ) );
if ( fileName.isEmpty() )
{
return;
Expand All @@ -323,7 +319,6 @@ void QgsGeoNodeSourceSelect::treeViewSelectionChanged()
QModelIndex currentIndex = treeView->selectionModel()->currentIndex();
if ( !currentIndex.isValid() )
{
qDebug() << "Current index is invalid";
return;
}
addButton()->setEnabled( false );
Expand All @@ -349,17 +344,14 @@ void QgsGeoNodeSourceSelect::treeViewSelectionChanged()

void QgsGeoNodeSourceSelect::addButtonClicked()
{
qDebug() << "Add button clicked";
QApplication::setOverrideCursor( Qt::BusyCursor );
// Get selected entry in treeview
QModelIndex currentIndex = treeView->selectionModel()->currentIndex();
if ( !currentIndex.isValid() )
{
qDebug() << "Current index is invalid";
return;
}

QgsGeoNodeConnection connection( cmbConnections->currentText() );
QModelIndexList modelIndexList = treeView->selectionModel()->selectedRows();
for ( int i = 0; i < modelIndexList.size(); i++ )
{
Expand All @@ -370,12 +362,9 @@ void QgsGeoNodeSourceSelect::addButtonClicked()
}
int row = idx.row();

qDebug() << "Model index row " << row;

QString typeItem = mModel->item( row, MODEL_IDX_TYPE )->text();
if ( typeItem == tr( "Map" ) )
{
qDebug() << "Skip adding map.";
continue;
}
QString serviceURL = mModel->item( row, MODEL_IDX_TITLE )->data( Qt::UserRole + 2 ).toString();
Expand All @@ -388,19 +377,16 @@ void QgsGeoNodeSourceSelect::addButtonClicked()
QString layerName = titleName;
}

qDebug() << "Layer name: " << layerName << " Type: " << webServiceType;

if ( webServiceType == "WMS" )
if ( webServiceType == QStringLiteral( "WMS" ) )
{
qDebug() << "Adding WMS layer of " << layerName;
QgsDataSourceUri uri;
uri.setParam( QStringLiteral( "url" ), serviceURL );

// Set static first, to see that it works. Need to think about the UI also.
QString format( "image/png" );
QString crs( "EPSG:4326" );
QString styles( "" );
QString contextualWMSLegend( "0" );
QString format( QStringLiteral( "image/png" ) );
QString crs( QStringLiteral( "EPSG:4326" ) );
QString styles;
QString contextualWMSLegend( QStringLiteral( "0" ) );

uri.setParam( QStringLiteral( "contextualWMSLegend" ), contextualWMSLegend );
uri.setParam( QStringLiteral( "layers" ), layerName );
Expand All @@ -411,24 +397,22 @@ void QgsGeoNodeSourceSelect::addButtonClicked()
QgsDebugMsg( "Add WMS from GeoNode : " + uri.encodedUri() );
emit addRasterLayer( uri.encodedUri(), layerName, QStringLiteral( "wms" ) );
}
else if ( webServiceType == "WFS" )
else if ( webServiceType == QStringLiteral( "WFS" ) )
{
qDebug() << "Adding WFS layer of " << layerName;

// Set static first, to see that it works. Need to think about the UI also.
QString typeName = mModel->item( row, 0 )->data( Qt::UserRole + 3 ).toString();
QString crs( "EPSG:4326" );
QString crs( QStringLiteral( "EPSG:4326" ) );

// typeName, titleName, sql,
// Build url for WFS
// restrictToRequestBBOX='1' srsname='EPSG:26719' typename='geonode:cab_mun' url='http://demo.geonode.org/geoserver/geonode/wms' table=\"\" sql="
QString uri;
uri += QStringLiteral( " restrictToRequestBBOX='1'" );
uri += QStringLiteral( " srsname='%1'" ).arg( crs );
if ( serviceURL.contains( "qgis-server" ) )
if ( serviceURL.contains( QStringLiteral( "qgis-server" ) ) )
{
// I need to do this since the typename used in qgis-server is without the workspace.
QString qgisServerTypeName = QString( typeName ).split( ":" ).last();
QString qgisServerTypeName = QString( typeName ).split( ':' ).last();
uri += QStringLiteral( " typename='%1'" ).arg( qgisServerTypeName );
}
else
Expand All @@ -442,7 +426,7 @@ void QgsGeoNodeSourceSelect::addButtonClicked()
QgsDebugMsg( "Add WFS from GeoNode : " + uri + " and typename: " + typeName );
emit addVectorLayer( uri, typeName, QStringLiteral( "WFS" ) );
}
else if ( webServiceType == "XYZ" )
else if ( webServiceType == QStringLiteral( "XYZ" ) )
{
QgsDebugMsg( "XYZ Url: " + serviceURL );
QgsDebugMsg( "Add XYZ from GeoNode : " + serviceURL );
Expand Down

0 comments on commit 858b93b

Please sign in to comment.