Auto set algorithm linked to newly created QgsProcessingAlgorithmConfigurationWidget instances

This commit is contained in:
Nyall Dawson 2019-02-19 13:06:41 +10:00
parent eb335c3973
commit 69c703141e
2 changed files with 5 additions and 2 deletions

View File

@ -66,7 +66,10 @@ QgsProcessingAlgorithmConfigurationWidget *QgsProcessingGuiRegistry::algorithmCo
{
if ( factory->canCreateFor( algorithm ) )
{
return factory->create( algorithm );
std::unique_ptr< QgsProcessingAlgorithmConfigurationWidget > widget( factory->create( algorithm ) );
if ( widget )
widget->setAlgorithm( algorithm );
return widget.release();
}
}

View File

@ -254,9 +254,9 @@ void TestProcessingGui::testSetGetConfig()
for ( const QgsProcessingAlgorithm *algorithm : algorithms )
{
std::unique_ptr<QgsProcessingAlgorithmConfigurationWidget> configWidget( QgsGui::instance()->processingGuiRegistry()->algorithmConfigurationWidget( algorithm ) );
if ( configWidget )
{
QCOMPARE( configWidget->algorithm(), algorithm );
const QVariantMap defaultConfig = configWidget->configuration();
configWidget->setConfiguration( defaultConfig );
const QVariantMap defaultControlConfig = configWidget->configuration();