def __init__(self, mw, note): QDialog.__init__(self, None, Qt.Window) mw.setupDialogGC(self) self.mw = mw self.form = aqt.forms.editcurrent.Ui_Dialog() self.form.setupUi(self) self.setWindowTitle(_("Anki: Edit underlying note (add-on window)")) self.setMinimumHeight(400) self.setMinimumWidth(250) self.form.buttonBox.button(QDialogButtonBox.Close).setShortcut( QKeySequence("Ctrl+Return")) if False: # gc("when editing note externally - no reset"): self.editor = MyEditor(self.mw, self.form.fieldsArea, self) else: self.editor = aqt.editor.Editor(self.mw, self.form.fieldsArea, self) self.editor.setNote(note, focusTo=0) restoreGeom(self, "note_edit") # addHook("reset", self.onReset) # self.mw.requireReset() self.show() self.activateWindow() # reset focus after open, taking care not to retain webview # pylint: disable=unnecessary-lambda self.mw.progress.timer(100, lambda: self.editor.web.setFocus(), False)
def __init__(self): # Here, you should call the inherited class' init, which is QDialog QDialog.__init__(self, mw, Qt.Window) mw.setupDialogGC(self) self.mw = mw self.parent = mw self.col = self.mw.col self.hanzi = None self.queries = None self.action_field = None v1 = QVBoxLayout() v1.addWidget(SourceBox(self.col, self.source_field_selected)) v1.addWidget(DestinationBox(self.col, self.destination_field_selected)) self.actiongrid = ActionGrid(self.col) v1.addWidget(self.actiongrid) v1.setContentsMargins(12, 12, 12, 12) self.setLayout(v1) self.setGeometry(300, 300, 290, 150) self.setWindowTitle('Hanzi Filter') self.show() # take the focus away from the first input area when starting up, # as users tend to accidentally type into the template self.setFocus()
def __init__(self, conf, callback): QDialog.__init__(self, mw, Qt.Window) mw.setupDialogGC(self) self.conf = conf self.cleanup = callback self.setupDialog() self.loadConfigData() self.setupConnections()
def __init__(self, parent): QDialog.__init__(self, mw, Qt.WindowType.Window) mw.setupDialogGC(self) self.mw = mw self.parent = parent self.setupDialog() self.loadConfigData() self.setupConnections() self.exec()
def __init__(self, imgoccadd, parent): QDialog.__init__(self) mw.setupDialogGC(self) self.setWindowFlags(Qt.Window) self.visible = False self.imgoccadd = imgoccadd self.parent = parent self.mode = "add" loadConfig(self) self.setupUi() restoreGeom(self, "imgoccedit") addHook("unloadProfile", self.onProfileUnload)
def __init__(self, parent): QDialog.__init__(self, parent, Qt.Window) self.parent = parent mw.setupDialogGC(self) self.form = config_widgets_editors.Ui_Dialog() self.form.setupUi(self) self.setWindowTitle("Anki Add-on: Html Cleaner clean settings") self.resize(800, 1300) restoreGeom(self, "html_cleaner_conf_window") self.mw = mw self.editor_old = ShortcutLessNonEditableEditor( self.mw, self.form.widget_original, self, True) self.clean_ed = DupeIgnoringEditor(self.mw, self.form.widget_cleaned, self, True) # bottom for f in getUserOption("config_window_loadable_nids"): self.form.bot_cb_recent_notes.addItem(str(f)) self.other_note_into_editor(firstrun=True) # initial run must before the next line or the editor_did_load_note hooks are run once more # so that I get another entry of Arthurs "clean" next a field name self.form.bot_cb_recent_notes.currentIndexChanged.connect( self.other_note_into_editor) self.form.bot_pb_add_note.clicked.connect(self.add_note) self.form.bot_pb_remove.clicked.connect(self.remove_note) self.form.bot_pb_ok.clicked.connect(self.accept) self.form.bot_pb_cancel.clicked.connect(self.reject) # sidebar self.clean_settings = getUserOption("clean_settings") self.active_settings_group = getUserOption( "clean_active_settings_group") self.current_config = self.clean_settings[self.active_settings_group] if self.active_settings_group not in self.clean_settings: showInfo(( "Invalid config detected: the group set in 'clean_active_settings_group' " 'must be in "clean_settings". Update/Repair your config. Aborting' )) self.reject() self.form.conf_pb_group.setText(self.active_settings_group) self.form.conf_pb_group.clicked.connect(self.on_config_group_change) self.populate_versions() self.form.conf_pb_backup.setVisible(False) self.form.conf_pb_backup.clicked.connect(self.backup_current_vals) self.form.conf_pb_save.clicked.connect(self.save_current_vals) self.set_conf_text( ) # initial run must before the next line or the editor_did_load_note hooks are run once more # so that I get another entry of Arthurs "clean" next a field name self.form.conf_pte_conf.textChanged.connect(self.update_clean_ed) self.show()
def __init__(self, editor, name, path="", src="", create_new=False): QDialog.__init__(self, editor.widget, Qt.Window) # Compatibility: 2.1.0+ mw.setupDialogGC(self) self.editor_wv = editor.web self.editor = editor self.image_name = name self.image_path = path self.image_src = src self.create_new = create_new self.close_queued = False if not create_new: self.check_editor_image_selected() self.setupUI()
def __init__(self, clayout): QDialog.__init__(self, clayout, Qt.WindowType.Window) mw.setupDialogGC(self) self.mw = mw self.clayout = clayout self.profile = CssProfile() self.memoryBackedUpCssProfileText = '' self.form = AdvancedStylerUI.Ui_Form() self.form.setupUi(self) self.loadUI() self.show()
def __init__(self, imgoccadd, parent): QDialog.__init__(self) mw.setupDialogGC(self) self.setWindowFlags(Qt.Window) self.visible = False self.imgoccadd = imgoccadd self.parent = parent self.mode = "add" loadConfig(self) self.setupUi() restoreGeom(self, "imgoccedit") try: from aqt.gui_hooks import profile_will_close profile_will_close.append(self.onProfileUnload) except (ImportError, ModuleNotFoundError): addHook("unloadProfile", self.onProfileUnload)
def __init__(self, parent, rootHtmlPath, size=None): super().__init__(parent) mw.setupDialogGC(self) self.setWindowFlags(Qt.Window) self.setWindowModality(Qt.WindowModal) # Populate content self.web = AnkiWebView() self.web._page._isMiniBrowser = True # Support window.close self.web._page.windowCloseRequested.connect(self.close) l = QVBoxLayout() l.setContentsMargins(0, 0, 0, 0) l.addWidget(self.web) self.setLayout(l) if type(size) == tuple: w, h = size self.resize(w, h) self.show() elif size is None: self.resize(800, 600) self.show() elif size == "maximized" or size == "maximize": self.resize(800, 600) self.showMaximized() elif size == "minimized" or size == "minimize": self.resize(800, 600) self.showMinimized() else: print("MiniBrowser - bad size (%s)" % size) self.resize(800, 600) self.show() # OK self.gotoLocalFile(rootHtmlPath)
def __init__(self, parent, url, win_title): super(PdfJsViewer, self).__init__(parent) if pointVersion() < 45: mw.setupDialogGC(self) else: mw.garbage_collect_on_dialog_finish(self) self.url = url self.setWindowTitle(win_title) restoreGeom(self, "319501851") mainLayout = QVBoxLayout() mainLayout.setContentsMargins(0, 0, 0, 0) mainLayout.setSpacing(0) self.setLayout(mainLayout) self.web = QWebEngineView() self.web.title = "pdfjs" mainLayout.addWidget(self.web) QMetaObject.connectSlotsByName(self) self.web.load(QUrl(self.url)) self.web.show() self.web.loadFinished.connect(self.load_finished) # self.web.setFocus() self.exit_shortcut = QShortcut(QKeySequence(Qt.Key_Escape), self) self.exit_shortcut.activated.connect(self.reject)
def create_link(editor): dialog = QDialog(editor.parentWindow, Qt.Dialog) form = link.Ui_Dialog() form.setupUi(dialog) # Default values # Line of text form.line_display.setText(editor.web.selectedText()) # open form.combo_open_in.setCurrentIndex({ "Browser": 0, "Previewer": 1 }.get(getUserOption("Last open in", "Browser"), 0)) # search form.combo_search_type.setCurrentIndex({ "Note": 0, "Card": 1, "Query": 2 }.get(getUserOption("Last search type", "Note"), 0)) # query def default() -> str: search_type = ["Note", "Card", "Query"][form.combo_search_type.currentIndex()] if search_type == "Note": if editor.note: return str(editor.note.id) elif search_type == "Card": if editor.card: return str(editor.card.id) elif editor.note: cards = editor.note.cards() if cards: return str(cards[0].id) else: return getUserOption("Last query", "") return "" def set_default() -> None: form.line_search.setText(default()) set_default() form.button_current.clicked.connect(set_default) ## dialog.exec() mw.setupDialogGC(dialog) # Get values # Line of text text = form.line_display.text() setUserOption("Last open in", text) # open open_in = ["Browser search", "Previewer"][form.combo_open_in.currentIndex()] setUserOption("Last open in", open_in) # search search_type = ["Note", "Card", "Query"][form.combo_search_type.currentIndex()] setUserOption("Last search type", search_type) # query query = form.line_search.text() setUserOption("Last query", query) # Replace text if search_type == "Note": query = f"nid:{query}" elif search_type == "Card": query = f"cid:{query}" text = f"""<a onclick="pycmd('{open_in}:{query}')">{text}</a>""" editor.web.eval( f"document.execCommand('insertHTML', false, {json.dumps(text)});")
def __init__(self): QDialog.__init__(self, mw, Qt.Window) mw.setupDialogGC(self)
def __init__(self, cm): QDialog.__init__(self, mw, Qt.Window) mw.setupDialogGC(self) self.form = ruby.Ui_Dialog() self.form.setupUi(self) # Environment variables # TODO: Clean this up self.mw = mw self.parent = mw self.col = self.mw.col self.chinese_master = cm # Initialize objects decks = self.col.decks.all() deck_pairs = [(deck['id'], deck['name']) for deck in decks] self.deck_ids, self.deck_names = zip( *sorted(deck_pairs, key=lambda a: a[1])) self.pinyin_option = None self.cedict_enabled = False self.primed = False self.notes = [[], []] self.rubies = [[], []] self.tables = [[], []] # Set the event listeners self.form.deck_combobox.currentIndexChanged.connect(self.deck_selected) self.form.note_combobox.currentIndexChanged.connect(self.note_selected) self.form.field_combobox.currentIndexChanged.connect( self.field_selected) self.form.pinyin_match_combobox.currentIndexChanged.connect( self.pinyin_match_selected) self.form.pinyin_generate_combobox.currentIndexChanged.connect( self.pinyin_generate_selected) self.form.ruby_combobox.currentIndexChanged.connect(self.ruby_selected) self.form.cedict_checkbox.stateChanged.connect(self.cedict_check) self.form.list_match.currentRowChanged.connect( self.list_match_selected) self.form.list_generate.currentRowChanged.connect( self.list_generate_selected) self.form.button_match.clicked.connect(self.execute_match) self.form.button_generate.clicked.connect(self.execute_generate) # Pinyin selection self.form.pinyin_option.buttonClicked.connect( self.pinyin_option_selected) self.form.pinyin_match_combobox.hide() self.form.pinyin_match_label.hide() self.form.widget_match.hide() self.form.pinyin_generate_combobox.hide() self.form.pinyin_generate_label.hide() self.form.widget_generate.hide() # CEDICT selection self.form.cedict_combobox.hide() self.form.cedict_label.hide() # Output preview self.form.preview_match = RubyPreview() self.form.preview_generate = RubyPreview() self.form.preview_match_layout.addWidget(self.form.preview_match, 5) self.form.preview_generate_layout.addWidget(self.form.preview_generate, 5) # Show main menu self.show() self.setFocus() self.adjustSize() self.form.deck_combobox.addItems(self.deck_names)