Exemplo n.º 1
0
Arquivo: stats.py Projeto: 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()
Exemplo n.º 2
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()
Exemplo n.º 3
0
def confirm_full_download(mw: aqt.main.AnkiQt, on_done: Callable[[], None]) -> None:
    # confirmation step required, as some users customize their notetypes
    # in an empty collection, then want to upload them
    if not askUser(tr.sync_confirm_empty_download()):
        return on_done()
    else:
        mw.closeAllWindows(lambda: full_download(mw, on_done))
Exemplo n.º 4
0
    def __init__(self, mw: aqt.main.AnkiQt) -> None:
        QDialog.__init__(self, mw, Qt.Window)
        self.mw = mw

        # set on success
        self.deck: Deck

        mw.query_op(mw.col.decks.get_current, success=self._setup_and_show)
Exemplo n.º 5
0
    def __init__(self, mw: aqt.main.AnkiQt, report: EmptyCardsReport) -> None:
        super().__init__(mw)
        self.mw = mw.weakref()
        self.report = report
        self.form = aqt.forms.emptycards.Ui_Dialog()
        self.form.setupUi(self)
        restoreGeom(self, "emptycards")
        self.setWindowTitle(tr(TR.EMPTY_CARDS_WINDOW_TITLE))
        disable_help_button(self)
        self.form.keep_notes.setText(tr(
            TR.EMPTY_CARDS_PRESERVE_NOTES_CHECKBOX))
        self.form.webview.title = "empty cards"
        self.form.webview.set_bridge_command(self._on_note_link_clicked, self)

        gui_hooks.empty_cards_will_show(self)

        # make the note ids clickable
        html = re.sub(
            r"\[anki:nid:(\d+)\]",
            "<a href=# onclick=\"pycmd('nid:\\1'); return false\">\\1</a>: ",
            report.report,
        )
        style = "<style>.allempty { color: red; }</style>"
        self.form.webview.stdHtml(style + html, context=self)

        def on_finished(code: Any) -> None:
            saveGeom(self, "emptycards")

        qconnect(self.finished, on_finished)

        self._delete_button = self.form.buttonBox.addButton(
            tr(TR.EMPTY_CARDS_DELETE_BUTTON), QDialogButtonBox.ActionRole)
        self._delete_button.setAutoDefault(False)
        self._delete_button.clicked.connect(self._on_delete)
Exemplo n.º 6
0
Arquivo: stats.py Projeto: 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
     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(
         tr.statistics_save_pdf(), QDialogButtonBox.ButtonRole.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)
     gui_hooks.stats_dialog_old_will_show(self)
     self.show()
     self.refresh()
     self.activateWindow()
Exemplo n.º 7
0
    def __init__(self, mw: aqt.main.AnkiQt, report: EmptyCardsReport) -> None:
        super().__init__(mw)
        self.mw = mw.weakref()
        self.mw.garbage_collect_on_dialog_finish(self)
        self.report = report
        self.form = aqt.forms.emptycards.Ui_Dialog()
        self.form.setupUi(self)
        restoreGeom(self, "emptycards")
        self.setWindowTitle(tr.empty_cards_window_title())
        disable_help_button(self)
        self.form.keep_notes.setText(tr.empty_cards_preserve_notes_checkbox())
        self.form.webview.set_title("empty cards")
        self.form.webview.set_bridge_command(self._on_note_link_clicked, self)

        gui_hooks.empty_cards_will_show(self)

        # make the note ids clickable
        html = re.sub(
            r"\[anki:nid:(\d+)\]",
            "<a href=# onclick=\"pycmd('nid:\\1'); return false\">\\1</a>: ",
            report.report,
        )
        style = "<style>.allempty { color: red; }</style>"
        self.form.webview.stdHtml(style + html, context=self)

        def on_finished(code: Any) -> None:
            self.form.webview.cleanup()
            self.form.webview = None
            saveGeom(self, "emptycards")

        qconnect(self.finished, on_finished)

        self._delete_button = self.form.buttonBox.addButton(
            tr.empty_cards_delete_button(), QDialogButtonBox.ButtonRole.ActionRole
        )
        self._delete_button.setAutoDefault(False)
        qconnect(self._delete_button.clicked, self._on_delete)