Allow opening legacy screens from browser/reviewer

This commit is contained in:
Abdo 2025-10-19 05:21:49 +03:00
parent 3c8f35efd3
commit 9dd4ad5226
3 changed files with 6 additions and 6 deletions

View file

@ -262,10 +262,10 @@ class Browser(QMainWindow):
return None return None
def add_card(self, deck_id: DeckId): 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(): if note_type_id := self.get_active_note_type_id():
args.append(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, # 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. # 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 assert current_card is not None
deck_id = current_card.current_deck_id() 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 @no_arg_trigger
@skip_if_selection_is_empty @skip_if_selection_is_empty

View file

@ -1280,11 +1280,11 @@ title="{}" {}>{}</button>""".format(
# Other menu operations # 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 want_old = KeyboardModifiersPressed().shift
if not want_old: if not want_old:
name = f"New{name}" name = f"New{name}"
aqt.dialogs.open(name, self, *args, **kwargs) return aqt.dialogs.open(name, self, *args, **kwargs)
def onAddCard(self) -> None: def onAddCard(self) -> None:
self._open_new_or_legacy_dialog("AddCards") self._open_new_or_legacy_dialog("AddCards")

View file

@ -1172,7 +1172,7 @@ timerStopped = false;
def on_create_copy(self) -> None: def on_create_copy(self) -> None:
if self.card: 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() self.card.note(), self.card.current_deck_id()
) )