mirror of
https://github.com/qgis/QGIS.git
synced 2025-04-13 00:03:09 -04:00
Fix processing setting to use filename as layer name
This commit is contained in:
parent
7879c0a20b
commit
f1ac0be867
@ -58,7 +58,8 @@ def handleAlgorithmResults(alg, context, feedback=None, showResults=True):
|
||||
try:
|
||||
layer = QgsProcessingUtils.mapLayerFromString(l, context)
|
||||
if layer is not None:
|
||||
layer.setName(details.name)
|
||||
if not ProcessingConfig.getSetting(ProcessingConfig.USE_FILENAME_AS_LAYER_NAME):
|
||||
layer.setName(details.name)
|
||||
|
||||
style = None
|
||||
if details.outputName:
|
||||
|
@ -161,13 +161,16 @@ QgsMapLayer *QgsProcessingUtils::loadMapLayerFromString( const QString &string )
|
||||
ProjectionSettingRestorer restorer;
|
||||
( void )restorer; // no warnings
|
||||
|
||||
QFileInfo fi( string );
|
||||
QString name = fi.baseName();
|
||||
|
||||
// brute force attempt to load a matching layer
|
||||
std::unique_ptr< QgsVectorLayer > layer( new QgsVectorLayer( string, QStringLiteral( "temp" ), QStringLiteral( "ogr" ), false ) );
|
||||
std::unique_ptr< QgsVectorLayer > layer( new QgsVectorLayer( string, name, QStringLiteral( "ogr" ), false ) );
|
||||
if ( layer->isValid() )
|
||||
{
|
||||
return layer.release();
|
||||
}
|
||||
std::unique_ptr< QgsRasterLayer > rasterLayer( new QgsRasterLayer( string, QStringLiteral( "temp" ), QStringLiteral( "gdal" ), false ) );
|
||||
std::unique_ptr< QgsRasterLayer > rasterLayer( new QgsRasterLayer( string, name, QStringLiteral( "gdal" ), false ) );
|
||||
if ( rasterLayer->isValid() )
|
||||
{
|
||||
return rasterLayer.release();
|
||||
|
@ -684,12 +684,15 @@ void TestQgsProcessing::mapLayers()
|
||||
QgsMapLayer *l = QgsProcessingUtils::loadMapLayerFromString( raster );
|
||||
QVERIFY( l->isValid() );
|
||||
QCOMPARE( l->type(), QgsMapLayer::RasterLayer );
|
||||
QCOMPARE( l->name(), QStringLiteral( "landsat" ) );
|
||||
|
||||
delete l;
|
||||
|
||||
//test with vector
|
||||
l = QgsProcessingUtils::loadMapLayerFromString( vector );
|
||||
QVERIFY( l->isValid() );
|
||||
QCOMPARE( l->type(), QgsMapLayer::VectorLayer );
|
||||
QCOMPARE( l->name(), QStringLiteral( "points" ) );
|
||||
delete l;
|
||||
|
||||
l = QgsProcessingUtils::loadMapLayerFromString( QString() );
|
||||
@ -699,6 +702,7 @@ void TestQgsProcessing::mapLayers()
|
||||
l = QgsProcessingUtils::loadMapLayerFromString( testDataDir + "multipoint.shp" );
|
||||
QVERIFY( l->isValid() );
|
||||
QCOMPARE( l->type(), QgsMapLayer::VectorLayer );
|
||||
QCOMPARE( l->name(), QStringLiteral( "multipoint" ) );
|
||||
delete l;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user