void QgsWFSSourceSelect::addLayer() { //get selected entry in treeview QModelIndex currentIndex = treeView->selectionModel()->currentIndex(); if ( !currentIndex.isValid() ) { return; } QgsWFSConnection connection( cmbConnections->currentText() ); QString pCrsString( labelCoordRefSys->text() ); //create layers that user selected from this WFS source QModelIndexList list = treeView->selectionModel()->selectedRows(); for ( int i = 0; i < list.size(); i++ ) { //add a wfs layer to the map QModelIndex idx = mModelProxy->mapToSource( list[i] ); if ( !idx.isValid() ) { continue; } int row = idx.row(); QString typeName = mModel->item( row, MODEL_IDX_NAME )->text(); //WFS repository's name for layer QString titleName = mModel->item( row, MODEL_IDX_TITLE )->text(); //WFS type name title for layer name (if option is set) QString filter = mModel->item( row, MODEL_IDX_FILTER )->text(); //optional filter specified by user QString layerName = typeName; if ( cbxUseTitleLayerName->isChecked() && !titleName.isEmpty() ) { layerName = titleName; } QgsDebugMsg( "Layer " + typeName + " Filter is " + filter ); //is "Only request features overlapping the view extent" checked? if ( !cbxFeatureCurrentViewExtent->isChecked() ) { //no: entire WFS layer will be retrieved and cached mUri = QgsWFSDataSourceURI::build( connection.uri().uri(), typeName, pCrsString, filter ); } else { //yes mUri = QgsWFSDataSourceURI::build( connection.uri().uri(), typeName, pCrsString, filter, true ); } emit addWfsLayer( mUri, layerName ); } if ( !mHoldDialogOpen->isChecked() ) { accept(); } }
void QgsWFSSourceSelect::addLayer() { //get selected entry in treeview QModelIndex currentIndex = treeView->selectionModel()->currentIndex(); if ( !currentIndex.isValid() ) { return; } QgsWFSConnection connection( cmbConnections->currentText() ); QString pCrsString( labelCoordRefSys->text() ); //create layers that user selected from this WFS source QModelIndexList list = treeView->selectionModel()->selectedRows(); for ( int i = 0; i < list.size(); i++ ) { //add a wfs layer to the map QModelIndex idx = mModelProxy->mapToSource( list[i] ); if ( !idx.isValid() ) { continue; } int row = idx.row(); QString typeName = mModel->item( row, MODEL_IDX_NAME )->text(); //WFS repository's name for layer QString titleName = mModel->item( row, MODEL_IDX_TITLE )->text(); //WFS type name title for layer name (if option is set) QString sql = mModel->item( row, MODEL_IDX_SQL )->text(); //optional SqL specified by user QString layerName = typeName; if ( cbxUseTitleLayerName->isChecked() && !titleName.isEmpty() ) { layerName = titleName; } QgsDebugMsg( "Layer " + typeName + " SQL is " + sql ); mUri = QgsWFSDataSourceURI::build( connection.uri().uri(), typeName, pCrsString, sql, cbxFeatureCurrentViewExtent->isChecked() ); emit addWfsLayer( mUri, layerName ); } if ( !mHoldDialogOpen->isChecked() ) { accept(); } }