def setupButtons(self) -> None: bb = self.form.buttonBox ar = QDialogButtonBox.ActionRole # add self.addButton = bb.addButton(tr.actions_add(), ar) qconnect(self.addButton.clicked, self.add_current_note) self.addButton.setShortcut(QKeySequence("Ctrl+Return")) self.addButton.setToolTip( shortcut(tr.adding_add_shortcut_ctrlandenter())) # close self.closeButton = QPushButton(tr.actions_close()) self.closeButton.setAutoDefault(False) bb.addButton(self.closeButton, QDialogButtonBox.RejectRole) # help self.helpButton = QPushButton( tr.actions_help(), clicked=self.helpRequested) # type: ignore self.helpButton.setAutoDefault(False) bb.addButton(self.helpButton, QDialogButtonBox.HelpRole) # history b = bb.addButton(f"{tr.adding_history()} {downArrow()}", ar) if isMac: sc = "Ctrl+Shift+H" else: sc = "Ctrl+H" b.setShortcut(QKeySequence(sc)) b.setToolTip(tr.adding_shortcut(val=shortcut(sc))) qconnect(b.clicked, self.onHistory) b.setEnabled(False) self.historyButton = b
def __init__( self, mw: aqt.AnkiQt, names: Callable = None, accept: str = None, title: str = None, help: HelpPageArgument = HelpPage.KEYBOARD_SHORTCUTS, current: Optional[str] = None, cancel: bool = True, parent: Optional[QWidget] = None, dyn: bool = False, buttons: Optional[List[Union[str, QPushButton]]] = None, geomKey: str = "default", ) -> None: QDialog.__init__(self, parent or mw) self.mw = mw self.form = aqt.forms.studydeck.Ui_Dialog() self.form.setupUi(self) self.form.filter.installEventFilter(self) self.cancel = cancel gui_hooks.state_did_reset.append(self.onReset) self.geomKey = f"studyDeck-{geomKey}" restoreGeom(self, self.geomKey) disable_help_button(self) if not cancel: self.form.buttonBox.removeButton( self.form.buttonBox.button(QDialogButtonBox.Cancel)) if buttons is not None: for button_or_label in buttons: self.form.buttonBox.addButton(button_or_label, QDialogButtonBox.ActionRole) else: b = QPushButton(tr.actions_add()) b.setShortcut(QKeySequence("Ctrl+N")) b.setToolTip(shortcut(tr.decks_add_new_deck_ctrlandn())) self.form.buttonBox.addButton(b, QDialogButtonBox.ActionRole) qconnect(b.clicked, self.onAddDeck) if title: self.setWindowTitle(title) if not names: names_ = [ d.name for d in self.mw.col.decks.all_names_and_ids( include_filtered=dyn, skip_empty_default=True) ] self.nameFunc = None self.origNames = names_ else: self.nameFunc = names self.origNames = names() self.name: Optional[str] = None self.ok = self.form.buttonBox.addButton(accept or tr.decks_study(), QDialogButtonBox.AcceptRole) self.setWindowModality(Qt.WindowModal) qconnect(self.form.buttonBox.helpRequested, lambda: openHelp(help)) qconnect(self.form.filter.textEdited, self.redraw) qconnect(self.form.list.itemDoubleClicked, self.accept) self.show() # redraw after show so position at center correct self.redraw("", current) self.exec_()
def setupModels(self) -> None: self.model = None f = self.form box = f.buttonBox default_buttons = [ (tr.actions_add(), self.onAdd), (tr.actions_rename(), self.onRename), (tr.actions_delete(), self.onDelete), ] if self.fromMain: default_buttons.extend([ (tr.notetypes_fields(), self.onFields), (tr.notetypes_cards(), self.onCards), ]) default_buttons.append((tr.notetypes_options(), self.onAdvanced)) for label, func in gui_hooks.models_did_init_buttons( default_buttons, self): button = box.addButton(label, QDialogButtonBox.ActionRole) qconnect(button.clicked, func) qconnect(f.modelsList.itemDoubleClicked, self.onRename) def on_done(fut: Future) -> None: self.updateModelsList(fut.result()) self.maybe_select_provided_notetype() self.mw.taskman.with_progress(self.col.models.all_use_counts, on_done, self) maybeHideClose(box)
def confOpts(self) -> None: m = QMenu(self.mw) a = m.addAction(tr.actions_add()) qconnect(a.triggered, self.addGroup) a = m.addAction(tr.actions_delete()) qconnect(a.triggered, self.remGroup) a = m.addAction(tr.actions_rename()) qconnect(a.triggered, self.renameGroup) a = m.addAction(tr.scheduling_set_for_all_subdecks()) qconnect(a.triggered, self.setChildren) if not self.childDids: a.setEnabled(False) m.exec_(QCursor.pos())
def __init__(self, mw: AnkiQt) -> None: QDialog.__init__(self, None, Qt.Window) mw.garbage_collect_on_dialog_finish(self) self.mw = mw self.col = mw.col self.form = aqt.forms.addcards.Ui_Dialog() self.form.setupUi(self) self.setWindowTitle(tr.actions_add()) disable_help_button(self) self.setMinimumHeight(300) self.setMinimumWidth(400) self.setup_choosers() self.setupEditor() self.setupButtons() self._load_new_note() self.history: List[NoteId] = [] self._last_added_note: Optional[Note] = None restoreGeom(self, "add") addCloseShortcut(self) gui_hooks.add_cards_did_init(self) self.show()
def _centerLinks(self) -> str: links = [ self.create_link( "decks", tr.actions_decks(), self._deckLinkHandler, tip=tr.actions_shortcut_key(val="D"), id="decks", ), self.create_link( "add", tr.actions_add(), self._addLinkHandler, tip=tr.actions_shortcut_key(val="A"), id="add", ), self.create_link( "browse", tr.qt_misc_browse(), self._browseLinkHandler, tip=tr.actions_shortcut_key(val="B"), id="browse", ), self.create_link( "stats", tr.qt_misc_stats(), self._statsLinkHandler, tip=tr.actions_shortcut_key(val="T"), id="stats", ), ] links.append(self._create_sync_link()) gui_hooks.top_toolbar_did_init_links(links, self) return "\n".join(links)