From b466eb7ab2638f4ee6c03af22e7f1f0a3ad25f0d Mon Sep 17 00:00:00 2001 From: kramo Date: Tue, 15 Aug 2023 21:32:24 +0200 Subject: [PATCH] Dismiss loose toasts when cleaning up games --- src/importer/importer.py | 3 +++ src/store/store.py | 9 ++++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/importer/importer.py b/src/importer/importer.py index 722f2fe..0b9b076 100644 --- a/src/importer/importer.py +++ b/src/importer/importer.py @@ -324,9 +324,12 @@ class Importer(ErrorProducer): shared.store[game_id].update() shared.store[game_id].save() + self.imported_game_ids = set() self.removed_game_ids = set() self.summary_toast.dismiss() + logging.info("Import undone") + def create_summary_toast(self): """N games imported, removed toast""" diff --git a/src/store/store.py b/src/store/store.py index 34c036b..89c7f11 100644 --- a/src/store/store.py +++ b/src/store/store.py @@ -91,7 +91,7 @@ class Store: self.pipeline_managers.discard(self.managers[manager_type]) def cleanup_game(self, game: Game) -> None: - """Remove a game's files""" + """Remove a game's files, dismiss any loose toasts""" for path in ( shared.games_dir / f"{game.game_id}.json", shared.covers_dir / f"{game.game_id}.tiff", @@ -99,6 +99,13 @@ class Store: ): path.unlink(missing_ok=True) + # TODO: don't run this if the state is startup + for undo in ("remove", "hide"): + try: + shared.win.toasts[(game, undo)].dismiss() + except KeyError: + pass + def add_game( self, game: Game, additional_data: dict, run_pipeline=True ) -> Pipeline | None: