void QgsDatumTransformDialog::updateTitle() { mLabelLayer->setText( mLayerName ); QgsCoordinateReferenceSystem crs; crs.createFromString( mSrcCRSauthId ); mLabelSrcCrs->setText( QString( "%1 - %2" ).arg( mSrcCRSauthId ).arg( crs.isValid() ? crs.description() : tr( "unknown" ) ) ); crs.createFromString( mDestCRSauthId ); mLabelDstCrs->setText( QString( "%1 - %2" ).arg( mDestCRSauthId ).arg( crs.isValid() ? crs.description() : tr( "unknown" ) ) ); }
bool QgsAfsSourceSelect::connectToService( const QgsOwsConnection &connection ) { QString errorTitle, errorMessage; QVariantMap serviceInfoMap = QgsArcGisRestUtils::getServiceInfo( connection.uri().param( "url" ), errorTitle, errorMessage ); if ( serviceInfoMap.isEmpty() ) { QMessageBox::warning( this, tr( "Error" ), tr( "Failed to retrieve service capabilities:\n%1: %2" ).arg( errorTitle ).arg( errorMessage ) ); return false; } QStringList layerErrors; foreach ( const QVariant& layerInfo, serviceInfoMap["layers"].toList() ) { QVariantMap layerInfoMap = layerInfo.toMap(); if ( !layerInfoMap["id"].isValid() ) { continue; } // Get layer info QVariantMap layerData = QgsArcGisRestUtils::getLayerInfo( connection.uri().param( "url" ) + "/" + layerInfoMap["id"].toString(), errorTitle, errorMessage ); if ( layerData.isEmpty() ) { layerErrors.append( tr( "Layer %1: %2 - %3" ).arg( layerInfoMap["id"].toString() ).arg( errorTitle ).arg( errorMessage ) ); continue; } // insert the typenames, titles and abstracts into the tree view QStandardItem* idItem = new QStandardItem( layerData["id"].toString() ); QStandardItem* nameItem = new QStandardItem( layerData["name"].toString() ); QStandardItem* abstractItem = new QStandardItem( layerData["description"].toString() ); abstractItem->setToolTip( layerData["description"].toString() ); QStandardItem* cachedItem = new QStandardItem(); QStandardItem* filterItem = new QStandardItem(); cachedItem->setCheckable( true ); cachedItem->setCheckState( Qt::Checked ); QgsCoordinateReferenceSystem crs = QgsArcGisRestUtils::parseSpatialReference( serviceInfoMap["spatialReference"].toMap() ); if ( !crs.isValid() ) { // If not spatial reference, just use WGS84 crs.createFromString( "EPSG:4326" ); } mAvailableCRS[layerData["name"].toString()] = QList<QString>() << crs.authid(); mModel->appendRow( QList<QStandardItem*>() << idItem << nameItem << abstractItem << cachedItem << filterItem ); } if ( !layerErrors.isEmpty() ) { QMessageBox::warning( this, tr( "Error" ), tr( "Failed to query some layers:\n%1" ).arg( layerErrors.join( "\n" ) ) ); } return true; }