Skip to content

Commit 2a185a0

Browse files
committedOct 26, 2017
Re-Enable chained filters
1 parent 98bad05 commit 2a185a0

File tree

1 file changed

+3
-22
lines changed

1 file changed

+3
-22
lines changed
 

‎src/gui/editorwidgets/qgsrelationreferencewidget.cpp

Lines changed: 3 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -826,15 +826,14 @@ void QgsRelationReferenceWidget::filterChanged()
826826
QStringList texts;
827827
Q_FOREACH ( const QString &txt, mFilterCache[ccb->property( "Field" ).toString()][ccb->currentText()] )
828828
{
829-
#if 0
830829
QMap<QString, QString> filtersAttrs = filters;
831830
filtersAttrs[fieldName] = QgsExpression::createFieldEqualityExpression( fieldName, txt );
832831
QString expression = filtersAttrs.values().join( QStringLiteral( " AND " ) );
833832

834833
QgsAttributeList subset = attrs;
835834
subset << mReferencedLayer->fields().lookupField( fieldName );
836835

837-
QgsFeatureIterator it( mMasterModel->layerCache()->getFeatures( QgsFeatureRequest().setFilterExpression( expression ).setSubsetOfAttributes( subset ) ) );
836+
QgsFeatureIterator it( mReferencedLayer->getFeatures( QgsFeatureRequest().setFilterExpression( expression ).setSubsetOfAttributes( subset ) ) );
838837

839838
bool found = false;
840839
while ( it.nextFeature( f ) )
@@ -847,7 +846,6 @@ void QgsRelationReferenceWidget::filterChanged()
847846

848847
// item is only provided if at least 1 feature exists
849848
if ( found )
850-
#endif
851849
texts << txt;
852850
}
853851

@@ -861,25 +859,8 @@ void QgsRelationReferenceWidget::filterChanged()
861859
}
862860
}
863861
}
864-
#if 0
865-
if ( !mChainFilters || ( mChainFilters && !filtered ) )
866-
{
867-
filterExpression = filters.values().join( QStringLiteral( " AND " ) );
868-
869-
QgsFeatureRequest req = QgsFeatureRequest().setSubsetOfAttributes( attrs );
870-
if ( !filterExpression.isEmpty() )
871-
req.setFilterExpression( filterExpression );
872-
873-
QgsFeatureIterator it( mMasterModel->layerCache()->getFeatures( req ) );
874-
875-
while ( it.nextFeature( f ) )
876-
{
877-
featureIds << f.id();
878-
}
879-
}
880-
881-
mFilterModel->setFilteredFeatures( featureIds );
882-
#endif
862+
filterExpression = filters.values().join( QStringLiteral( " AND " ) );
863+
mComboBox->setFilterExpression( filterExpression );
883864
}
884865

885866
void QgsRelationReferenceWidget::addEntry()

0 commit comments

Comments
 (0)
Please sign in to comment.