@@ -467,25 +467,25 @@ void TestQgsProcessing::context()
467
467
QgsVectorLayer *v1 = new QgsVectorLayer ( " Polygon" , " V1" , " memory" );
468
468
QgsVectorLayer *v2 = new QgsVectorLayer ( " Polygon" , " V2" , " memory" );
469
469
QVERIFY ( context.layersToLoadOnCompletion ().isEmpty () );
470
- QgsStringMap layers;
471
- layers.insert ( v1->id (), QStringLiteral ( " v1" ) );
470
+ QMap< QString, QgsProcessingContext::LayerDetails > layers;
471
+ layers.insert ( v1->id (), QgsProcessingContext::LayerDetails ( QStringLiteral ( " v1" ), &p ) );
472
472
context.setLayersToLoadOnCompletion ( layers );
473
473
QCOMPARE ( context.layersToLoadOnCompletion ().count (), 1 );
474
474
QCOMPARE ( context.layersToLoadOnCompletion ().keys ().at ( 0 ), v1->id () );
475
- QCOMPARE ( context.layersToLoadOnCompletion ().values ().at ( 0 ), QStringLiteral ( " v1" ) );
476
- context.addLayerToLoadOnCompletion ( v2->id (), QStringLiteral ( " v2" ) );
475
+ QCOMPARE ( context.layersToLoadOnCompletion ().values ().at ( 0 ). name , QStringLiteral ( " v1" ) );
476
+ context.addLayerToLoadOnCompletion ( v2->id (), QgsProcessingContext::LayerDetails ( QStringLiteral ( " v2" ), &p ) );
477
477
QCOMPARE ( context.layersToLoadOnCompletion ().count (), 2 );
478
478
QCOMPARE ( context.layersToLoadOnCompletion ().keys ().at ( 0 ), v1->id () );
479
- QCOMPARE ( context.layersToLoadOnCompletion ().values ().at ( 0 ), QStringLiteral ( " v1" ) );
479
+ QCOMPARE ( context.layersToLoadOnCompletion ().values ().at ( 0 ). name , QStringLiteral ( " v1" ) );
480
480
QCOMPARE ( context.layersToLoadOnCompletion ().keys ().at ( 1 ), v2->id () );
481
- QCOMPARE ( context.layersToLoadOnCompletion ().values ().at ( 1 ), QStringLiteral ( " v2" ) );
481
+ QCOMPARE ( context.layersToLoadOnCompletion ().values ().at ( 1 ). name , QStringLiteral ( " v2" ) );
482
482
layers.clear ();
483
- layers.insert ( v2->id (), QStringLiteral ( " v2" ) );
483
+ layers.insert ( v2->id (), QgsProcessingContext::LayerDetails ( QStringLiteral ( " v2" ), &p ) );
484
484
context.setLayersToLoadOnCompletion ( layers );
485
485
QCOMPARE ( context.layersToLoadOnCompletion ().count (), 1 );
486
486
QCOMPARE ( context.layersToLoadOnCompletion ().keys ().at ( 0 ), v2->id () );
487
- QCOMPARE ( context.layersToLoadOnCompletion ().values ().at ( 0 ), QStringLiteral ( " v2" ) );
488
- context.addLayerToLoadOnCompletion ( v1->id (), QString () );
487
+ QCOMPARE ( context.layersToLoadOnCompletion ().values ().at ( 0 ). name , QStringLiteral ( " v2" ) );
488
+ context.addLayerToLoadOnCompletion ( v1->id (), QgsProcessingContext::LayerDetails ( QString (), &p ) );
489
489
QCOMPARE ( context.layersToLoadOnCompletion ().count (), 2 );
490
490
QCOMPARE ( context.layersToLoadOnCompletion ().keys ().at ( 0 ), v1->id () );
491
491
QCOMPARE ( context.layersToLoadOnCompletion ().keys ().at ( 1 ), v2->id () );
@@ -1148,8 +1148,9 @@ void TestQgsProcessing::parameters()
1148
1148
QCOMPARE ( layer->crs (), crs );
1149
1149
1150
1150
// QgsProcessingFeatureSink as parameter
1151
+ QgsProject p;
1151
1152
QgsProcessingFeatureSink fs ( QStringLiteral ( " test.shp" ) );
1152
- fs.loadIntoProject = true ;
1153
+ fs.destinationProject = &p ;
1153
1154
QVERIFY ( context.layersToLoadOnCompletion ().isEmpty () );
1154
1155
params.insert ( QStringLiteral ( " fs" ), QVariant::fromValue ( fs ) );
1155
1156
def->setName ( QStringLiteral ( " fs" ) );
@@ -1167,7 +1168,7 @@ void TestQgsProcessing::parameters()
1167
1168
// make sure layer was automatically added to list to load on completion
1168
1169
QCOMPARE ( context.layersToLoadOnCompletion ().size (), 1 );
1169
1170
QCOMPARE ( context.layersToLoadOnCompletion ().keys ().at ( 0 ), destId );
1170
- QCOMPARE ( context.layersToLoadOnCompletion ().values ().at ( 0 ), QStringLiteral ( " desc" ) );
1171
+ QCOMPARE ( context.layersToLoadOnCompletion ().values ().at ( 0 ). name , QStringLiteral ( " desc" ) );
1171
1172
1172
1173
delete def;
1173
1174
}
@@ -2376,27 +2377,27 @@ void TestQgsProcessing::processingFeatureSource()
2376
2377
void TestQgsProcessing::processingFeatureSink ()
2377
2378
{
2378
2379
QString sinkString ( QStringLiteral ( " test.shp" ) );
2379
- QgsProcessingFeatureSink fs ( sinkString, true );
2380
+ QgsProject p;
2381
+ QgsProcessingFeatureSink fs ( sinkString, &p );
2380
2382
QCOMPARE ( fs.sink .staticValue ().toString (), sinkString );
2381
- QVERIFY ( fs.loadIntoProject );
2383
+ QCOMPARE ( fs.destinationProject , &p );
2382
2384
2383
2385
// test storing QgsProcessingFeatureSink in variant and retrieving
2384
2386
QVariant fsInVariant = QVariant::fromValue ( fs );
2385
2387
QVERIFY ( fsInVariant.isValid () );
2386
2388
2387
2389
QgsProcessingFeatureSink fromVar = qvariant_cast<QgsProcessingFeatureSink>( fsInVariant );
2388
2390
QCOMPARE ( fromVar.sink .staticValue ().toString (), sinkString );
2389
- QVERIFY ( fromVar.loadIntoProject );
2391
+ QCOMPARE ( fromVar.destinationProject , &p );
2390
2392
2391
2393
// test evaluating parameter as sink
2392
- QgsProject p;
2393
2394
QgsProcessingContext context;
2394
2395
context.setProject ( &p );
2395
2396
2396
2397
// first using static string definition
2397
2398
QgsProcessingParameterDefinition *def = new QgsProcessingParameterString ( QStringLiteral ( " layer" ) );
2398
2399
QVariantMap params;
2399
- params.insert ( QStringLiteral ( " layer" ), QgsProcessingFeatureSink ( " memory:test" , false ) );
2400
+ params.insert ( QStringLiteral ( " layer" ), QgsProcessingFeatureSink ( " memory:test" , nullptr ) );
2400
2401
QString dest;
2401
2402
std::unique_ptr< QgsFeatureSink > sink ( QgsProcessingParameters::parameterAsSink ( def, params, QgsFields (), QgsWkbTypes::Point , QgsCoordinateReferenceSystem ( " EPSG:3111" ), context, dest ) );
2402
2403
QVERIFY ( sink.get () );
@@ -2405,7 +2406,7 @@ void TestQgsProcessing::processingFeatureSink()
2405
2406
QCOMPARE ( layer->crs ().authid (), QStringLiteral ( " EPSG:3111" ) );
2406
2407
2407
2408
// next using property based definition
2408
- params.insert ( QStringLiteral ( " layer" ), QgsProcessingFeatureSink ( QgsProperty::fromExpression ( QStringLiteral ( " trim('memory' + ':test2')" ) ), false ) );
2409
+ params.insert ( QStringLiteral ( " layer" ), QgsProcessingFeatureSink ( QgsProperty::fromExpression ( QStringLiteral ( " trim('memory' + ':test2')" ) ), nullptr ) );
2409
2410
sink.reset ( QgsProcessingParameters::parameterAsSink ( def, params, QgsFields (), QgsWkbTypes::Point , QgsCoordinateReferenceSystem ( " EPSG:3113" ), context, dest ) );
2410
2411
QVERIFY ( sink.get () );
2411
2412
QgsVectorLayer *layer2 = qobject_cast< QgsVectorLayer *>( QgsProcessingUtils::mapLayerFromString ( dest, context, false ) );
0 commit comments