From 9dd4ad5226d5f011754f66b425da9b257e44624b Mon Sep 17 00:00:00 2001 From: Abdo Date: Sun, 19 Oct 2025 05:21:49 +0300 Subject: [PATCH] Allow opening legacy screens from browser/reviewer --- qt/aqt/browser/browser.py | 6 +++--- qt/aqt/main.py | 4 ++-- qt/aqt/reviewer.py | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/qt/aqt/browser/browser.py b/qt/aqt/browser/browser.py index af899d626..f0e5be37d 100644 --- a/qt/aqt/browser/browser.py +++ b/qt/aqt/browser/browser.py @@ -262,10 +262,10 @@ class Browser(QMainWindow): return None def add_card(self, deck_id: DeckId): - args = [self.mw, deck_id] + args: list[Any] = [deck_id] if note_type_id := self.get_active_note_type_id(): args.append(note_type_id) - aqt.dialogs.open("NewAddCards", *args) + self.mw._open_new_or_legacy_dialog("AddCards", *args) # If in the Browser we open Preview and press Ctrl+W there, # both Preview and Browser windows get closed by Qt out of the box. @@ -804,7 +804,7 @@ class Browser(QMainWindow): assert current_card is not None deck_id = current_card.current_deck_id() - aqt.dialogs.open("NewAddCards", self.mw).set_note(note, deck_id) + self.mw._open_new_or_legacy_dialog("AddCards").set_note(note, deck_id) @no_arg_trigger @skip_if_selection_is_empty diff --git a/qt/aqt/main.py b/qt/aqt/main.py index 0ec2aa75c..ffb2c696d 100644 --- a/qt/aqt/main.py +++ b/qt/aqt/main.py @@ -1280,11 +1280,11 @@ title="{}" {}>{}""".format( # Other menu operations ########################################################################## - def _open_new_or_legacy_dialog(self, name: str, *args: Any, **kwargs: Any) -> None: + def _open_new_or_legacy_dialog(self, name: str, *args: Any, **kwargs: Any) -> Any: want_old = KeyboardModifiersPressed().shift if not want_old: name = f"New{name}" - aqt.dialogs.open(name, self, *args, **kwargs) + return aqt.dialogs.open(name, self, *args, **kwargs) def onAddCard(self) -> None: self._open_new_or_legacy_dialog("AddCards") diff --git a/qt/aqt/reviewer.py b/qt/aqt/reviewer.py index 6bab52545..490f5985e 100644 --- a/qt/aqt/reviewer.py +++ b/qt/aqt/reviewer.py @@ -1172,7 +1172,7 @@ timerStopped = false; def on_create_copy(self) -> None: if self.card: - aqt.dialogs.open("NewAddCards", self.mw).set_note( + self.mw._open_new_or_legacy_dialog("AddCards").set_note( self.card.note(), self.card.current_deck_id() )