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