def delete_file(self, item: QModelIndex) -> None: """Deletes a file or a directory by given ModelIndex""" path = self.FsModel.filePath(item) try: # Check if path is dir or file if self.FsModel.isDir(item): directory = QDir(path) directory.removeRecursively() else: file = QFile(path) file.moveToTrash() except OSError: raise ProjectError("Error deleting file or directory")