@@ -60,28 +60,31 @@ bool QgsGdalLayerItem::setCrs( QgsCoordinateReferenceSystem crs )
60
60
QgsWCSConnectionItem::QgsWCSConnectionItem ( QgsDataItem* parent, QString name, QString path )
61
61
: QgsDataCollectionItem( parent, name, path )
62
62
{
63
- mIcon = QIcon ( getThemePixmap ( " mIconConnect .png" ) );
63
+ mIcon = QIcon ( getThemePixmap ( " mIconWcs .png" ) );
64
64
}
65
65
66
66
QgsWCSConnectionItem::~QgsWCSConnectionItem ()
67
67
{
68
+ QgsDebugMsg ( " Entered" );
68
69
}
69
70
70
71
QVector<QgsDataItem*> QgsWCSConnectionItem::createChildren ()
71
72
{
72
73
QgsDebugMsg ( " Entered" );
73
74
QVector<QgsDataItem*> children;
74
75
75
- QgsOWSConnection connection ( " WCS" , mName );
76
+ QString encodedUri = mPath ;
77
+ QgsDataSourceURI uri;
78
+ uri.setEncodedUri ( encodedUri );
79
+ QgsDebugMsg ( " encodedUri = " + encodedUri );
76
80
77
- QgsDataSourceURI uri = connection.uri ();
78
- QgsDebugMsg ( " uri = " + uri.encodedUri () );
79
81
mCapabilities .setUri ( uri );
80
82
81
83
// Attention: supportedLayers() gives tree leafes, not top level
82
84
if ( !mCapabilities .lastError ().isEmpty () )
83
85
{
84
- children.append ( new QgsErrorItem ( this , tr ( " Failed to retrieve layers" ), mPath + " /error" ) );
86
+ // children.append( new QgsErrorItem( this, tr( "Failed to retrieve layers" ), mPath + "/error" ) );
87
+ // TODO: show the error without adding child
85
88
return children;
86
89
}
87
90
@@ -105,9 +108,12 @@ bool QgsWCSConnectionItem::equal( const QgsDataItem *other )
105
108
return false ;
106
109
}
107
110
const QgsWCSConnectionItem *o = dynamic_cast <const QgsWCSConnectionItem *>( other );
108
- // TODO
109
- // return ( mPath == o->mPath && mName == o->mName && mConnInfo == o->mConnInfo );
110
- return false ;
111
+ if ( !o )
112
+ {
113
+ return false ;
114
+ }
115
+
116
+ return ( mPath == o->mPath && mName == o->mName );
111
117
}
112
118
113
119
QList<QAction*> QgsWCSConnectionItem::actions ()
@@ -166,7 +172,8 @@ QgsWCSLayerItem::QgsWCSLayerItem( QgsDataItem* parent, QString name, QString pat
166
172
167
173
if ( mChildren .size () == 0 )
168
174
{
169
- mIcon = iconRaster ();
175
+ // mIcon = iconRaster();
176
+ mIcon = QIcon ( getThemePixmap ( " mIconWcs.png" ) );
170
177
}
171
178
mPopulated = true ;
172
179
}
@@ -246,7 +253,11 @@ QVector<QgsDataItem*>QgsWCSRootItem::createChildren()
246
253
QVector<QgsDataItem*> connections;
247
254
foreach ( QString connName, QgsOWSConnection::connectionList ( " WCS" ) )
248
255
{
249
- QgsDataItem * conn = new QgsWCSConnectionItem ( this , connName, mPath + " /" + connName );
256
+ // QgsDataItem * conn = new QgsWCSConnectionItem( this, connName, mPath + "/" + connName );
257
+ QgsOWSConnection connection ( " WCS" , connName );
258
+ QgsDataItem * conn = new QgsWCSConnectionItem ( this , connName, connection.uri ().encodedUri () );
259
+
260
+ conn->setIcon ( QIcon ( getThemePixmap ( " mIconConnect.png" ) ) );
250
261
connections.append ( conn );
251
262
}
252
263
return connections;
@@ -294,17 +305,25 @@ static QStringList wildcards = QStringList();
294
305
295
306
QGISEXTERN int dataCapabilities ()
296
307
{
297
- return QgsDataProvider::File | QgsDataProvider::Dir;
308
+ return QgsDataProvider::File | QgsDataProvider::Dir | QgsDataProvider::Net ;
298
309
}
299
310
300
311
QGISEXTERN QgsDataItem * dataItem ( QString thePath, QgsDataItem* parentItem )
301
312
{
313
+ QgsDebugMsg ( " thePath = " + thePath );
302
314
if ( thePath.isEmpty () )
303
315
{
304
316
// Top level WCS
305
317
return new QgsWCSRootItem ( parentItem, " WCS" , " wcs:" );
306
318
}
307
319
320
+ if ( thePath.contains ( " url=" ) )
321
+ {
322
+ // OWS server
323
+ QgsDebugMsg ( " connection found in uri" );
324
+ return new QgsWCSConnectionItem ( parentItem, " WCS" , thePath );
325
+ }
326
+
308
327
QFileInfo info ( thePath );
309
328
if ( info.isFile () )
310
329
{
0 commit comments