@@ -321,22 +321,24 @@ void QgsAttributeTableFilterModel::setFilterMode( FilterMode filterMode )
321
321
if ( filterMode == ShowVisible )
322
322
{
323
323
connect ( mCanvas , &QgsMapCanvas::extentsChanged, this , &QgsAttributeTableFilterModel::reloadVisible );
324
- connect ( mTableModel , &QgsAttributeTableModel::dataChanged, this , &QgsAttributeTableFilterModel::reloadVisible );
324
+ connect ( layer (), &QgsVectorLayer::featureAdded, this , &QgsAttributeTableFilterModel::reloadVisible );
325
+ // featureDeleted is handled over selectionChanged
325
326
generateListOfVisibleFeatures ();
326
327
}
327
328
else
328
329
{
329
330
disconnect ( mCanvas , &QgsMapCanvas::extentsChanged, this , &QgsAttributeTableFilterModel::reloadVisible );
330
- disconnect ( mTableModel , &QgsAttributeTableModel::dataChanged , this , &QgsAttributeTableFilterModel::reloadVisible );
331
+ disconnect ( layer () , &QgsVectorLayer::featureAdded , this , &QgsAttributeTableFilterModel::reloadVisible );
331
332
}
332
333
333
334
if ( filterMode == ShowFilteredList )
334
335
{
335
- connect ( mTableModel , &QgsAttributeTableModel::dataChanged, this , &QgsAttributeTableFilterModel::filterFeatures );
336
+ connect ( layer (), &QgsVectorLayer::featureAdded, this , &QgsAttributeTableFilterModel::filterFeatures );
337
+ // featureDeleted is handled over selectionChanged
336
338
}
337
339
else
338
340
{
339
- disconnect ( mTableModel , &QgsAttributeTableModel::dataChanged , this , &QgsAttributeTableFilterModel::filterFeatures );
341
+ disconnect ( layer () , &QgsVectorLayer::featureAdded , this , &QgsAttributeTableFilterModel::filterFeatures );
340
342
}
341
343
342
344
mFilterMode = filterMode;
0 commit comments