From a2789b1704278ca354f61e142ecc5e1ede29d9bf Mon Sep 17 00:00:00 2001 From: Toast Date: Fri, 6 Jun 2025 03:16:06 +0200 Subject: [PATCH] QModList: implement removing mods --- src/leek/mod_list.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/leek/mod_list.py b/src/leek/mod_list.py index 96a98d4..3c13d58 100644 --- a/src/leek/mod_list.py +++ b/src/leek/mod_list.py @@ -48,3 +48,16 @@ class QModListModel(QAbstractListModel): else: result = None return result + + def removeRows(self, row, count, parent=QModelIndex()) -> bool: + super().beginRemoveRows(parent, row, row + count - 1) + for index in range(row, row + count): + deleted_mod: QMod = self.mods.pop(index) + for root, dirs, files in deleted_mod.pathlib_path.walk(top_down=False): + for name in files: + (root / name).unlink() + for name in dirs: + (root / name).rmdir() + deleted_mod.pathlib_path.rmdir() + super().endRemoveRows() + return False