コード例 #1
0
ファイル: deckconf.py プロジェクト: kaczmarj/anki
 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")
コード例 #2
0
    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)
コード例 #3
0
ファイル: models.py プロジェクト: tiramisuCzk/anki
 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)
コード例 #4
0
    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)