@@ -323,54 +323,58 @@ void QgsAttributeTableFilterModel::setFilterMode( FilterMode filterMode )
323
323
{
324
324
if ( filterMode != mFilterMode )
325
325
{
326
- // cleanup existing connections
327
- switch ( mFilterMode )
328
- {
329
- case ShowVisible:
330
- disconnect ( mCanvas , &QgsMapCanvas::extentsChanged, this , &QgsAttributeTableFilterModel::startTimedReloadVisible );
331
- disconnect ( layer (), &QgsVectorLayer::featureAdded, this , &QgsAttributeTableFilterModel::startTimedReloadVisible );
332
- disconnect ( layer (), &QgsVectorLayer::geometryChanged, this , &QgsAttributeTableFilterModel::startTimedReloadVisible );
333
- disconnect ( mTableModel , &QgsAttributeTableModel::finished, this , &QgsAttributeTableFilterModel::startTimedReloadVisible );
334
- break ;
335
- case ShowAll:
336
- case ShowEdited:
337
- case ShowSelected:
338
- break ;
339
- case ShowFilteredList:
340
- disconnect ( layer (), &QgsVectorLayer::featureAdded, this , &QgsAttributeTableFilterModel::startTimedFilterFeatures );
341
- disconnect ( mTableModel , &QgsAttributeTableModel::finished, this , &QgsAttributeTableFilterModel::startTimedFilterFeatures );
342
- disconnect ( layer (), &QgsVectorLayer::attributeValueChanged, this , &QgsAttributeTableFilterModel::onAttributeValueChanged );
343
- disconnect ( layer (), &QgsVectorLayer::geometryChanged, this , &QgsAttributeTableFilterModel::onGeometryChanged );
344
- break ;
345
- }
346
-
347
- // setup new connections
348
- switch ( filterMode )
349
- {
350
- case ShowVisible:
351
- connect ( mCanvas , &QgsMapCanvas::extentsChanged, this , &QgsAttributeTableFilterModel::startTimedReloadVisible );
352
- connect ( layer (), &QgsVectorLayer::featureAdded, this , &QgsAttributeTableFilterModel::startTimedReloadVisible );
353
- connect ( layer (), &QgsVectorLayer::geometryChanged, this , &QgsAttributeTableFilterModel::startTimedReloadVisible );
354
- connect ( mTableModel , &QgsAttributeTableModel::finished, this , &QgsAttributeTableFilterModel::startTimedReloadVisible );
355
- generateListOfVisibleFeatures ();
356
- break ;
357
- case ShowAll:
358
- case ShowEdited:
359
- case ShowSelected:
360
- break ;
361
- case ShowFilteredList:
362
- connect ( layer (), &QgsVectorLayer::featureAdded, this , &QgsAttributeTableFilterModel::startTimedFilterFeatures );
363
- connect ( mTableModel , &QgsAttributeTableModel::finished, this , &QgsAttributeTableFilterModel::startTimedFilterFeatures );
364
- connect ( layer (), &QgsVectorLayer::attributeValueChanged, this , &QgsAttributeTableFilterModel::onAttributeValueChanged );
365
- connect ( layer (), &QgsVectorLayer::geometryChanged, this , &QgsAttributeTableFilterModel::onGeometryChanged );
366
- break ;
367
- }
368
-
326
+ disconnectFilterModeConnections ();
327
+ connectFilterModeConnections ( filterMode );
369
328
mFilterMode = filterMode;
370
329
invalidateFilter ();
371
330
}
372
331
}
373
332
333
+ void QgsAttributeTableFilterModel::disconnectFilterModeConnections ()
334
+ {
335
+ // cleanup existing connections
336
+ switch ( mFilterMode )
337
+ {
338
+ case ShowVisible:
339
+ disconnect ( mCanvas , &QgsMapCanvas::extentsChanged, this , &QgsAttributeTableFilterModel::startTimedReloadVisible );
340
+ disconnect ( layer (), &QgsVectorLayer::featureAdded, this , &QgsAttributeTableFilterModel::startTimedReloadVisible );
341
+ disconnect ( layer (), &QgsVectorLayer::geometryChanged, this , &QgsAttributeTableFilterModel::startTimedReloadVisible );
342
+ break ;
343
+ case ShowAll:
344
+ case ShowEdited:
345
+ case ShowSelected:
346
+ break ;
347
+ case ShowFilteredList:
348
+ disconnect ( layer (), &QgsVectorLayer::featureAdded, this , &QgsAttributeTableFilterModel::startTimedFilterFeatures );
349
+ disconnect ( layer (), &QgsVectorLayer::attributeValueChanged, this , &QgsAttributeTableFilterModel::onAttributeValueChanged );
350
+ disconnect ( layer (), &QgsVectorLayer::geometryChanged, this , &QgsAttributeTableFilterModel::onGeometryChanged );
351
+ break ;
352
+ }
353
+ }
354
+
355
+ void QgsAttributeTableFilterModel::connectFilterModeConnections ( QgsAttributeTableFilterModel::FilterMode filterMode )
356
+ {
357
+ // setup new connections
358
+ switch ( filterMode )
359
+ {
360
+ case ShowVisible:
361
+ connect ( mCanvas , &QgsMapCanvas::extentsChanged, this , &QgsAttributeTableFilterModel::startTimedReloadVisible );
362
+ connect ( layer (), &QgsVectorLayer::featureAdded, this , &QgsAttributeTableFilterModel::startTimedReloadVisible );
363
+ connect ( layer (), &QgsVectorLayer::geometryChanged, this , &QgsAttributeTableFilterModel::startTimedReloadVisible );
364
+ generateListOfVisibleFeatures ();
365
+ break ;
366
+ case ShowAll:
367
+ case ShowEdited:
368
+ case ShowSelected:
369
+ break ;
370
+ case ShowFilteredList:
371
+ connect ( layer (), &QgsVectorLayer::featureAdded, this , &QgsAttributeTableFilterModel::startTimedFilterFeatures );
372
+ connect ( layer (), &QgsVectorLayer::attributeValueChanged, this , &QgsAttributeTableFilterModel::onAttributeValueChanged );
373
+ connect ( layer (), &QgsVectorLayer::geometryChanged, this , &QgsAttributeTableFilterModel::onGeometryChanged );
374
+ break ;
375
+ }
376
+ }
377
+
374
378
bool QgsAttributeTableFilterModel::filterAcceptsRow ( int sourceRow, const QModelIndex &sourceParent ) const
375
379
{
376
380
Q_UNUSED ( sourceParent )
0 commit comments