From 32420858074f7ac3093064a0f45b6612a9ab5772 Mon Sep 17 00:00:00 2001 From: Grzegorz Bokota Date: Mon, 3 Aug 2026 16:50:39 +0200 Subject: [PATCH 1/4] fix: Fix setting status of delete button in multiple files widget fix PARTSEG-10D --- package/PartSeg/common_gui/select_multiple_files.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/package/PartSeg/common_gui/select_multiple_files.py b/package/PartSeg/common_gui/select_multiple_files.py index f91df20b2..70965c842 100644 --- a/package/PartSeg/common_gui/select_multiple_files.py +++ b/package/PartSeg/common_gui/select_multiple_files.py @@ -228,10 +228,12 @@ def select_directory(self): self.paths_input.setText(dial.selectedFiles()[0]) def file_chosen(self): - self.delete_button.setEnabled(True) + self.delete_button.setEnabled(self.selected_files.currentRow() != -1) def delete_element(self): item = self.selected_files.takeItem(self.selected_files.currentRow()) + if item is None: + return self.files_to_proceed.remove(item.file_path) self.file_list_changed.emit(self.files_to_proceed) if self.selected_files.count() == 0: @@ -241,6 +243,7 @@ def clean(self): self.selected_files.clear() self.files_to_proceed.clear() self.file_list_changed.emit(self.files_to_proceed) + self.delete_button.setDisabled(True) def get_paths(self): return sorted(self.files_to_proceed) From 45dd2a09887c665f175df30a2bdb1513b6e254ab Mon Sep 17 00:00:00 2001 From: Grzegorz Bokota Date: Mon, 3 Aug 2026 17:32:31 +0200 Subject: [PATCH 2/4] use selectedItems --- package/PartSeg/common_gui/select_multiple_files.py | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/package/PartSeg/common_gui/select_multiple_files.py b/package/PartSeg/common_gui/select_multiple_files.py index 70965c842..bd837b296 100644 --- a/package/PartSeg/common_gui/select_multiple_files.py +++ b/package/PartSeg/common_gui/select_multiple_files.py @@ -228,22 +228,21 @@ def select_directory(self): self.paths_input.setText(dial.selectedFiles()[0]) def file_chosen(self): - self.delete_button.setEnabled(self.selected_files.currentRow() != -1) + self.delete_button.setEnabled(len(self.selected_files.selectedItems()) != 0) def delete_element(self): - item = self.selected_files.takeItem(self.selected_files.currentRow()) - if item is None: - return - self.files_to_proceed.remove(item.file_path) + item: FileListItem + for item in self.selected_files.selectedItems(): + self.files_to_proceed.remove(item.file_path) self.file_list_changed.emit(self.files_to_proceed) if self.selected_files.count() == 0: - self.delete_button.setDisabled(True) + self.delete_button.setEnabled(False) def clean(self): self.selected_files.clear() self.files_to_proceed.clear() self.file_list_changed.emit(self.files_to_proceed) - self.delete_button.setDisabled(True) + self.delete_button.setEnabled(False) def get_paths(self): return sorted(self.files_to_proceed) From f1164e511a112daf508a6777ddf0b334e39d8955 Mon Sep 17 00:00:00 2001 From: Grzegorz Bokota Date: Mon, 3 Aug 2026 17:54:20 +0200 Subject: [PATCH 3/4] add coverage annotation --- codecov.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/codecov.yml b/codecov.yml index 39539d9bc..0d7895bbd 100644 --- a/codecov.yml +++ b/codecov.yml @@ -24,3 +24,5 @@ coverage: paths: [ 'package/tests/.*' ] comment: require_changes: true # if true: only post the PR comment if coverage changes +github_checks: + annotations: true From 2dabfceaf395036efcadbb436eb9c1a5ba9528bb Mon Sep 17 00:00:00 2001 From: Grzegorz Bokota Date: Mon, 3 Aug 2026 18:00:42 +0200 Subject: [PATCH 4/4] add missed removals --- package/PartSeg/common_gui/select_multiple_files.py | 1 + 1 file changed, 1 insertion(+) diff --git a/package/PartSeg/common_gui/select_multiple_files.py b/package/PartSeg/common_gui/select_multiple_files.py index bd837b296..1aee10a47 100644 --- a/package/PartSeg/common_gui/select_multiple_files.py +++ b/package/PartSeg/common_gui/select_multiple_files.py @@ -234,6 +234,7 @@ def delete_element(self): item: FileListItem for item in self.selected_files.selectedItems(): self.files_to_proceed.remove(item.file_path) + self.selected_files.takeItem(self.selected_files.row(item)) self.file_list_changed.emit(self.files_to_proceed) if self.selected_files.count() == 0: self.delete_button.setEnabled(False)