Example #1
0
    def __init__(
        self,
        mw: AnkiQt,
        card: Optional[Card] = None,
        search: Optional[Tuple[Union[str, SearchNode]]] = None,
    ) -> None:
        """
        card  : try to search for its note and select it
        search: set and perform search; caller must ensure validity
        """

        QMainWindow.__init__(self, None, Qt.Window)
        self.mw = mw
        self.col = self.mw.col
        self.lastFilter = ""
        self.focusTo: Optional[int] = None
        self._previewer: Optional[Previewer] = None
        self._closeEventHasCleanedUp = False
        self.form = aqt.forms.browser.Ui_Dialog()
        self.form.setupUi(self)
        self.setupSidebar()
        restoreGeom(self, "editor", 0)
        restoreState(self, "editor")
        restoreSplitter(self.form.splitter, "editor3")
        self.form.splitter.setChildrenCollapsible(False)
        self.card: Optional[Card] = None
        self.setup_table()
        self.setupMenus()
        self.setupHooks()
        self.setupEditor()
        # disable undo/redo
        self.on_undo_state_change(mw.undo_actions_info())
        self.setupSearch(card, search)
        gui_hooks.browser_will_show(self)
        self.show()
Example #2
0
 def __init__(self, mw):
     QMainWindow.__init__(self, mw)
     applyStyles(self)
     self.mw = mw
     self.col = self.mw.col
     self.currentRow = None
     self.lastFilter = ""
     self.form = aqt.forms.browser.Ui_Dialog()
     self.form.setupUi(self)
     restoreGeom(self, "editor", 0)
     restoreState(self, "editor")
     restoreSplitter(self.form.splitter_2, "editor2")
     restoreSplitter(self.form.splitter, "editor3")
     self.form.splitter_2.setChildrenCollapsible(False)
     self.form.splitter.setChildrenCollapsible(False)
     self.card = None
     self.setupToolbar()
     self.setupColumns()
     self.setupTable()
     self.setupMenus()
     self.setupSearch()
     self.setupTree()
     self.setupHeaders()
     self.setupHooks()
     self.setupEditor()
     self.updateFont()
     self.onUndoState(self.mw.form.actionUndo.isEnabled())
     self.form.searchEdit.setFocus()
     self.show()
     self.form.searchEdit.setText("deck:current is:recent")
     self.form.searchEdit.selectAll()
     self.onSearch()
Example #3
0
 def __init__(self, mw, fact, type=0, ord=0, parent=None):
     QDialog.__init__(self, parent or mw, Qt.Window)
     self.mw = aqt.mw
     self.parent = parent or mw
     self.fact = fact
     self.type = type
     self.ord = ord
     self.deck = self.mw.deck
     self.model = fact.model()
     self.form = aqt.forms.clayout.Ui_Dialog()
     self.form.setupUi(self)
     self.setWindowTitle(_("%s Layout") % self.model.name)
     self.plastiqueStyle = None
     if isMac or isWin:
         self.plastiqueStyle = QStyleFactory.create("plastique")
     self.connect(self.form.buttonBox, SIGNAL("helpRequested()"),
                  self.onHelp)
     self.setupCards()
     self.setupFields()
     self.form.buttonBox.button(QDialogButtonBox.Help).setAutoDefault(False)
     self.form.buttonBox.button(QDialogButtonBox.Close).setAutoDefault(False)
     restoreSplitter(self.form.splitter, "clayout")
     restoreGeom(self, "CardLayout")
     if not self.reload(first=True):
         return
     self.exec_()
Example #4
0
 def __init__(self, mw):
     QMainWindow.__init__(self, mw)
     applyStyles(self)
     self.mw = mw
     self.col = self.mw.col
     self.currentRow = None
     self.lastFilter = ""
     self.form = aqt.forms.browser.Ui_Dialog()
     self.form.setupUi(self)
     restoreGeom(self, "editor", 0)
     restoreState(self, "editor")
     restoreSplitter(self.form.splitter_2, "editor2")
     restoreSplitter(self.form.splitter, "editor3")
     self.form.splitter_2.setChildrenCollapsible(False)
     self.form.splitter.setChildrenCollapsible(False)
     self.card = None
     self.setupToolbar()
     self.setupColumns()
     self.setupTable()
     self.setupMenus()
     self.setupSearch()
     self.setupTree()
     self.setupHeaders()
     self.setupHooks()
     self.setupEditor()
     self.updateFont()
     self.onUndoState(self.mw.form.actionUndo.isEnabled())
     self.form.searchEdit.setFocus()
     self.show()
     self.form.searchEdit.setText("deck:current is:recent")
     self.form.searchEdit.selectAll()
     self.onSearch()
Example #5
0
 def __init__(
     self,
     mw: AnkiQt,
     note: Note,
     ord=0,
     parent: Optional[QWidget] = None,
     fill_empty: bool = False,
 ):
     QDialog.__init__(self, parent or mw, Qt.Window)
     mw.setupDialogGC(self)
     self.mw = aqt.mw
     self.note = note
     self.ord = ord
     self.col = self.mw.col.weakref()
     self.mm = self.mw.col.models
     self.model = note.model()
     self.templates = self.model["tmpls"]
     self.fill_empty_action_toggled = fill_empty
     self.night_mode_is_enabled = self.mw.pm.night_mode()
     self.mobile_emulation_enabled = False
     self.have_autoplayed = False
     self.mm._remove_from_cache(self.model["id"])
     self.mw.checkpoint(tr(TR.CARD_TEMPLATES_CARD_TYPES))
     self.change_tracker = ChangeTracker(self.mw)
     self.setupTopArea()
     self.setupMainArea()
     self.setupButtons()
     self.setupShortcuts()
     self.setWindowTitle(
         without_unicode_isolation(
             tr(TR.CARD_TEMPLATES_CARD_TYPES_FOR, val=self.model["name"])
         )
     )
     disable_help_button(self)
     v1 = QVBoxLayout()
     v1.addWidget(self.topArea)
     v1.addWidget(self.mainArea)
     v1.addLayout(self.buttons)
     v1.setContentsMargins(12, 12, 12, 12)
     self.setLayout(v1)
     gui_hooks.card_layout_will_show(self)
     self.redraw_everything()
     restoreGeom(self, "CardLayout")
     restoreSplitter(self.mainArea, "CardLayoutMainArea")
     self.setWindowModality(Qt.ApplicationModal)
     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()
Example #6
0
 def __init__(self, dlg, addon, conf):
     super().__init__(dlg)
     self.addon = addon
     self.conf = conf
     self.mgr = dlg.mgr
     self.form = aqt.forms.addonconf.Ui_Dialog()
     self.form.setupUi(self)
     restore = self.form.buttonBox.button(QDialogButtonBox.RestoreDefaults)
     restore.clicked.connect(self.onRestoreDefaults)
     self.setupFonts()
     self.updateHelp()
     self.updateText(self.conf)
     restoreGeom(self, "addonconf")
     restoreSplitter(self.form.splitter, "addonconf")
     self.show()
Example #7
0
 def __init__(self, dlg, addon, conf):
     super().__init__(dlg)
     self.addon = addon
     self.conf = conf
     self.mgr = dlg.mgr
     self.form = aqt.forms.addonconf.Ui_Dialog()
     self.form.setupUi(self)
     restore = self.form.buttonBox.button(QDialogButtonBox.RestoreDefaults)
     restore.clicked.connect(self.onRestoreDefaults)
     self.setupFonts()
     self.updateHelp()
     self.updateText(self.conf)
     restoreGeom(self, "addonconf")
     restoreSplitter(self.form.splitter, "addonconf")
     self.show()
Example #8
0
 def __init__(
     self,
     mw: AnkiQt,
     note: Note,
     ord=0,
     parent: Optional[QWidget] = None,
     fill_empty: bool = False,
 ):
     QDialog.__init__(self, parent or mw, Qt.Window)
     mw.setupDialogGC(self)
     self.mw = aqt.mw
     self.note = note
     self.ord = ord
     self.col = self.mw.col.weakref()
     self.mm = self.mw.col.models
     self.model = note.model()
     self.templates = self.model["tmpls"]
     self._want_fill_empty_on = fill_empty
     self.have_autoplayed = False
     self.mm._remove_from_cache(self.model["id"])
     self.mw.checkpoint(_("Card Types"))
     self.change_tracker = ChangeTracker(self.mw)
     self.setupTopArea()
     self.setupMainArea()
     self.setupButtons()
     self.setupShortcuts()
     self.setWindowTitle(_("Card Types for %s") % self.model["name"])
     v1 = QVBoxLayout()
     v1.addWidget(self.topArea)
     v1.addWidget(self.mainArea)
     v1.addLayout(self.buttons)
     v1.setContentsMargins(12, 12, 12, 12)
     self.setLayout(v1)
     gui_hooks.card_layout_will_show(self)
     self.redraw_everything()
     restoreGeom(self, "CardLayout")
     restoreSplitter(self.mainArea, "CardLayoutMainArea")
     self.setWindowModality(Qt.ApplicationModal)
     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()
Example #9
0
 def __init__(self, dlg, addon, conf):
     super().__init__(dlg)
     self.addon = addon
     self.conf = conf
     self.mgr = dlg.mgr
     self.form = aqt.forms.addonconf.Ui_Dialog()
     self.form.setupUi(self)
     restore = self.form.buttonBox.button(QDialogButtonBox.RestoreDefaults)
     restore.clicked.connect(self.onRestoreDefaults)
     self.setupFonts()
     self.updateHelp()
     self.updateText(self.conf)
     restoreGeom(self, "addonconf")
     restoreSplitter(self.form.splitter, "addonconf")
     self.setWindowTitle(
         tr(
             TR.ADDONS_CONFIG_WINDOW_TITLE,
             name=self.mgr.addon_meta(addon).human_name(),
         ))
     self.show()
Example #10
0
    def __init__(
        self,
        mw: AnkiQt,
        card: Card | None = None,
        search: tuple[str | SearchNode] | None = None,
    ) -> None:
        """
        card -- try to select the provided card after executing "search" or
                "deck:current" (if "search" was None)
        search -- set and perform search; caller must ensure validity
        """

        QMainWindow.__init__(self, None, Qt.WindowType.Window)
        self.mw = mw
        self.col = self.mw.col
        self.lastFilter = ""
        self.focusTo: int | None = None
        self._previewer: Previewer | None = None
        self._card_info = BrowserCardInfo(self.mw)
        self._closeEventHasCleanedUp = False
        self.form = aqt.forms.browser.Ui_Dialog()
        self.form.setupUi(self)
        self.setupSidebar()
        restoreGeom(self, "editor", 0)
        restoreState(self, "editor")
        restoreSplitter(self.form.splitter, "editor3")
        self.form.splitter.setChildrenCollapsible(False)
        # set if exactly 1 row is selected; used by the previewer
        self.card: Card | None = None
        self.current_card: Card | None = None
        self.setup_table()
        self.setupMenus()
        self.setupHooks()
        self.setupEditor()
        # disable undo/redo
        self.on_undo_state_change(mw.undo_actions_info())
        # legacy alias
        self.model = MockModel(self)
        gui_hooks.browser_will_show(self)
        self.show()
        self.setupSearch(card, search)
Example #11
0
 def __init__(self, dlg: QDialog, addon: str, conf: Dict) -> None:
     super().__init__(dlg)
     self.addon = addon
     self.conf = conf
     self.mgr = dlg.mgr
     self.form = aqt.forms.addonconf.Ui_Dialog()
     self.form.setupUi(self)
     restore = self.form.buttonBox.button(QDialogButtonBox.RestoreDefaults)
     qconnect(restore.clicked, self.onRestoreDefaults)
     self.setupFonts()
     self.updateHelp()
     self.updateText(self.conf)
     restoreGeom(self, "addonconf")
     restoreSplitter(self.form.splitter, "addonconf")
     self.setWindowTitle(
         without_unicode_isolation(
             tr(
                 TR.ADDONS_CONFIG_WINDOW_TITLE,
                 name=self.mgr.addon_meta(addon).human_name(),
             )))
     disable_help_button(self)
     self.show()