void QgsWFSSourceSelect::changeCRSFilter() { QgsDebugMsg( "changeCRSFilter called" ); //evaluate currently selected typename and set the CRS filter in mProjectionSelector QModelIndex currentIndex = treeView->selectionModel()->currentIndex(); if ( currentIndex.isValid() ) { QString currentTypename = currentIndex.sibling( currentIndex.row(), MODEL_IDX_NAME ).data().toString(); QgsDebugMsg( QString( "the current typename is: %1" ).arg( currentTypename ) ); QMap<QString, QStringList >::const_iterator crsIterator = mAvailableCRS.find( currentTypename ); if ( crsIterator != mAvailableCRS.end() ) { QSet<QString> crsNames( crsIterator->toSet() ); if ( mProjectionSelector ) { mProjectionSelector->setOgcWmsCrsFilter( crsNames ); QString preferredCRS = getPreferredCrs( crsNames ); //get preferred EPSG system if ( !preferredCRS.isEmpty() ) { QgsCoordinateReferenceSystem refSys; refSys.createFromOgcWmsCrs( preferredCRS ); mProjectionSelector->setSelectedCrsId( refSys.srsid() ); labelCoordRefSys->setText( preferredCRS ); } } } } }
void QgsArcGisServiceSourceSelect::changeCrsFilter() { QgsDebugMsg( QStringLiteral( "changeCRSFilter called" ) ); //evaluate currently selected typename and set the CRS filter in mProjectionSelector QModelIndex currentIndex = treeView->selectionModel()->currentIndex(); if ( currentIndex.isValid() ) { QString currentTypename = currentIndex.sibling( currentIndex.row(), 1 ).data().toString(); QgsDebugMsg( QStringLiteral( "the current typename is: %1" ).arg( currentTypename ) ); QMap<QString, QStringList>::const_iterator crsIterator = mAvailableCRS.constFind( currentTypename ); if ( crsIterator != mAvailableCRS.constEnd() ) { QSet<QString> crsNames; const QStringList crsNamesList = crsIterator.value(); for ( const QString &crsName : crsNamesList ) { crsNames.insert( crsName ); } if ( mProjectionSelector ) { mProjectionSelector->setOgcWmsCrsFilter( crsNames ); QString preferredCRS = getPreferredCrs( crsNames ); //get preferred EPSG system if ( !preferredCRS.isEmpty() ) { QgsCoordinateReferenceSystem refSys = QgsCoordinateReferenceSystem::fromOgcWmsCrs( preferredCRS ); mProjectionSelector->setCrs( refSys ); labelCoordRefSys->setText( preferredCRS ); } } } } }