def _initial_dialog_setup(self) -> None: self.form = aqt.forms.filtered_deck.Ui_Dialog() self.form.setupUi(self) order_labels = self.col.sched.filtered_deck_order_labels() self.form.order.addItems(order_labels) self.form.order_2.addItems(order_labels) qconnect(self.form.resched.stateChanged, self._onReschedToggled) qconnect(self.form.search_button.clicked, self.on_search_button) qconnect(self.form.search_button_2.clicked, self.on_search_button_2) qconnect(self.form.hint_button.clicked, self.on_hint_button) blue = theme_manager.color(colors.LINK) grey = theme_manager.color(colors.DISABLED) self.setStyleSheet(f"""QPushButton[label] {{ padding: 0; border: 0 }} QPushButton[label]:hover {{ text-decoration: underline }} QPushButton[label="search"] {{ color: {blue} }} QPushButton[label="hint"] {{ color: {grey} }}""") disable_help_button(self) self.setWindowModality(Qt.WindowModality.WindowModal) qconnect(self.form.buttonBox.helpRequested, lambda: openHelp(HelpPage.FILTERED_DECK)) if self.col.sched_ver() == 1: self.form.secondFilter.setVisible(False) restoreGeom(self, self.GEOMETRY_KEY)
def __init__(self, browser: aqt.browser.Browser) -> None: super().__init__() self.browser = browser self.mw = browser.mw self.col = self.mw.col self.current_search: Optional[str] = None self.valid_drop_types: Tuple[SidebarItemType, ...] = () self.setContextMenuPolicy(Qt.CustomContextMenu) self.customContextMenuRequested.connect( self.onContextMenu) # type: ignore self.setUniformRowHeights(True) self.setHeaderHidden(True) self.setIndentation(15) self.setAutoExpandDelay(600) self.setDragDropOverwriteMode(False) self.setEditTriggers(QAbstractItemView.EditKeyPressed) qconnect(self.expanded, self._on_expansion) qconnect(self.collapsed, self._on_collapse) # match window background color and tweak style bgcolor = QPalette().window().color().name() border = theme_manager.color(colors.MEDIUM_BORDER) styles = [ "padding: 3px", "padding-right: 0px", "border: 0", f"background: {bgcolor}", ] if _want_right_border(): styles.append(f"border-right: 1px solid {border}") self.setStyleSheet("QTreeView { %s }" % ";".join(styles))
def __init__( self, mw: AnkiQt, search: Optional[str] = None, search_2: Optional[str] = None, deck: Optional[Deck] = None, ) -> None: """If 'deck' is an existing filtered deck, load and modify its settings. Otherwise, build a new one and derive settings from the current deck. """ QDialog.__init__(self, mw) self.mw = mw self.did: Optional[int] = None self.form = aqt.forms.dyndconf.Ui_Dialog() self.form.setupUi(self) self.mw.checkpoint(tr(TR.ACTIONS_OPTIONS)) self.initialSetup() self.old_deck = self.mw.col.decks.current() if deck and deck["dyn"]: # modify existing dyn deck label = tr(TR.ACTIONS_REBUILD) self.deck = deck self.loadConf() elif self.old_deck["dyn"]: # create new dyn deck from other dyn deck label = tr(TR.DECKS_BUILD) self.loadConf(deck=self.old_deck) self.new_dyn_deck() else: # create new dyn deck from regular deck label = tr(TR.DECKS_BUILD) self.new_dyn_deck() self.loadConf() self.set_default_searches(self.old_deck["name"]) self.form.name.setText(self.deck["name"]) self.form.name.setPlaceholderText(self.deck["name"]) self.set_custom_searches(search, search_2) qconnect(self.form.search_button.clicked, self.on_search_button) qconnect(self.form.search_button_2.clicked, self.on_search_button_2) color = theme_manager.color(colors.LINK) self.setStyleSheet( f"""QPushButton[flat=true] {{ text-align: left; color: {color}; padding: 0; border: 0 }} QPushButton[flat=true]:hover {{ text-decoration: underline }}""") disable_help_button(self) self.setWindowModality(Qt.WindowModal) qconnect(self.form.buttonBox.helpRequested, lambda: openHelp(HelpPage.FILTERED_DECK)) self.setWindowTitle( without_unicode_isolation( tr(TR.ACTIONS_OPTIONS_FOR, val=self.deck["name"]))) self.form.buttonBox.button(QDialogButtonBox.Ok).setText(label) if self.mw.col.schedVer() == 1: self.form.secondFilter.setVisible(False) restoreGeom(self, "dyndeckconf") self.show()
def __init__(self, browser: aqt.browser.Browser) -> None: super().__init__() self.browser = browser self.mw = browser.mw self.col = self.mw.col self.current_search: Optional[str] = None self.setContextMenuPolicy(Qt.CustomContextMenu) self.customContextMenuRequested.connect( self.onContextMenu) # type: ignore self.context_menus: Dict[SidebarItemType, Sequence[Tuple[ str, Callable]]] = { SidebarItemType.DECK: ( (tr(TR.ACTIONS_RENAME), self.rename_deck), (tr(TR.ACTIONS_DELETE), self.delete_deck), ), SidebarItemType.TAG: ( (tr(TR.ACTIONS_RENAME), self.rename_tag), (tr(TR.ACTIONS_DELETE), self.remove_tag), ), SidebarItemType.SAVED_SEARCH: ( (tr(TR.ACTIONS_RENAME), self.rename_saved_search), (tr(TR.ACTIONS_DELETE), self.remove_saved_search), ), SidebarItemType.NOTETYPE: ((tr(TR.ACTIONS_MANAGE), self.manage_notetype), ), SidebarItemType.SAVED_SEARCH_ROOT: ((tr(TR.BROWSING_SIDEBAR_SAVE_CURRENT_SEARCH), self.save_current_search), ), } self.setUniformRowHeights(True) self.setHeaderHidden(True) self.setIndentation(15) self.setAutoExpandDelay(600) # pylint: disable=no-member # mode = QAbstractItemView.SelectionMode.ExtendedSelection # type: ignore # self.setSelectionMode(mode) self.setDragDropMode(QAbstractItemView.InternalMove) self.setDragDropOverwriteMode(False) qconnect(self.expanded, self._on_expansion) qconnect(self.collapsed, self._on_collapse) # match window background color and tweak style bgcolor = QPalette().window().color().name() border = theme_manager.color(colors.MEDIUM_BORDER) styles = [ "padding: 3px", "padding-right: 0px", "border: 0", f"background: {bgcolor}", ] if _want_right_border(): styles.append(f"border-right: 1px solid {border}") self.setStyleSheet("QTreeView { %s }" % ";".join(styles))
def setup_style(self) -> None: border = theme_manager.color(colors.MEDIUM_BORDER) styles = [ "padding: 1px", "padding-left: 3px", f"border-bottom: 1px solid {border}", ] if _want_right_border(): styles.append(f"border-right: 1px solid {border}", ) self.setStyleSheet("QLineEdit { %s }" % ";".join(styles))
def _setup_style(self) -> None: # match window background color and tweak style bgcolor = QPalette().window().color().name() border = theme_manager.color(colors.MEDIUM_BORDER) styles = [ "padding: 3px", "padding-right: 0px", "border: 0", f"background: {bgcolor}", ] if _want_right_border(): styles.append(f"border-right: 1px solid {border}") self.setStyleSheet("QTreeView { %s }" % ";".join(styles))
def setupTags(self) -> None: import aqt.tagedit g = QGroupBox(self.widget) g.setStyleSheet("border: 0") tb = QGridLayout() tb.setSpacing(12) tb.setContentsMargins(2, 6, 2, 6) # tags l = QLabel(tr.editing_tags()) tb.addWidget(l, 1, 0) self.tags = aqt.tagedit.TagEdit(self.widget) qconnect(self.tags.lostFocus, self.on_tag_focus_lost) self.tags.setToolTip(shortcut(tr.editing_jump_to_tags_with_ctrlandshiftandt())) border = theme_manager.color(colors.BORDER) self.tags.setStyleSheet(f"border: 1px solid {border}") tb.addWidget(self.tags, 1, 1) g.setLayout(tb) self.outerLayout.addWidget(g)
def setupTags(self) -> None: import aqt.tagedit g = QGroupBox(self.widget) g.setStyleSheet("border: 0") tb = QGridLayout() tb.setSpacing(12) tb.setContentsMargins(2, 6, 2, 6) # tags l = QLabel(tr(TR.EDITING_TAGS)) tb.addWidget(l, 1, 0) self.tags = aqt.tagedit.TagEdit(self.widget) qconnect(self.tags.lostFocus, self.on_tag_focus_lost) self.tags.setToolTip( shortcut(tr(TR.EDITING_JUMP_TO_TAGS_WITH_CTRLANDSHIFTANDT))) border = theme_manager.color(colors.BORDER) self.tags.setStyleSheet(f"border: 1px solid {border}") tb.addWidget(self.tags, 1, 1) g.setLayout(tb) self.outerLayout.addWidget(g)
def __init__(self, browser: aqt.browser.Browser) -> None: super().__init__() self.browser = browser self.mw = browser.mw self.col = self.mw.col self.current_search: str | None = None self.valid_drop_types: tuple[SidebarItemType, ...] = () self._refresh_needed = False self.setContextMenuPolicy(Qt.CustomContextMenu) self.customContextMenuRequested.connect( self.onContextMenu) # type: ignore self.setUniformRowHeights(True) self.setHeaderHidden(True) self.setIndentation(15) self.setAutoExpandDelay(600) self.setDragDropOverwriteMode(False) self.setEditTriggers(QAbstractItemView.EditKeyPressed) qconnect(self.expanded, self._on_expansion) qconnect(self.collapsed, self._on_collapse) # match window background color and tweak style bgcolor = QPalette().window().color().name() border = theme_manager.color(colors.MEDIUM_BORDER) styles = [ "padding: 3px", "padding-right: 0px", "border: 0", f"background: {bgcolor}", ] if _want_right_border(): styles.append(f"border-right: 1px solid {border}") self.setStyleSheet("QTreeView { %s }" % ";".join(styles)) # these do not really belong here, they should be in a higher-level class self.toolbar = SidebarToolbar(self) self.searchBar = SidebarSearchBar(self) gui_hooks.flag_label_did_change.append(self.refresh)
def __init__(self, sidebar: aqt.browser.sidebar.SidebarTreeView) -> None: QLineEdit.__init__(self, sidebar) self.setPlaceholderText(sidebar.col.tr.browsing_sidebar_filter()) self.sidebar = sidebar self.timer = QTimer(self) self.timer.setInterval(600) self.timer.setSingleShot(True) self.setFrame(False) border = theme_manager.color(colors.MEDIUM_BORDER) styles = [ "padding: 1px", "padding-left: 3px", f"border-bottom: 1px solid {border}", ] if _want_right_border(): styles.append(f"border-right: 1px solid {border}", ) self.setStyleSheet("QLineEdit { %s }" % ";".join(styles)) qconnect(self.timer.timeout, self.onSearch) qconnect(self.textChanged, self.onTextChanged)