From 5a7a9090b633c3f4effdcb4dbd67493707c80149 Mon Sep 17 00:00:00 2001 From: llama <100429699+iamllama@users.noreply.github.com> Date: Sat, 4 Jan 2025 22:39:16 +0800 Subject: [PATCH] Allow choosing filtered decks in stats (#3687) * add optional passthru param dyn to DeckChooser * include filtered decks when choosing decks in stats --- qt/aqt/deckchooser.py | 5 ++++- qt/aqt/stats.py | 1 + 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/qt/aqt/deckchooser.py b/qt/aqt/deckchooser.py index c25fcad1e..3f8580b54 100644 --- a/qt/aqt/deckchooser.py +++ b/qt/aqt/deckchooser.py @@ -21,10 +21,12 @@ class DeckChooser(QHBoxLayout): label: bool = True, starting_deck_id: DeckId | None = None, on_deck_changed: Callable[[int], None] | None = None, + dyn: bool = False, ) -> None: QHBoxLayout.__init__(self) self._widget = widget # type: ignore self.mw = mw + self.dyn = dyn self._setup_ui(show_label=label) self._selected_deck_id = DeckId(0) @@ -78,7 +80,7 @@ class DeckChooser(QHBoxLayout): def _ensure_selected_deck_valid(self) -> None: deck = self.mw.col.decks.get(self._selected_deck_id, default=False) - if not deck or deck["dyn"]: + if not deck or (not self.dyn and deck["dyn"]): self.selected_deck_id = DEFAULT_DECK_ID def _update_button_label(self) -> None: @@ -117,6 +119,7 @@ class DeckChooser(QHBoxLayout): parent=self._widget, geomKey="selectDeck", callback=callback, + dyn=self.dyn, ) def on_operation_did_execute( diff --git a/qt/aqt/stats.py b/qt/aqt/stats.py index 7842b27a9..3c9952155 100644 --- a/qt/aqt/stats.py +++ b/qt/aqt/stats.py @@ -56,6 +56,7 @@ class NewDeckStats(QDialog): self.mw, f.deckArea, on_deck_changed=self.on_deck_changed, + dyn=True, # include filtered decks ) b = f.buttonBox.addButton(