From 95a62b20d33cfe8f866a4cd40b9322e9920351d7 Mon Sep 17 00:00:00 2001 From: BlueGreenMagick <50060875+BlueGreenMagick@users.noreply.github.com> Date: Tue, 5 Jan 2021 19:43:37 +0900 Subject: [PATCH] delete deck in background --- qt/aqt/deckbrowser.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/qt/aqt/deckbrowser.py b/qt/aqt/deckbrowser.py index 715461d32..6830f0375 100644 --- a/qt/aqt/deckbrowser.py +++ b/qt/aqt/deckbrowser.py @@ -3,6 +3,7 @@ # License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html from __future__ import annotations +from concurrent.futures import Future from copy import deepcopy from dataclasses import dataclass @@ -299,11 +300,16 @@ class DeckBrowser: def _delete(self, did: int) -> None: if self.ask_delete_deck(did): + + def do_delete(): + return self.mw.col.decks.rem(did, True) + + def on_done(fut: Future): + self.show() + res = fut.result() # Required to check for errors + self.mw.checkpoint(tr(TR.DECKS_DELETE_DECK)) - self.mw.progress.start() - self.mw.col.decks.rem(did, True) - self.mw.progress.finish() - self.show() + self.mw.taskman.with_progress(do_delete, on_done) # Top buttons ######################################################################