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 diff --git a/package/PartSeg/common_gui/select_multiple_files.py b/package/PartSeg/common_gui/select_multiple_files.py index f91df20b2..1aee10a47 100644 --- a/package/PartSeg/common_gui/select_multiple_files.py +++ b/package/PartSeg/common_gui/select_multiple_files.py @@ -228,19 +228,22 @@ def select_directory(self): self.paths_input.setText(dial.selectedFiles()[0]) def file_chosen(self): - self.delete_button.setEnabled(True) + self.delete_button.setEnabled(len(self.selected_files.selectedItems()) != 0) def delete_element(self): - item = self.selected_files.takeItem(self.selected_files.currentRow()) - 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.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.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.setEnabled(False) def get_paths(self): return sorted(self.files_to_proceed) diff --git a/package/tests/test_PartSeg/test_common_gui.py b/package/tests/test_PartSeg/test_common_gui.py index 23458128c..14ec4ce74 100644 --- a/package/tests/test_PartSeg/test_common_gui.py +++ b/package/tests/test_PartSeg/test_common_gui.py @@ -288,6 +288,17 @@ def test_delete_element(self, qtbot, tmp_path, part_settings): widget.delete_element() assert len(widget.files_to_proceed) == 9 + def test_delete_element_disable_button(self, qtbot, tmp_path, part_settings): + widget = select_multiple_files.AddFiles(part_settings) + qtbot.addWidget(widget) + file_name = tmp_path / "test.txt" + file_name.write_text("test") + widget.update_files_list([str(file_name)]) + widget.selected_files.setCurrentRow(0) + assert widget.delete_button.isEnabled() + widget.delete_element() + assert widget.delete_button.isEnabled() is False + def test_load_file(self, qtbot, tmp_path, part_settings): for i in range(10): with open(tmp_path / f"test_{i}.txt", "w") as f_p: