def __init__(self, mw: aqt.AnkiQt, deck: dict) -> None: QDialog.__init__(self, mw) self.mw = mw self.deck = deck self.childDids = [ d[1] for d in self.mw.col.decks.children(self.deck["id"]) ] self._origNewOrder = None self.form = aqt.forms.dconf.Ui_Dialog() self.form.setupUi(self) gui_hooks.deck_conf_did_setup_ui_form(self) self.mw.checkpoint(tr.actions_options()) self.setupCombos() self.setupConfs() self.setWindowModality(Qt.WindowModal) qconnect(self.form.buttonBox.helpRequested, lambda: openHelp(HelpPage.DECK_OPTIONS)) qconnect(self.form.confOpts.clicked, self.confOpts) qconnect( self.form.buttonBox.button( QDialogButtonBox.RestoreDefaults).clicked, self.onRestore, ) self.setWindowTitle( without_unicode_isolation( tr.actions_options_for(val=self.deck["name"]))) disable_help_button(self) # qt doesn't size properly with altered fonts otherwise restoreGeom(self, "deckconf", adjustSize=True) gui_hooks.deck_conf_will_show(self) self.show() self.exec_() saveGeom(self, "deckconf")
def _load_deck(self) -> None: form = self.form deck = self.deck config = deck.config self.form.name.setText(deck.name) self.form.name.setPlaceholderText(deck.name) existing = deck.id != 0 if existing: build_label = tr.actions_rebuild() else: build_label = tr.decks_build() self.form.buttonBox.button( QDialogButtonBox.StandardButton.Ok).setText(build_label) form.resched.setChecked(config.reschedule) self._onReschedToggled(0) term1: FilteredDeckConfig.SearchTerm = config.search_terms[0] form.search.setText(term1.search) form.order.setCurrentIndex(term1.order) form.limit.setValue(term1.limit) if self.col.sched_ver() == 1: if config.delays: form.steps.setText(self.listToUser(list(config.delays))) form.stepsOn.setChecked(True) else: form.steps.setVisible(False) form.stepsOn.setVisible(False) form.previewDelay.setValue(config.preview_delay) if len(config.search_terms) > 1: term2: FilteredDeckConfig.SearchTerm = config.search_terms[1] form.search_2.setText(term2.search) form.order_2.setCurrentIndex(term2.order) form.limit_2.setValue(term2.limit) show_second = existing else: show_second = False form.order_2.setCurrentIndex(5) form.limit_2.setValue(20) form.secondFilter.setChecked(show_second) form.filter2group.setVisible(show_second) self.set_custom_searches(self._desired_search_1, self._desired_search_2) self.setWindowTitle( without_unicode_isolation( tr.actions_options_for(val=self.deck.name))) gui_hooks.filtered_deck_dialog_did_load_deck(self, deck)
def onAdvanced(self) -> None: nt = self.current_notetype() d = QDialog(self) disable_help_button(d) frm = aqt.forms.modelopts.Ui_Dialog() frm.setupUi(d) frm.latexsvg.setChecked(nt.get("latexsvg", False)) frm.latexHeader.setText(nt["latexPre"]) frm.latexFooter.setText(nt["latexPost"]) d.setWindowTitle( without_unicode_isolation(tr.actions_options_for(val=nt["name"]))) qconnect(frm.buttonBox.helpRequested, lambda: openHelp(HelpPage.LATEX)) restoreGeom(d, "modelopts") gui_hooks.models_advanced_will_show(d) d.exec_() saveGeom(d, "modelopts") nt["latexsvg"] = frm.latexsvg.isChecked() nt["latexPre"] = str(frm.latexHeader.toPlainText()) nt["latexPost"] = str(frm.latexFooter.toPlainText()) self.saveAndRefresh(nt)
def _setup_ui(self) -> None: self.setWindowModality(Qt.ApplicationModal) self.mw.garbage_collect_on_dialog_finish(self) self.setMinimumWidth(400) disable_help_button(self) restoreGeom(self, self.TITLE) addCloseShortcut(self) self.web = AnkiWebView(title=self.TITLE) self.web.setVisible(False) self.web.load_ts_page("deckoptions") layout = QVBoxLayout() layout.setContentsMargins(0, 0, 0, 0) layout.addWidget(self.web) self.setLayout(layout) self.web.eval(f"""const $deckOptions = anki.deckOptions( document.getElementById('main'), {self._deck["id"]});""") self.setWindowTitle( without_unicode_isolation( tr.actions_options_for(val=self._deck["name"]))) gui_hooks.deck_options_did_load(self)