From 2953bd075c1ab19ce33575660d9b21e7e736183d Mon Sep 17 00:00:00 2001 From: rnousia Date: Tue, 2 Jan 2024 14:24:17 +0200 Subject: [PATCH] fix: show correct results when user processed filter is toggled --- CHANGELOG.md | 2 ++ .../quality_error_manager.py | 23 +++++++++++++------ 2 files changed, 18 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c5524cb..7b061df 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +- Fix: Show correct results when user processed filter is toggled with map extent filter active + ## [2.0.5] - 2023-12-12 - Fix: Filter newly inserted quality error rows correctly with user processed and map extent filters diff --git a/src/quality_result_gui/quality_error_manager.py b/src/quality_result_gui/quality_error_manager.py index 893df8c..d838863 100644 --- a/src/quality_result_gui/quality_error_manager.py +++ b/src/quality_result_gui/quality_error_manager.py @@ -1,4 +1,4 @@ -# Copyright (C) 2023 National Land Survey of Finland +# Copyright (C) 2023-2024 National Land Survey of Finland # (https://www.maanmittauslaitos.fi/en). # # @@ -94,6 +94,7 @@ def __init__( self._base_model = QualityErrorsTreeBaseModel() self._base_model.error_checked.connect(self.error_checked) + self._fetcher.results_received.connect(self._base_model.refresh_model) self._filter_model = FilterProxyModel() @@ -103,29 +104,37 @@ def __init__( self._filter_model.invalidateFilter ) + # Checkbox for filtering out user processed rows self._filter_user_processed_model = FilterByShowUserProcessedProxyModel() self._filter_user_processed_model.setSourceModel(self._filter_model) self._base_model.filterable_data_changed.connect( self._filter_user_processed_model.invalidateFilter ) + self.dock_widget.show_user_processed_errors_check_box.toggled.connect( + self._filter_user_processed_model.set_show_processed_errors + ) + # Checkbox for filtering out rows outside map extent self._filter_map_extent_model = FilterByExtentProxyModel() self._filter_map_extent_model.setSourceModel(self._filter_user_processed_model) self._base_model.filterable_data_changed.connect( self._filter_map_extent_model.invalidateFilter ) + self.dock_widget.filter_with_map_extent_check_box.toggled.connect( + self._filter_map_extent_model.set_enabled + ) + + # Invalidate map extent filter also when user processed checkbox is toggled + self.dock_widget.show_user_processed_errors_check_box.toggled.connect( + self._filter_map_extent_model.invalidateFilter + ) self._styled_model = StyleProxyModel() self._styled_model.setSourceModel(self._filter_map_extent_model) self.dock_widget.error_tree_view.setModel(self._styled_model) - self.dock_widget.show_user_processed_errors_check_box.toggled.connect( - self._filter_user_processed_model.set_show_processed_errors - ) - self.dock_widget.filter_with_map_extent_check_box.toggled.connect( - self._filter_map_extent_model.set_enabled - ) + # Checkbox for showing errors on map self.dock_widget.show_errors_on_map_check_box.toggled.connect( self.visualizer.toggle_visibility )