diff --git a/qt/aqt/main.py b/qt/aqt/main.py index b770902c6..b02d010d3 100644 --- a/qt/aqt/main.py +++ b/qt/aqt/main.py @@ -678,7 +678,7 @@ class AnkiQt(QMainWindow): self.bottomWeb.show() gui_hooks.state_did_change(state, oldState) - def _deckBrowserState(self, oldState: str) -> None: + def _deckBrowserState(self, oldState: MainWindowState) -> None: self.deckBrowser.show() def _selectedDeck(self) -> DeckDict | None: @@ -688,15 +688,15 @@ class AnkiQt(QMainWindow): return None return self.col.decks.get(did) - def _overviewState(self, oldState: str) -> None: + def _overviewState(self, oldState: MainWindowState) -> None: if not self._selectedDeck(): return self.moveToState("deckBrowser") self.overview.show() - def _reviewState(self, oldState: str) -> None: + def _reviewState(self, oldState: MainWindowState) -> None: self.reviewer.show() - def _reviewCleanup(self, newState: str) -> None: + def _reviewCleanup(self, newState: MainWindowState) -> None: if newState != "resetRequired" and newState != "review": self.reviewer.cleanup() diff --git a/qt/tools/genhooks_gui.py b/qt/tools/genhooks_gui.py index e0300e732..0742bde3d 100644 --- a/qt/tools/genhooks_gui.py +++ b/qt/tools/genhooks_gui.py @@ -531,18 +531,27 @@ hooks = [ # these refer to things like deckbrowser, overview and reviewer state, Hook( name="state_will_change", - args=["new_state: str", "old_state: str"], + args=[ + "new_state: aqt.main.MainWindowState", + "old_state: aqt.main.MainWindowState", + ], legacy_hook="beforeStateChange", ), Hook( name="state_did_change", - args=["new_state: str", "old_state: str"], + args=[ + "new_state: aqt.main.MainWindowState", + "old_state: aqt.main.MainWindowState", + ], legacy_hook="afterStateChange", ), # different sig to original Hook( name="state_shortcuts_will_change", - args=["state: str", "shortcuts: list[tuple[str, Callable]]"], + args=[ + "state: aqt.main.MainWindowState", + "shortcuts: list[tuple[str, Callable]]", + ], ), # UI state/refreshing ###################