コード例 #1
0
    def _setup_ui(self) -> None:
        self.setWindowTitle(tr.scheduling_description())
        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)

        box = QVBoxLayout()

        label = QLabel(tr.scheduling_description_to_show_on_overview_screen())
        box.addWidget(label)

        self.enable_markdown = QCheckBox(tr.deck_config_description_markdown())
        self.enable_markdown.setToolTip(tr.deck_config_description_markdown_hint())
        self.enable_markdown.setChecked(self.deck.normal.markdown_description)
        box.addWidget(self.enable_markdown)

        self.description = QPlainTextEdit()
        self.description.setPlainText(self.deck.normal.description)
        box.addWidget(self.description)

        button_box = QDialogButtonBox()
        ok = button_box.addButton(QDialogButtonBox.Ok)
        qconnect(ok.clicked, self.save_and_accept)
        box.addWidget(button_box)

        self.setLayout(box)
        self.show()
コード例 #2
0
ファイル: addcards.py プロジェクト: lovac42/CCBC
    def __init__(self, mw):
        QDialog.__init__(self, None, Qt.Window)
        mw.setupDialogGC(self)
        self.mw = mw
        self._UID = "AddCards_%d" % self.unique_id
        self.forceClose = False
        self.form = aqt.forms.addcards.Ui_Dialog()
        self.form.setupUi(self)

        self.setWindowTitle(_("Add"))
        self.setMinimumHeight(300)
        self.setMinimumWidth(400)
        self.setupChoosers()
        self.setupEditor()
        self.setupButtons()
        self.setupHistory()
        self.onReset()

        restoreGeom(self, "add")
        addHook('reset', self.onReset)
        addCloseShortcut(self)

        if self.mw.viewmanager.cbOnTop.isChecked():
            windowFlags = self.windowFlags() | Qt.WindowStaysOnTopHint
            self.setWindowFlags(windowFlags)
        self.show()
        self.setupNewNote()

        addHook("night_mode_state_changed", self.changeToNightMode)
コード例 #3
0
 def __init__(self, mw: aqt.main.AnkiQt):
     QDialog.__init__(self, mw, Qt.Window)
     mw.setupDialogGC(self)
     self.mw = mw
     self.name = "deckStats"
     self.period = 0
     self.form = aqt.forms.stats.Ui_Dialog()
     self.oldPos = None
     self.wholeCollection = False
     self.setMinimumWidth(700)
     f = self.form
     f.setupUi(self)
     f.groupBox.setVisible(False)
     f.groupBox_2.setVisible(False)
     restoreGeom(self, self.name)
     b = f.buttonBox.addButton(
         tr(TR.STATISTICS_SAVE_PDF), QDialogButtonBox.ActionRole
     )
     qconnect(b.clicked, self.saveImage)
     b.setAutoDefault(False)
     maybeHideClose(self.form.buttonBox)
     addCloseShortcut(self)
     gui_hooks.stats_dialog_will_show(self)
     self.show()
     self.refresh()
     self.activateWindow()
コード例 #4
0
    def __init__(self, mw):
        self.tally = 0
        QDialog.__init__(self, None, Qt.Window)
        self.Dialog = self
        mw.setupDialogGC(self)
        self.form = Ui_AnkidownImportDialog()
        self.form.setupUi(self)
        self.mw = mw

        self.history = []

        self.templateWidget = TemplaterWidget(self.mw, self.form.templateTab,
                                              self)
        self.setupChoosers()
        self.setupEditor()
        self.setupButtons()
        self.setupBuffer()

        addHook("currentModelChanged", self.onModelChange)
        addHook("reset", self.onReset)

        restoreGeom(self, "ankidown")
        addCloseShortcut(self)

        self.onReset()
        self.show()
        self.activateWindow()
コード例 #5
0
 def __init__(self, mw):
     QDialog.__init__(self, mw, Qt.Window)
     self.mw = mw
     self.name = "deckStats"
     self.period = 0
     self.form = aqt.forms.stats.Ui_Dialog()
     self.oldPos = None
     self.wholeCollection = False
     self.setMinimumWidth(700)
     f = self.form
     f.setupUi(self)
     restoreGeom(self, self.name)
     b = f.buttonBox.addButton(_("Save Image"), QDialogButtonBox.ActionRole)
     b.connect(b, SIGNAL("clicked()"), self.browser)
     b.setAutoDefault(False)
     c = self.connect
     s = SIGNAL("clicked()")
     c(f.groups, s, lambda: self.changeScope("deck"))
     f.groups.setShortcut("g")
     c(f.all, s, lambda: self.changeScope("collection"))
     c(f.month, s, lambda: self.changePeriod(0))
     c(f.year, s, lambda: self.changePeriod(1))
     c(f.life, s, lambda: self.changePeriod(2))
     c(f.web, SIGNAL("loadFinished(bool)"), self.loadFin)
     maybeHideClose(self.form.buttonBox)
     addCloseShortcut(self)
     self.refresh()
     self.exec_()
コード例 #6
0
ファイル: stats.py プロジェクト: zzp0/anki
 def __init__(self, mw):
     QDialog.__init__(self, mw, Qt.Window)
     mw.setupDialogGC(self)
     self.mw = mw
     self.name = "deckStats"
     self.period = 0
     self.form = aqt.forms.stats.Ui_Dialog()
     self.oldPos = None
     self.wholeCollection = False
     self.setMinimumWidth(700)
     f = self.form
     f.setupUi(self)
     restoreGeom(self, self.name)
     b = f.buttonBox.addButton(_("Save PDF"),
                                       QDialogButtonBox.ActionRole)
     b.clicked.connect(self.saveImage)
     b.setAutoDefault(False)
     f.groups.clicked.connect(lambda: self.changeScope("deck"))
     f.groups.setShortcut("g")
     f.all.clicked.connect(lambda: self.changeScope("collection"))
     f.month.clicked.connect(lambda: self.changePeriod(0))
     f.year.clicked.connect(lambda: self.changePeriod(1))
     f.life.clicked.connect(lambda: self.changePeriod(2))
     maybeHideClose(self.form.buttonBox)
     addCloseShortcut(self)
     self.refresh()
     self.show()
     self.activateWindow()
コード例 #7
0
ファイル: deckdescription.py プロジェクト: glutanimate/anki
    def _setup_ui(self) -> None:
        self.setWindowTitle(tr.scheduling_description())
        self.setWindowModality(Qt.WindowModality.ApplicationModal)
        self.mw.garbage_collect_on_dialog_finish(self)
        self.setMinimumWidth(400)
        disable_help_button(self)
        restoreGeom(self, self.TITLE)
        addCloseShortcut(self)

        box = QVBoxLayout()

        self.enable_markdown = QCheckBox(
            tr.deck_config_description_new_handling())
        self.enable_markdown.setToolTip(
            tr.deck_config_description_new_handling_hint())
        self.enable_markdown.setChecked(self.deck.get("md", False))
        box.addWidget(self.enable_markdown)

        self.description = QPlainTextEdit()
        self.description.setPlainText(self.deck.get("desc", ""))
        box.addWidget(self.description)

        button_box = QDialogButtonBox()
        ok = button_box.addButton(QDialogButtonBox.StandardButton.Ok)
        qconnect(ok.clicked, self.save_and_accept)
        box.addWidget(button_box)

        self.setLayout(box)
        self.show()
コード例 #8
0
ファイル: stats.py プロジェクト: Gerardo-/anki
 def __init__(self, mw):
     QDialog.__init__(self, mw, Qt.Window)
     self.mw = mw
     self.name = "deckStats"
     self.period = 0
     self.form = aqt.forms.stats.Ui_Dialog()
     self.oldPos = None
     self.wholeCollection = False
     self.setMinimumWidth(700)
     f = self.form
     f.setupUi(self)
     restoreGeom(self, self.name)
     b = f.buttonBox.addButton(_("Save Image"),
                                       QDialogButtonBox.ActionRole)
     b.connect(b, SIGNAL("clicked()"), self.browser)
     b.setAutoDefault(False)
     c = self.connect
     s = SIGNAL("clicked()")
     c(f.groups, s, lambda: self.changeScope("deck"))
     f.groups.setShortcut("g")
     c(f.all, s, lambda: self.changeScope("collection"))
     c(f.month, s, lambda: self.changePeriod(0))
     c(f.year, s, lambda: self.changePeriod(1))
     c(f.life, s, lambda: self.changePeriod(2))
     c(f.web, SIGNAL("loadFinished(bool)"), self.loadFin)
     maybeHideClose(self.form.buttonBox)
     addCloseShortcut(self)
     self.refresh()
     self.exec_()
コード例 #9
0
ファイル: stats.py プロジェクト: RumovZ/anki
 def __init__(self, mw: aqt.main.AnkiQt) -> None:
     QDialog.__init__(self, mw, Qt.WindowType.Window)
     mw.garbage_collect_on_dialog_finish(self)
     self.mw = mw
     self.name = "deckStats"
     self.period = 0
     self.form = aqt.forms.stats.Ui_Dialog()
     self.oldPos = None
     self.wholeCollection = False
     self.setMinimumWidth(700)
     disable_help_button(self)
     f = self.form
     f.setupUi(self)
     f.groupBox.setVisible(False)
     f.groupBox_2.setVisible(False)
     restoreGeom(self, self.name)
     b = f.buttonBox.addButton(
         tr.statistics_save_pdf(), QDialogButtonBox.ButtonRole.ActionRole
     )
     qconnect(b.clicked, self.saveImage)
     b.setAutoDefault(False)
     maybeHideClose(self.form.buttonBox)
     addCloseShortcut(self)
     gui_hooks.stats_dialog_will_show(self)
     self.show()
     self.refresh()
     self.form.web.set_bridge_command(self._on_bridge_cmd, self)
     self.activateWindow()
コード例 #10
0
ファイル: stats.py プロジェクト: zhumaohong/anki
 def __init__(self, mw):
     QDialog.__init__(self, mw, Qt.Window)
     mw.setupDialogGC(self)
     self.mw = mw
     self.name = "deckStats"
     self.period = 0
     self.form = aqt.forms.stats.Ui_Dialog()
     self.oldPos = None
     self.wholeCollection = False
     self.setMinimumWidth(700)
     f = self.form
     if theme_manager.night_mode and not theme_manager.macos_dark_mode():
         # the grouping box renders incorrectly in the fusion theme. 5.9+
         # 5.13 behave differently to 5.14, but it looks bad in either case,
         # and adjusting the top margin makes the 'save PDF' button show in
         # the wrong place, so for now we just disable the border instead
         self.setStyleSheet("QGroupBox { border: 0; }")
     f.setupUi(self)
     restoreGeom(self, self.name)
     b = f.buttonBox.addButton(_("Save PDF"), QDialogButtonBox.ActionRole)
     qconnect(b.clicked, self.saveImage)
     b.setAutoDefault(False)
     qconnect(f.groups.clicked, lambda: self.changeScope("deck"))
     f.groups.setShortcut("g")
     qconnect(f.all.clicked, lambda: self.changeScope("collection"))
     qconnect(f.month.clicked, lambda: self.changePeriod(0))
     qconnect(f.year.clicked, lambda: self.changePeriod(1))
     qconnect(f.life.clicked, lambda: self.changePeriod(2))
     maybeHideClose(self.form.buttonBox)
     addCloseShortcut(self)
     self.show()
     self.refresh()
     self.activateWindow()
コード例 #11
0
ファイル: views.py プロジェクト: kb1900/Anki-Addons
def deckStatsInit20(self, mw):
    """Custom stats window that uses AnkiWebView instead of QWebView"""
    # self is aqt.stats.DeckWindow
    import aqt
    from aqt.webview import AnkiWebView
    from aqt.utils import restoreGeom, maybeHideClose, addCloseShortcut
    #########################################################
    QDialog.__init__(self, mw, Qt.Window)
    self.mw = mw
    self.name = "deckStats"
    self.period = 0
    self.form = aqt.forms.stats.Ui_Dialog()
    self.oldPos = None
    self.wholeCollection = False
    self.setMinimumWidth(700)
    f = self.form
    f.setupUi(self)
    #########################################################
    # remove old webview created in form:
    # (TODO: find a less hacky solution)
    f.verticalLayout.removeWidget(f.web)
    f.web.deleteLater()
    f.web = AnkiWebView()  # need to use AnkiWebView for linkhandler to work
    f.web.setLinkHandler(self._linkHandler)
    self.form.verticalLayout.insertWidget(0, f.web)
    addHook('reset', self.refresh)
    #########################################################
    restoreGeom(self, self.name)
    b = f.buttonBox.addButton(_("Save Image"), QDialogButtonBox.ActionRole)
    b.clicked.connect(self.browser)
    b.setAutoDefault(False)
    c = self.connect
    s = SIGNAL("clicked()")
    c(f.groups, s, lambda: self.changeScope("deck"))
    f.groups.setShortcut("g")
    c(f.all, s, lambda: self.changeScope("collection"))
    c(f.month, s, lambda: self.changePeriod(0))
    c(f.year, s, lambda: self.changePeriod(1))
    c(f.life, s, lambda: self.changePeriod(2))
    c(f.web, SIGNAL("loadFinished(bool)"), self.loadFin)
    maybeHideClose(self.form.buttonBox)
    addCloseShortcut(self)
    self.refresh()
    self.show()  # show instead of exec in order for browser to open properly
コード例 #12
0
    def _setup_ui(self, card_id: CardId | None) -> None:
        self.mw.garbage_collect_on_dialog_finish(self)
        disable_help_button(self)
        restoreGeom(self, self.GEOMETRY_KEY)
        addCloseShortcut(self)
        setWindowIcon(self)

        self.web = AnkiWebView(title=self.TITLE)
        self.web.setVisible(False)
        self.web.load_ts_page("card-info")
        layout = QVBoxLayout()
        layout.setContentsMargins(0, 0, 0, 0)
        layout.addWidget(self.web)
        buttons = QDialogButtonBox(QDialogButtonBox.StandardButton.Close)
        buttons.setContentsMargins(10, 0, 10, 10)
        layout.addWidget(buttons)
        qconnect(buttons.rejected, self.reject)
        self.setLayout(layout)
        self.update_card(card_id)
コード例 #13
0
ファイル: addcards.py プロジェクト: bbugyi200/anki
 def __init__(self, mw):
     QDialog.__init__(self, None, Qt.Window)
     mw.setupDialogGC(self)
     self.mw = mw
     self.form = aqt.forms.addcards.Ui_Dialog()
     self.form.setupUi(self)
     self.setWindowTitle(_("Add"))
     self.setMinimumHeight(300)
     self.setMinimumWidth(400)
     self.setupChoosers()
     self.setupEditor()
     self.setupButtons()
     self.onReset()
     self.history = []
     restoreGeom(self, "add")
     addHook('reset', self.onReset)
     addHook('currentModelChanged', self.onModelChange)
     addCloseShortcut(self)
     self.show()
コード例 #14
0
 def __init__(self, mw):
     QDialog.__init__(self, None, Qt.Window)
     mw.setupDialogGC(self)
     self.mw = mw
     self.form = aqt.forms.addcards.Ui_Dialog()
     self.form.setupUi(self)
     self.setWindowTitle(_("Add"))
     self.setMinimumHeight(300)
     self.setMinimumWidth(400)
     self.setupChoosers()
     self.setupEditor()
     self.setupButtons()
     self.onReset()
     self.history = []
     restoreGeom(self, "add")
     addHook('reset', self.onReset)
     addHook('currentModelChanged', self.onModelChange)
     addCloseShortcut(self)
     self.show()
コード例 #15
0
ファイル: changenotetype.py プロジェクト: rye761/anki
    def _setup_ui(self, notetype_id: NotetypeId) -> None:
        self.setWindowModality(Qt.WindowModality.ApplicationModal)
        self.mw.garbage_collect_on_dialog_finish(self)
        self.setMinimumSize(400, 300)
        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("change-notetype")
        layout = QVBoxLayout()
        layout.setContentsMargins(0, 0, 0, 0)
        layout.addWidget(self.web)
        self.setLayout(layout)

        self.web.eval(f"""anki.changeNotetypePage(
            document.getElementById('main'), {notetype_id}, {notetype_id});""")
        self.setWindowTitle(tr.browsing_change_notetype())
コード例 #16
0
ファイル: deckoptions.py プロジェクト: v-limc/anki
    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)

        deck_id = self.mw.col.decks.get_current_id()
        self.web.eval(f"""const $deckOptions = anki.deckOptions(
            document.getElementById('main'), {deck_id});""")
        gui_hooks.deck_options_did_load(self)
コード例 #17
0
ファイル: addcards.py プロジェクト: njhsi/anki
 def __init__(self, mw: AnkiQt) -> None:
     QDialog.__init__(self, None, Qt.Window)
     mw.garbage_collect_on_dialog_finish(self)
     self.mw = mw
     self.form = aqt.forms.addcards.Ui_Dialog()
     self.form.setupUi(self)
     self.setWindowTitle(tr(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()
コード例 #18
0
 def __init__(self, mw: AnkiQt) -> None:
     QDialog.__init__(self, None, Qt.Window)
     mw.setupDialogGC(self)
     self.mw = mw
     self.form = aqt.forms.addcards.Ui_Dialog()
     self.form.setupUi(self)
     self.setWindowTitle(_("Add"))
     self.setMinimumHeight(300)
     self.setMinimumWidth(400)
     self.setupChoosers()
     self.setupEditor()
     self.setupButtons()
     self.onReset()
     self.history: List[int] = []
     self.previousNote = None
     restoreGeom(self, "add")
     addHook("reset", self.onReset)
     addHook("currentModelChanged", self.onModelChange)
     addCloseShortcut(self)
     self.show()
コード例 #19
0
ファイル: addcards.py プロジェクト: yinminshcn/anki
 def __init__(self, mw: AnkiQt) -> None:
     QDialog.__init__(self, None, Qt.Window)
     mw.setupDialogGC(self)
     self.mw = mw
     self.form = aqt.forms.addcards.Ui_Dialog()
     self.form.setupUi(self)
     self.setWindowTitle(tr(TR.ACTIONS_ADD))
     self.setMinimumHeight(300)
     self.setMinimumWidth(400)
     self.setupChoosers()
     self.setupEditor()
     self.setupButtons()
     self.onReset()
     self.history: List[int] = []
     self.previousNote = None
     restoreGeom(self, "add")
     gui_hooks.state_did_reset.append(self.onReset)
     gui_hooks.current_note_type_did_change.append(self.onModelChange)
     addCloseShortcut(self)
     gui_hooks.add_cards_did_init(self)
     self.show()
コード例 #20
0
ファイル: deckoptions.py プロジェクト: kaczmarj/anki
    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("deck-options")
        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)
コード例 #21
0
ファイル: addcards.py プロジェクト: kaczmarj/anki
 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
     form = aqt.forms.addcards.Ui_Dialog()
     form.setupUi(self)
     self.form = form
     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
     gui_hooks.operation_did_execute.append(self.on_operation_did_execute)
     restoreGeom(self, "add")
     addCloseShortcut(self)
     gui_hooks.add_cards_did_init(self)
     self.show()