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()
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()
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))
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)
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)
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()
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)