Skip to content

Commit 4d98479

Browse files
committedApr 10, 2018
Conditional formatting on relation reference widget
in case we have additional display expressions there does use the conditional formatting for the row and in case there is only one fieldname used in the display expression it does use this as well Fix: #18521
1 parent 7fa9d41 commit 4d98479

File tree

1 file changed

+5
-10
lines changed

1 file changed

+5
-10
lines changed
 

‎src/core/qgsfeaturefiltermodel.cpp

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -448,28 +448,23 @@ QgsConditionalStyle QgsFeatureFilterModel::featureStyle( const QgsFeature &featu
448448
QgsVectorLayer *layer = mSourceLayer;
449449
QgsFeatureId fid = feature.id();
450450
mExpressionContext.setFeature( feature );
451-
QgsConditionalStyle style;
452-
453-
if ( mEntryStylesMap.contains( fid ) )
454-
{
455-
style = mEntryStylesMap.value( fid );
456-
}
457451

458452
auto styles = QgsConditionalStyle::matchingConditionalStyles( layer->conditionalStyles()->rowStyles(), QVariant(), mExpressionContext );
459453

460-
if ( mDisplayExpression.isField() )
454+
if ( mDisplayExpression.referencedColumns().count() == 1 )
461455
{
462456
// Style specific for this field
463457
QString fieldName = *mDisplayExpression.referencedColumns().constBegin();
464458
const auto allStyles = layer->conditionalStyles()->fieldStyles( fieldName );
465459
const auto matchingFieldStyles = QgsConditionalStyle::matchingConditionalStyles( allStyles, feature.attribute( fieldName ), mExpressionContext );
466460

467461
styles += matchingFieldStyles;
468-
469-
style = QgsConditionalStyle::compressStyles( styles );
470-
mEntryStylesMap.insert( fid, style );
471462
}
472463

464+
QgsConditionalStyle style;
465+
style = QgsConditionalStyle::compressStyles( styles );
466+
mEntryStylesMap.insert( fid, style );
467+
473468
return style;
474469
}
475470

0 commit comments

Comments
 (0)
Please sign in to comment.