Skip to content

Commit e303d1f

Browse files
committedMay 4, 2020
connected vector layer signals to reloadVisible and filterFeatures slot instead of datachanged of model since this leaded to unneeded and long reloading after the main model is reloaded
fixes #35927
1 parent 11cd022 commit e303d1f

File tree

1 file changed

+12
-4
lines changed

1 file changed

+12
-4
lines changed
 

‎src/gui/attributetable/qgsattributetablefiltermodel.cpp

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -323,14 +323,18 @@ void QgsAttributeTableFilterModel::setFilterMode( FilterMode filterMode )
323323
{
324324
case ShowVisible:
325325
disconnect( mCanvas, &QgsMapCanvas::extentsChanged, this, &QgsAttributeTableFilterModel::reloadVisible );
326-
disconnect( mTableModel, &QgsAttributeTableModel::dataChanged, this, &QgsAttributeTableFilterModel::reloadVisible );
326+
disconnect( layer(), &QgsVectorLayer::featureAdded, this, &QgsAttributeTableFilterModel::reloadVisible );
327+
disconnect( layer(), &QgsVectorLayer::geometryChanged, this, &QgsAttributeTableFilterModel::reloadVisible );
328+
disconnect( mTableModel, &QgsAttributeTableModel::finished, this, &QgsAttributeTableFilterModel::reloadVisible );
327329
break;
328330
case ShowAll:
329331
case ShowEdited:
330332
case ShowSelected:
331333
break;
332334
case ShowFilteredList:
333-
disconnect( mTableModel, &QgsAttributeTableModel::dataChanged, this, &QgsAttributeTableFilterModel::filterFeatures );
335+
disconnect( layer(), &QgsVectorLayer::featureAdded, this, &QgsAttributeTableFilterModel::filterFeatures );
336+
disconnect( layer(), &QgsVectorLayer::attributeValueChanged, this, &QgsAttributeTableFilterModel::filterFeatures );
337+
disconnect( mTableModel, &QgsAttributeTableModel::finished, this, &QgsAttributeTableFilterModel::filterFeatures );
334338
break;
335339
}
336340

@@ -339,15 +343,19 @@ void QgsAttributeTableFilterModel::setFilterMode( FilterMode filterMode )
339343
{
340344
case ShowVisible:
341345
connect( mCanvas, &QgsMapCanvas::extentsChanged, this, &QgsAttributeTableFilterModel::reloadVisible );
342-
connect( mTableModel, &QgsAttributeTableModel::dataChanged, this, &QgsAttributeTableFilterModel::reloadVisible );
346+
connect( layer(), &QgsVectorLayer::featureAdded, this, &QgsAttributeTableFilterModel::reloadVisible );
347+
connect( layer(), &QgsVectorLayer::geometryChanged, this, &QgsAttributeTableFilterModel::reloadVisible );
348+
connect( mTableModel, &QgsAttributeTableModel::finished, this, &QgsAttributeTableFilterModel::reloadVisible );
343349
generateListOfVisibleFeatures();
344350
break;
345351
case ShowAll:
346352
case ShowEdited:
347353
case ShowSelected:
348354
break;
349355
case ShowFilteredList:
350-
connect( mTableModel, &QgsAttributeTableModel::dataChanged, this, &QgsAttributeTableFilterModel::filterFeatures );
356+
connect( layer(), &QgsVectorLayer::featureAdded, this, &QgsAttributeTableFilterModel::filterFeatures );
357+
connect( layer(), &QgsVectorLayer::attributeValueChanged, this, &QgsAttributeTableFilterModel::filterFeatures );
358+
connect( mTableModel, &QgsAttributeTableModel::finished, this, &QgsAttributeTableFilterModel::filterFeatures );
351359
break;
352360
}
353361

0 commit comments

Comments
 (0)
Please sign in to comment.