mirror of
https://github.com/qgis/QGIS.git
synced 2025-03-01 00:46:20 -05:00
[locator] fix display title expression not displayed anymore in the results
This commit is contained in:
parent
0fb54bc4ac
commit
0f2a8341f3
@ -282,7 +282,7 @@ QStringList QgsActiveLayerFeaturesLocatorFilter::prepare( const QString &string,
|
||||
QStringList expressionParts;
|
||||
QStringList completionList;
|
||||
const QgsFields fields = layer->fields();
|
||||
QgsAttributeList subsetOfAttributes;
|
||||
QgsAttributeList subsetOfAttributes = qgis::setToList( mDispExpression.referencedAttributeIndexes( layer->fields() ) );
|
||||
for ( const QgsField &field : fields )
|
||||
{
|
||||
if ( field.configurationFlags().testFlag( QgsField::ConfigurationFlag::NotSearchable ) )
|
||||
@ -292,7 +292,11 @@ QStringList QgsActiveLayerFeaturesLocatorFilter::prepare( const QString &string,
|
||||
continue;
|
||||
|
||||
if ( !_fieldRestriction.isEmpty() )
|
||||
subsetOfAttributes << layer->fields().indexFromName( field.name() );
|
||||
{
|
||||
int index = layer->fields().indexFromName( field.name() );
|
||||
if ( !subsetOfAttributes.contains( index ) )
|
||||
subsetOfAttributes << index;
|
||||
}
|
||||
|
||||
completionList.append( QStringLiteral( "@%1 " ).arg( field.name() ) );
|
||||
if ( field.type() == QVariant::String )
|
||||
@ -309,7 +313,8 @@ QStringList QgsActiveLayerFeaturesLocatorFilter::prepare( const QString &string,
|
||||
QString expression = QStringLiteral( "(%1)" ).arg( expressionParts.join( QStringLiteral( " ) OR ( " ) ) );
|
||||
|
||||
QgsFeatureRequest req;
|
||||
req.setFlags( QgsFeatureRequest::NoGeometry );
|
||||
if ( !mDispExpression.needsGeometry() )
|
||||
req.setFlags( QgsFeatureRequest::NoGeometry );
|
||||
req.setFilterExpression( expression );
|
||||
if ( !_fieldRestriction.isEmpty() )
|
||||
req.setSubsetOfAttributes( subsetOfAttributes );
|
||||
|
Loading…
x
Reference in New Issue
Block a user