@@ -27,6 +27,7 @@ QgsGeometryValidationModel::QgsGeometryValidationModel( QgsGeometryValidationSer
27
27
: QAbstractItemModel( parent )
28
28
, mGeometryValidationService( geometryValidationService )
29
29
{
30
+ connect ( mGeometryValidationService , &QgsGeometryValidationService::singleGeometryCheckCleared, this , &QgsGeometryValidationModel::onSingleGeometryCheckCleared );
30
31
connect ( mGeometryValidationService , &QgsGeometryValidationService::geometryCheckCompleted, this , &QgsGeometryValidationModel::onGeometryCheckCompleted );
31
32
connect ( mGeometryValidationService , &QgsGeometryValidationService::geometryCheckStarted, this , &QgsGeometryValidationModel::onGeometryCheckStarted );
32
33
connect ( mGeometryValidationService , &QgsGeometryValidationService::topologyChecksUpdated, this , &QgsGeometryValidationModel::onTopologyChecksUpdated );
@@ -250,6 +251,24 @@ void QgsGeometryValidationModel::setCurrentLayer( QgsVectorLayer *currentLayer )
250
251
endResetModel ();
251
252
}
252
253
254
+ void QgsGeometryValidationModel::onSingleGeometryCheckCleared ( QgsVectorLayer *layer )
255
+ {
256
+ auto &layerErrors = mErrorStorage [layer];
257
+
258
+ if ( mCurrentLayer == layer && !layerErrors.empty () )
259
+ {
260
+ beginRemoveRows ( QModelIndex (), 0 , layerErrors.size () - 1 );
261
+ }
262
+
263
+ layerErrors.clear ();
264
+
265
+ if ( mCurrentLayer == layer && !layerErrors.empty () )
266
+ {
267
+ endRemoveRows ();
268
+ }
269
+
270
+ }
271
+
253
272
void QgsGeometryValidationModel::onGeometryCheckCompleted ( QgsVectorLayer *layer, QgsFeatureId fid, const QList<std::shared_ptr<QgsSingleGeometryCheckError>> &errors )
254
273
{
255
274
auto &layerErrors = mErrorStorage [layer];
0 commit comments