Skip to content

Commit 5fbd628

Browse files
authored
Merge pull request #4939 from mhugent/wms_toplevel_browser
Show toplevel wms group in browser
2 parents 469eb0d + a0e453e commit 5fbd628

File tree

1 file changed

+6
-28
lines changed

1 file changed

+6
-28
lines changed

src/providers/wms/qgswmsdataitems.cpp

Lines changed: 6 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -94,37 +94,15 @@ QVector<QgsDataItem *> QgsWMSConnectionItem::createChildren()
9494
QgsWmsCapabilitiesProperty capabilitiesProperty = caps.capabilitiesProperty();
9595
const QgsWmsCapabilityProperty &capabilityProperty = capabilitiesProperty.capability;
9696

97-
// If we have several top-level layers, or if we just have one single top-level layer,
98-
// then use those top-level layers directly
99-
if ( capabilityProperty.layers.size() > 1 ||
100-
( capabilityProperty.layers.size() == 1 && capabilityProperty.layers[0].layer.size() == 0 ) )
97+
Q_FOREACH ( const QgsWmsLayerProperty &layerProperty, capabilityProperty.layers )
10198
{
102-
Q_FOREACH ( const QgsWmsLayerProperty &layerProperty, capabilityProperty.layers )
103-
{
104-
// Attention, the name may be empty
105-
QgsDebugMsg( QString::number( layerProperty.orderId ) + ' ' + layerProperty.name + ' ' + layerProperty.title );
106-
QString pathName = layerProperty.name.isEmpty() ? QString::number( layerProperty.orderId ) : layerProperty.name;
107-
108-
QgsWMSLayerItem *layer = new QgsWMSLayerItem( this, layerProperty.title, mPath + '/' + pathName, capabilitiesProperty, uri, layerProperty );
109-
110-
children << layer;
111-
}
112-
}
113-
// Otherwise if we have just one single top-level layers with children, then
114-
// skip this top-level layer and iterate directly on its children
115-
// Note (E. Rouault): this was the historical behavior before fixing #13762
116-
else if ( capabilityProperty.layers.size() == 1 )
117-
{
118-
Q_FOREACH ( const QgsWmsLayerProperty &layerProperty, capabilityProperty.layers[0].layer )
119-
{
120-
// Attention, the name may be empty
121-
QgsDebugMsg( QString::number( layerProperty.orderId ) + ' ' + layerProperty.name + ' ' + layerProperty.title );
122-
QString pathName = layerProperty.name.isEmpty() ? QString::number( layerProperty.orderId ) : layerProperty.name;
99+
// Attention, the name may be empty
100+
QgsDebugMsg( QString::number( layerProperty.orderId ) + ' ' + layerProperty.name + ' ' + layerProperty.title );
101+
QString pathName = layerProperty.name.isEmpty() ? QString::number( layerProperty.orderId ) : layerProperty.name;
123102

124-
QgsWMSLayerItem *layer = new QgsWMSLayerItem( this, layerProperty.title, mPath + '/' + pathName, capabilitiesProperty, uri, layerProperty );
103+
QgsWMSLayerItem *layer = new QgsWMSLayerItem( this, layerProperty.title, mPath + '/' + pathName, capabilitiesProperty, uri, layerProperty );
125104

126-
children << layer;
127-
}
105+
children << layer;
128106
}
129107
}
130108

0 commit comments

Comments
 (0)