(self)
| 937 | item.setCheckState(check_state) |
| 938 | |
| 939 | def execute_delete(self): |
| 940 | selected_files = [] |
| 941 | selected_dirs = [] |
| 942 | |
| 943 | for row in range(self.table_files.rowCount()): |
| 944 | item = self.table_files.item(row, 0) |
| 945 | if item and item.checkState() == Qt.Checked: |
| 946 | file_info = self.file_data[row] |
| 947 | if file_info["type"] == "file": |
| 948 | selected_files.append(file_info["path"]) |
| 949 | else: |
| 950 | selected_dirs.append(file_info["path"]) |
| 951 | |
| 952 | if len(selected_files) + len(selected_dirs) == 0: |
| 953 | self.setWarninginfo("请先选择要删除的文件") |
| 954 | return |
| 955 | |
| 956 | self.setSuccessinfo("正在删除选中的文件...") |
| 957 | self.total_file = len(selected_files) |
| 958 | self.total_dir = len(selected_dirs) |
| 959 | self.total_size = 0 |
| 960 | |
| 961 | share_thread_arr = [0] |
| 962 | direct_delete = load_config_file().get("global", {}).get("direct_delete", False) |
| 963 | thread = multiDeleteThread(selected_files, selected_dirs, share_thread_arr, direct_delete=direct_delete) |
| 964 | thread.delete_process_signal.connect(self.callback) |
| 965 | self.thread_list.append(thread) |
| 966 | thread.start() |
| 967 | |
| 968 | self.remove_deleted_rows(selected_files, selected_dirs) |
| 969 | |
| 970 | def remove_deleted_rows(self, deleted_files, deleted_dirs): |
| 971 | deleted = set(deleted_files + deleted_dirs) |
no test coverage detected