fix displaying of the enum parameter options when static strings mode is

active and multiple selection is enabled. Also improve conversion to
Python string
This commit is contained in:
Alexander Bruy 2023-03-08 08:33:09 +02:00 committed by Nyall Dawson
parent 139ee639c2
commit 5f83b84c4e
2 changed files with 14 additions and 3 deletions

View File

@ -4933,7 +4933,7 @@ QString QgsProcessingParameterEnum::valueAsPythonString( const QVariant &value,
if ( mUsesStaticStrings )
{
if ( value.type() == QVariant::StringList )
if ( value.type() == QVariant::List || value.type() == QVariant::StringList )
{
QStringList parts;
const QStringList constList = value.toStringList();

View File

@ -2451,8 +2451,19 @@ void QgsProcessingEnumPanelWidget::showDialog()
if ( mParam )
{
availableOptions.reserve( mParam->options().size() );
for ( int i = 0; i < mParam->options().count(); ++i )
availableOptions << i;
if ( mParam->usesStaticStrings() )
{
for ( QString o : mParam->options() )
{
availableOptions << o;
}
}
else
{
for ( int i = 0; i < mParam->options().count(); ++i )
availableOptions << i;
}
}
const QStringList options = mParam ? mParam->options() : QStringList();