Merge pull request #6777 from signedav/fix_conditionalformat

Conditional formatting on relation reference widget
This commit is contained in:
Matthias Kuhn 2018-04-12 10:41:39 +02:00 committed by GitHub
commit 6cf14335a5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -448,16 +448,10 @@ QgsConditionalStyle QgsFeatureFilterModel::featureStyle( const QgsFeature &featu
QgsVectorLayer *layer = mSourceLayer;
QgsFeatureId fid = feature.id();
mExpressionContext.setFeature( feature );
QgsConditionalStyle style;
if ( mEntryStylesMap.contains( fid ) )
{
style = mEntryStylesMap.value( fid );
}
auto styles = QgsConditionalStyle::matchingConditionalStyles( layer->conditionalStyles()->rowStyles(), QVariant(), mExpressionContext );
if ( mDisplayExpression.isField() )
if ( mDisplayExpression.referencedColumns().count() == 1 )
{
// Style specific for this field
QString fieldName = *mDisplayExpression.referencedColumns().constBegin();
@ -465,11 +459,12 @@ QgsConditionalStyle QgsFeatureFilterModel::featureStyle( const QgsFeature &featu
const auto matchingFieldStyles = QgsConditionalStyle::matchingConditionalStyles( allStyles, feature.attribute( fieldName ), mExpressionContext );
styles += matchingFieldStyles;
style = QgsConditionalStyle::compressStyles( styles );
mEntryStylesMap.insert( fid, style );
}
QgsConditionalStyle style;
style = QgsConditionalStyle::compressStyles( styles );
mEntryStylesMap.insert( fid, style );
return style;
}