@@ -135,46 +135,61 @@ QVector<QgsDataItem*> QgsWMSConnectionItem::createChildren()
135
135
QgsDataItem *layerItem = l.styles .size () == 1 ? this : new QgsDataCollectionItem ( this , title, mPath + ' /' + l.identifier );
136
136
if ( layerItem != this )
137
137
{
138
+ layerItem->setCapabilities ( layerItem->capabilities2 () & ~QgsDataItem::Fertile );
139
+ layerItem->setState ( QgsDataItem::Populated );
138
140
layerItem->setToolTip ( title );
139
- addChildItem ( layerItem ) ;
141
+ children << layerItem ;
140
142
}
141
143
142
144
Q_FOREACH ( const QgsWmtsStyle &style, l.styles )
143
145
{
144
146
QString styleName = style.title .isEmpty () ? style.identifier : style.title ;
145
147
if ( layerItem == this )
146
- styleName. prepend ( title + " - " );
148
+ styleName = title; // just one style so no need to display it
147
149
148
150
QgsDataItem *styleItem = l.setLinks .size () == 1 ? layerItem : new QgsDataCollectionItem ( layerItem, styleName, layerItem->path () + ' /' + style.identifier );
149
151
if ( styleItem != layerItem )
150
152
{
153
+ styleItem->setCapabilities ( styleItem->capabilities2 () & ~QgsDataItem::Fertile );
154
+ styleItem->setState ( QgsDataItem::Populated );
151
155
styleItem->setToolTip ( styleName );
152
- layerItem->addChildItem ( styleItem );
156
+ if ( layerItem == this )
157
+ children << styleItem;
158
+ else
159
+ layerItem->addChildItem ( styleItem );
153
160
}
154
161
155
162
Q_FOREACH ( const QgsWmtsTileMatrixSetLink &setLink, l.setLinks )
156
163
{
157
164
QString linkName = setLink.tileMatrixSet ;
158
165
if ( styleItem == layerItem )
159
- linkName. prepend ( styleName + " - " );
166
+ linkName = styleName; // just one link so no need to display it
160
167
161
168
QgsDataItem *linkItem = l.formats .size () == 1 ? styleItem : new QgsDataCollectionItem ( styleItem, linkName, styleItem->path () + ' /' + setLink.tileMatrixSet );
162
169
if ( linkItem != styleItem )
163
170
{
171
+ linkItem->setCapabilities ( linkItem->capabilities2 () & ~QgsDataItem::Fertile );
172
+ linkItem->setState ( QgsDataItem::Populated );
164
173
linkItem->setToolTip ( linkName );
165
- styleItem->addChildItem ( linkItem );
174
+ if ( styleItem == this )
175
+ children << linkItem;
176
+ else
177
+ styleItem->addChildItem ( linkItem );
166
178
}
167
179
168
180
Q_FOREACH ( const QString& format, l.formats )
169
181
{
170
182
QString name = format;
171
183
if ( linkItem == styleItem )
172
- name. prepend ( linkName + " - " );
184
+ name = linkName; // just one format so no need to display it
173
185
174
- QgsDataItem *layerItem = new QgsWMTSLayerItem ( linkItem, name, linkItem->path () + ' /' + name, uri,
186
+ QgsDataItem *tileLayerItem = new QgsWMTSLayerItem ( linkItem, name, linkItem->path () + ' /' + name, uri,
175
187
l.identifier , format, style.identifier , setLink.tileMatrixSet , tileMatrixSets[ setLink.tileMatrixSet ].crs , title );
176
- layerItem->setToolTip ( name );
177
- linkItem->addChildItem ( layerItem );
188
+ tileLayerItem->setToolTip ( name );
189
+ if ( linkItem == this )
190
+ children << tileLayerItem;
191
+ else
192
+ linkItem->addChildItem ( tileLayerItem );
178
193
}
179
194
}
180
195
}
0 commit comments