@@ -134,46 +134,61 @@ QVector<QgsDataItem*> QgsWMSConnectionItem::createChildren()
134134 QgsDataItem *layerItem = l.styles .size () == 1 ? this : new QgsDataCollectionItem ( this , title, mPath + ' /' + l.identifier );
135135 if ( layerItem != this )
136136 {
137+ layerItem->setCapabilities ( layerItem->capabilities2 () & ~QgsDataItem::Fertile );
138+ layerItem->setState ( QgsDataItem::Populated );
137139 layerItem->setToolTip ( title );
138- addChildItem ( layerItem ) ;
140+ children << layerItem ;
139141 }
140142
141143 Q_FOREACH ( const QgsWmtsStyle &style, l.styles )
142144 {
143145 QString styleName = style.title .isEmpty () ? style.identifier : style.title ;
144146 if ( layerItem == this )
145- styleName. prepend ( title + " - " );
147+ styleName = title; // just one style so no need to display it
146148
147149 QgsDataItem *styleItem = l.setLinks .size () == 1 ? layerItem : new QgsDataCollectionItem ( layerItem, styleName, layerItem->path () + ' /' + style.identifier );
148150 if ( styleItem != layerItem )
149151 {
152+ styleItem->setCapabilities ( styleItem->capabilities2 () & ~QgsDataItem::Fertile );
153+ styleItem->setState ( QgsDataItem::Populated );
150154 styleItem->setToolTip ( styleName );
151- layerItem->addChildItem ( styleItem );
155+ if ( layerItem == this )
156+ children << styleItem;
157+ else
158+ layerItem->addChildItem ( styleItem );
152159 }
153160
154161 Q_FOREACH ( const QgsWmtsTileMatrixSetLink &setLink, l.setLinks )
155162 {
156163 QString linkName = setLink.tileMatrixSet ;
157164 if ( styleItem == layerItem )
158- linkName. prepend ( styleName + " - " );
165+ linkName = styleName; // just one link so no need to display it
159166
160167 QgsDataItem *linkItem = l.formats .size () == 1 ? styleItem : new QgsDataCollectionItem ( styleItem, linkName, styleItem->path () + ' /' + setLink.tileMatrixSet );
161168 if ( linkItem != styleItem )
162169 {
170+ linkItem->setCapabilities ( linkItem->capabilities2 () & ~QgsDataItem::Fertile );
171+ linkItem->setState ( QgsDataItem::Populated );
163172 linkItem->setToolTip ( linkName );
164- styleItem->addChildItem ( linkItem );
173+ if ( styleItem == this )
174+ children << linkItem;
175+ else
176+ styleItem->addChildItem ( linkItem );
165177 }
166178
167179 Q_FOREACH ( const QString& format, l.formats )
168180 {
169181 QString name = format;
170182 if ( linkItem == styleItem )
171- name. prepend ( linkName + " - " );
183+ name = linkName; // just one format so no need to display it
172184
173- QgsDataItem *layerItem = new QgsWMTSLayerItem ( linkItem, name, linkItem->path () + ' /' + name, uri,
185+ QgsDataItem *tileLayerItem = new QgsWMTSLayerItem ( linkItem, name, linkItem->path () + ' /' + name, uri,
174186 l.identifier , format, style.identifier , setLink.tileMatrixSet , tileMatrixSets[ setLink.tileMatrixSet ].crs , title );
175- layerItem->setToolTip ( name );
176- linkItem->addChildItem ( layerItem );
187+ tileLayerItem->setToolTip ( name );
188+ if ( linkItem == this )
189+ children << tileLayerItem;
190+ else
191+ linkItem->addChildItem ( tileLayerItem );
177192 }
178193 }
179194 }
0 commit comments