From d9a368631f101e1824b1237ca868b4846961cee8 Mon Sep 17 00:00:00 2001 From: Henrik Giesel Date: Wed, 16 Jun 2021 14:26:04 +0200 Subject: [PATCH 01/10] Add tag_multiple icon --- qt/aqt/browser/sidebar/tree.py | 16 ++++++++++----- qt/aqt/forms/icons/BUILD.bazel | 37 ++++++++++++++++++++++++++++++++-- 2 files changed, 46 insertions(+), 7 deletions(-) diff --git a/qt/aqt/browser/sidebar/tree.py b/qt/aqt/browser/sidebar/tree.py index 398531933..54ea59e4f 100644 --- a/qt/aqt/browser/sidebar/tree.py +++ b/qt/aqt/browser/sidebar/tree.py @@ -694,6 +694,7 @@ class SidebarTreeView(QTreeView): def _tag_tree(self, root: SidebarItem) -> None: icon = ":/icons/tag-outline.svg" + icon_multiple = ":/icons/tag-multiple-outline.svg" icon_off = ":/icons/tag-off-outline.svg" def render( @@ -708,7 +709,7 @@ class SidebarTreeView(QTreeView): for node in nodes: item = SidebarItem( name=node.name, - icon=icon, + icon=icon_multiple if node.children else icon, search_node=SearchNode(tag=head + node.name), on_expanded=toggle_expand(node), expanded=not node.collapsed, @@ -723,7 +724,7 @@ class SidebarTreeView(QTreeView): root = self._section_root( root=root, name=tr.browsing_sidebar_tags(), - icon=icon, + icon=icon_multiple, collapse_key=Config.Bool.COLLAPSE_TAGS, type=SidebarItemType.TAG_ROOT, ) @@ -795,10 +796,15 @@ class SidebarTreeView(QTreeView): def _notetype_tree(self, root: SidebarItem) -> None: icon = ":/icons/notetype.svg" + notetype_multiple_icon = icon + notetype_icon = icon + template_icon = icon + + root = self._section_root( root=root, name=tr.browsing_sidebar_notetypes(), - icon=icon, + icon=notetype_multiple_icon, collapse_key=Config.Bool.COLLAPSE_NOTETYPES, type=SidebarItemType.NOTETYPE_ROOT, ) @@ -807,7 +813,7 @@ class SidebarTreeView(QTreeView): for nt in sorted(self.col.models.all(), key=lambda nt: nt["name"].lower()): item = SidebarItem( nt["name"], - icon, + notetype_icon, search_node=SearchNode(note=nt["name"]), item_type=SidebarItemType.NOTETYPE, id=nt["id"], @@ -816,7 +822,7 @@ class SidebarTreeView(QTreeView): for c, tmpl in enumerate(nt["tmpls"]): child = SidebarItem( tmpl["name"], - icon, + template_icon, search_node=self.col.group_searches( SearchNode(note=nt["name"]), SearchNode(template=c) ), diff --git a/qt/aqt/forms/icons/BUILD.bazel b/qt/aqt/forms/icons/BUILD.bazel index 537802a5d..58e485548 100644 --- a/qt/aqt/forms/icons/BUILD.bazel +++ b/qt/aqt/forms/icons/BUILD.bazel @@ -1,15 +1,48 @@ -load("//ts:vendor.bzl", "copy_mdi_icons") +load("//ts:vendor.bzl", "copy_mdi_icons", "copy_bootstrap_icons") copy_mdi_icons( name = "mdi-icons", icons = [ + "bookmark-multiple-outline.svg", + "bookmark-outline.svg", + + "flag-variant.svg", + "flag-variant-outline.svg", + + # state + "circle.svg", + "circle-outline.svg", + + # decks + "book-multiple-outline.svg", + "book-outline.svg", + "book-clock-outline.svg", + + # notetypes + "newspaper-variant-outline.svg", + "newspaper-variant-multiple-outline.svg", + # cards + "card-bulleted-outline.svg", + # fields + "form-textbox.svg", + + # tags "tag-outline.svg", + "tag-multiple-outline.svg", "tag-off-outline.svg", ], ) +copy_bootstrap_icons( + name = "bootstrap-icons", + icons = [ + "clock.svg", + "clock-history.svg", + ], +) + filegroup( name = "icons", - srcs = ["mdi-icons"] + glob(["*.svg", "*.png"]), + srcs = ["mdi-icons", "bootstrap-icons"] + glob(["*.svg", "*.png"]), visibility = ["//visibility:public"], ) From 5fe25196196980e3886f02426cdface43c8424d2 Mon Sep 17 00:00:00 2001 From: Henrik Giesel Date: Wed, 16 Jun 2021 14:53:30 +0200 Subject: [PATCH 02/10] Add new icons for decks --- qt/aqt/browser/sidebar/tree.py | 16 +++++++++++----- qt/aqt/forms/icons/BUILD.bazel | 3 ++- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/qt/aqt/browser/sidebar/tree.py b/qt/aqt/browser/sidebar/tree.py index 54ea59e4f..cdabf3606 100644 --- a/qt/aqt/browser/sidebar/tree.py +++ b/qt/aqt/browser/sidebar/tree.py @@ -742,7 +742,10 @@ class SidebarTreeView(QTreeView): ########################### def _deck_tree(self, root: SidebarItem) -> None: - icon = ":/icons/deck.svg" + icon = ":/icons/book-outline.svg" + icon_multiple = ":/icons/book-multiple-outline.svg" + icon_current = ":/icons/book-clock-outline.svg" + icon_filtered = ":/icons/book-cog-outline.svg" def render( root: SidebarItem, nodes: Iterable[DeckTreeNode], head: str = "" @@ -760,7 +763,11 @@ class SidebarTreeView(QTreeView): for node in nodes: item = SidebarItem( name=node.name, - icon=icon, + icon=icon_filtered + if node.filtered + else icon_multiple + if node.children + else icon, search_node=SearchNode(deck=head + node.name), on_expanded=toggle_expand(node), expanded=not node.collapsed, @@ -776,14 +783,14 @@ class SidebarTreeView(QTreeView): root = self._section_root( root=root, name=tr.browsing_sidebar_decks(), - icon=icon, + icon=icon_multiple, collapse_key=Config.Bool.COLLAPSE_DECKS, type=SidebarItemType.DECK_ROOT, ) root.search_node = SearchNode(deck="_*") current = root.add_simple( name=tr.browsing_current_deck(), - icon=icon, + icon=icon_current, type=SidebarItemType.DECK_CURRENT, search_node=SearchNode(deck="current"), ) @@ -800,7 +807,6 @@ class SidebarTreeView(QTreeView): notetype_icon = icon template_icon = icon - root = self._section_root( root=root, name=tr.browsing_sidebar_notetypes(), diff --git a/qt/aqt/forms/icons/BUILD.bazel b/qt/aqt/forms/icons/BUILD.bazel index 58e485548..f283889b4 100644 --- a/qt/aqt/forms/icons/BUILD.bazel +++ b/qt/aqt/forms/icons/BUILD.bazel @@ -14,9 +14,10 @@ copy_mdi_icons( "circle-outline.svg", # decks - "book-multiple-outline.svg", "book-outline.svg", + "book-multiple-outline.svg", "book-clock-outline.svg", + "book-cog-outline.svg", # notetypes "newspaper-variant-outline.svg", From fecceb1997a3d48dafaa2f14992eaedeb9a14225 Mon Sep 17 00:00:00 2001 From: Henrik Giesel Date: Wed, 16 Jun 2021 14:58:30 +0200 Subject: [PATCH 03/10] Add notetype icons --- qt/aqt/browser/sidebar/tree.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/qt/aqt/browser/sidebar/tree.py b/qt/aqt/browser/sidebar/tree.py index cdabf3606..acf0dd982 100644 --- a/qt/aqt/browser/sidebar/tree.py +++ b/qt/aqt/browser/sidebar/tree.py @@ -802,10 +802,10 @@ class SidebarTreeView(QTreeView): ########################### def _notetype_tree(self, root: SidebarItem) -> None: - icon = ":/icons/notetype.svg" - notetype_multiple_icon = icon - notetype_icon = icon - template_icon = icon + notetype_icon = ":/icons/newspaper-variant-outline.svg" + notetype_multiple_icon = ":/icons/newspaper-variant-multiple-outline.svg" + template_icon = ":/icons/card-bulleted-outline.svg" + # field_icon = ":/icons/form-textbox.svg" root = self._section_root( root=root, From 5031bafb6172afd141f74d206f3d9467458fc129 Mon Sep 17 00:00:00 2001 From: Henrik Giesel Date: Wed, 16 Jun 2021 15:40:48 +0200 Subject: [PATCH 04/10] Add NOTETYPE_FIELD sidebar items --- qt/aqt/browser/sidebar/item.py | 6 +++++- qt/aqt/browser/sidebar/tree.py | 22 +++++++++++++++++++++- qt/aqt/fields.py | 8 ++++++-- rslib/src/backend/search/search_node.rs | 2 +- 4 files changed, 33 insertions(+), 5 deletions(-) diff --git a/qt/aqt/browser/sidebar/item.py b/qt/aqt/browser/sidebar/item.py index 66e9f68e0..935719401 100644 --- a/qt/aqt/browser/sidebar/item.py +++ b/qt/aqt/browser/sidebar/item.py @@ -25,6 +25,7 @@ class SidebarItemType(Enum): NOTETYPE_ROOT = auto() NOTETYPE = auto() NOTETYPE_TEMPLATE = auto() + NOTETYPE_FIELD = auto() TAG_ROOT = auto() TAG_NONE = auto() TAG = auto() @@ -144,7 +145,10 @@ class SidebarItem: SidebarItemType.CARD_STATE, ): return self.name == other.name - elif self.item_type == SidebarItemType.NOTETYPE_TEMPLATE: + elif self.item_type in [ + SidebarItemType.NOTETYPE_TEMPLATE, + SidebarItemType.NOTETYPE_FIELD, + ]: return ( other.id == self.id and other._parent_item.id == self._parent_item.id diff --git a/qt/aqt/browser/sidebar/tree.py b/qt/aqt/browser/sidebar/tree.py index acf0dd982..4ac1cf23a 100644 --- a/qt/aqt/browser/sidebar/tree.py +++ b/qt/aqt/browser/sidebar/tree.py @@ -25,6 +25,7 @@ from aqt.browser.sidebar.model import SidebarModel from aqt.browser.sidebar.searchbar import SidebarSearchBar from aqt.browser.sidebar.toolbar import SidebarTool, SidebarToolbar from aqt.clayout import CardLayout +from aqt.fields import FieldDialog from aqt.flags import load_flags from aqt.models import Models from aqt.operations import CollectionOp, QueryOp @@ -805,7 +806,7 @@ class SidebarTreeView(QTreeView): notetype_icon = ":/icons/newspaper-variant-outline.svg" notetype_multiple_icon = ":/icons/newspaper-variant-multiple-outline.svg" template_icon = ":/icons/card-bulleted-outline.svg" - # field_icon = ":/icons/form-textbox.svg" + field_icon = ":/icons/form-textbox.svg" root = self._section_root( root=root, @@ -838,6 +839,19 @@ class SidebarTreeView(QTreeView): ) item.add_child(child) + for c, fld in enumerate(nt["flds"]): + child = SidebarItem( + fld["name"], + field_icon, + search_node=self.col.group_searches( + SearchNode(note=nt["name"]), SearchNode(field_name=fld["name"]) + ), + item_type=SidebarItemType.NOTETYPE_FIELD, + name_prefix=f"{nt['name']}::", + id=fld["ord"], + ) + item.add_child(child) + root.add_child(item) # Context menu @@ -867,6 +881,8 @@ class SidebarTreeView(QTreeView): ) elif item.item_type == SidebarItemType.NOTETYPE_TEMPLATE: menu.addAction(tr.notetypes_cards(), lambda: self.manage_template(item)) + elif item.item_type == SidebarItemType.NOTETYPE_FIELD: + menu.addAction(tr.notetypes_fields(), lambda: self.manage_fields(item)) elif item.item_type == SidebarItemType.SAVED_SEARCH_ROOT: menu.addAction( tr.browsing_sidebar_save_current_search(), self.save_current_search @@ -1108,6 +1124,10 @@ class SidebarTreeView(QTreeView): note = Note(self.col, self.col.models.get(NotetypeId(item._parent_item.id))) CardLayout(self.mw, note, ord=item.id, parent=self, fill_empty=True) + def manage_fields(self, item: SidebarItem) -> None: + notetype = self.mw.col.models.get(NotetypeId(item._parent_item.id)) + FieldDialog(self.mw, notetype, parent=self, open_at=item.id) + # Helpers #################################### diff --git a/qt/aqt/fields.py b/qt/aqt/fields.py index 679957705..faac707d7 100644 --- a/qt/aqt/fields.py +++ b/qt/aqt/fields.py @@ -24,7 +24,11 @@ from aqt.utils import ( class FieldDialog(QDialog): def __init__( - self, mw: AnkiQt, nt: NotetypeDict, parent: Optional[QWidget] = None + self, + mw: AnkiQt, + nt: NotetypeDict, + parent: Optional[QWidget] = None, + open_at=0, ) -> None: QDialog.__init__(self, parent or mw) self.mw = mw @@ -47,7 +51,7 @@ class FieldDialog(QDialog): self.setupSignals() self.form.fieldList.setDragDropMode(QAbstractItemView.InternalMove) self.form.fieldList.dropEvent = self.onDrop # type: ignore[assignment] - self.form.fieldList.setCurrentRow(0) + self.form.fieldList.setCurrentRow(open_at) self.exec_() ########################################################################## diff --git a/rslib/src/backend/search/search_node.rs b/rslib/src/backend/search/search_node.rs index 0616e89fc..d184dc66f 100644 --- a/rslib/src/backend/search/search_node.rs +++ b/rslib/src/backend/search/search_node.rs @@ -42,7 +42,7 @@ impl TryFrom for Node { }), Filter::FieldName(s) => Node::Search(SearchNode::SingleField { field: escape_anki_wildcards_for_search_node(&s), - text: "*".to_string(), + text: "_*".to_string(), is_re: false, }), Filter::Rated(rated) => Node::Search(SearchNode::Rated { From 1850f24c4b5fabc083b51fd4a1a1e100d90208b2 Mon Sep 17 00:00:00 2001 From: Henrik Giesel Date: Wed, 16 Jun 2021 15:46:47 +0200 Subject: [PATCH 05/10] Replace saved search icon --- qt/aqt/browser/sidebar/tree.py | 5 +++-- qt/aqt/forms/icons/BUILD.bazel | 4 ++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/qt/aqt/browser/sidebar/tree.py b/qt/aqt/browser/sidebar/tree.py index 4ac1cf23a..ff6bcd77f 100644 --- a/qt/aqt/browser/sidebar/tree.py +++ b/qt/aqt/browser/sidebar/tree.py @@ -522,13 +522,14 @@ class SidebarTreeView(QTreeView): ########################### def _saved_searches_tree(self, root: SidebarItem) -> None: - icon = ":/icons/heart.svg" + icon = ":/icons/bookmark-outline.svg" + icon_multiple = ":/icons/bookmark-multiple-outline.svg" saved = self._get_saved_searches() root = self._section_root( root=root, name=tr.browsing_sidebar_saved_searches(), - icon=icon, + icon=icon_multiple, collapse_key=Config.Bool.COLLAPSE_SAVED_SEARCHES, type=SidebarItemType.SAVED_SEARCH_ROOT, ) diff --git a/qt/aqt/forms/icons/BUILD.bazel b/qt/aqt/forms/icons/BUILD.bazel index f283889b4..72b77a136 100644 --- a/qt/aqt/forms/icons/BUILD.bazel +++ b/qt/aqt/forms/icons/BUILD.bazel @@ -3,11 +3,11 @@ load("//ts:vendor.bzl", "copy_mdi_icons", "copy_bootstrap_icons") copy_mdi_icons( name = "mdi-icons", icons = [ - "bookmark-multiple-outline.svg", "bookmark-outline.svg", + "bookmark-multiple-outline.svg", - "flag-variant.svg", "flag-variant-outline.svg", + "flag-variant.svg", # state "circle.svg", From 32f3c5dbe7ac39c57d4a51ebcceb54457d530535 Mon Sep 17 00:00:00 2001 From: Henrik Giesel Date: Wed, 16 Jun 2021 16:13:55 +0200 Subject: [PATCH 06/10] Replace card state and clock icon --- qt/aqt/browser/sidebar/tree.py | 24 ++++++++++++++---------- qt/aqt/forms/icons/BUILD.bazel | 15 ++++----------- 2 files changed, 18 insertions(+), 21 deletions(-) diff --git a/qt/aqt/browser/sidebar/tree.py b/qt/aqt/browser/sidebar/tree.py index ff6bcd77f..9d7a88dd7 100644 --- a/qt/aqt/browser/sidebar/tree.py +++ b/qt/aqt/browser/sidebar/tree.py @@ -547,7 +547,7 @@ class SidebarTreeView(QTreeView): ########################### def _today_tree(self, root: SidebarItem) -> None: - icon = ":/icons/clock.svg" + icon = ":/icons/clock-outline.svg" root = self._section_root( root=root, name=tr.browsing_today(), @@ -617,44 +617,47 @@ class SidebarTreeView(QTreeView): ########################### def _card_state_tree(self, root: SidebarItem) -> None: - icon = ColoredIcon(path=":/icons/card-state.svg", color=colors.DISABLED) + icon = ":/icons/circle.svg" + icon_outline = ":/icons/circle-outline.svg" + root = self._section_root( root=root, name=tr.browsing_sidebar_card_state(), - icon=icon, + icon=icon_outline, collapse_key=Config.Bool.COLLAPSE_CARD_STATE, type=SidebarItemType.CARD_STATE_ROOT, ) type = SidebarItemType.CARD_STATE + colored_icon = ColoredIcon(path=icon, color=colors.DISABLED) root.add_simple( tr.actions_new(), - icon=icon.with_color(colors.NEW_COUNT), + icon=colored_icon.with_color(colors.NEW_COUNT), type=type, search_node=SearchNode(card_state=SearchNode.CARD_STATE_NEW), ) root.add_simple( name=tr.scheduling_learning(), - icon=icon.with_color(colors.LEARN_COUNT), + icon=colored_icon.with_color(colors.LEARN_COUNT), type=type, search_node=SearchNode(card_state=SearchNode.CARD_STATE_LEARN), ) root.add_simple( name=tr.scheduling_review(), - icon=icon.with_color(colors.REVIEW_COUNT), + icon=colored_icon.with_color(colors.REVIEW_COUNT), type=type, search_node=SearchNode(card_state=SearchNode.CARD_STATE_REVIEW), ) root.add_simple( name=tr.browsing_suspended(), - icon=icon.with_color(colors.SUSPENDED_FG), + icon=colored_icon.with_color(colors.SUSPENDED_FG), type=type, search_node=SearchNode(card_state=SearchNode.CARD_STATE_SUSPENDED), ) root.add_simple( name=tr.browsing_buried(), - icon=icon.with_color(colors.BURIED_FG), + icon=colored_icon.with_color(colors.BURIED_FG), type=type, search_node=SearchNode(card_state=SearchNode.CARD_STATE_BURIED), ) @@ -663,7 +666,7 @@ class SidebarTreeView(QTreeView): ########################### def _flags_tree(self, root: SidebarItem) -> None: - icon = ColoredIcon(path=":/icons/flag.svg", color=colors.DISABLED) + icon = ":/icons/flag.svg" root = self._section_root( root=root, name=tr.browsing_sidebar_flags(), @@ -672,6 +675,7 @@ class SidebarTreeView(QTreeView): type=SidebarItemType.FLAG_ROOT, ) root.search_node = SearchNode(flag=SearchNode.FLAG_ANY) + colored_icon = ColoredIcon(path=icon, color=colors.DISABLED) for flag in load_flags(self.col): root.add_child( @@ -686,7 +690,7 @@ class SidebarTreeView(QTreeView): root.add_simple( tr.browsing_no_flag(), - icon=icon, + icon=colored_icon, type=SidebarItemType.FLAG, search_node=SearchNode(flag=SearchNode.FLAG_NONE), ) diff --git a/qt/aqt/forms/icons/BUILD.bazel b/qt/aqt/forms/icons/BUILD.bazel index 72b77a136..f4cca4549 100644 --- a/qt/aqt/forms/icons/BUILD.bazel +++ b/qt/aqt/forms/icons/BUILD.bazel @@ -3,11 +3,12 @@ load("//ts:vendor.bzl", "copy_mdi_icons", "copy_bootstrap_icons") copy_mdi_icons( name = "mdi-icons", icons = [ + # saved searches "bookmark-outline.svg", "bookmark-multiple-outline.svg", - "flag-variant-outline.svg", - "flag-variant.svg", + # today + "clock-outline.svg", # state "circle.svg", @@ -34,16 +35,8 @@ copy_mdi_icons( ], ) -copy_bootstrap_icons( - name = "bootstrap-icons", - icons = [ - "clock.svg", - "clock-history.svg", - ], -) - filegroup( name = "icons", - srcs = ["mdi-icons", "bootstrap-icons"] + glob(["*.svg", "*.png"]), + srcs = ["mdi-icons"] + glob(["*.svg", "*.png"]), visibility = ["//visibility:public"], ) From e1c171b8199f86fd46cfa35a6cf3c6bc16de8626 Mon Sep 17 00:00:00 2001 From: Henrik Giesel Date: Wed, 16 Jun 2021 17:04:11 +0200 Subject: [PATCH 07/10] Add missing type hint --- qt/aqt/fields.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/qt/aqt/fields.py b/qt/aqt/fields.py index faac707d7..da4894ba2 100644 --- a/qt/aqt/fields.py +++ b/qt/aqt/fields.py @@ -28,7 +28,7 @@ class FieldDialog(QDialog): mw: AnkiQt, nt: NotetypeDict, parent: Optional[QWidget] = None, - open_at=0, + open_at: int = 0, ) -> None: QDialog.__init__(self, parent or mw) self.mw = mw From eec7eae88593154d62ab36570ed809afaf2b582f Mon Sep 17 00:00:00 2001 From: Henrik Giesel Date: Wed, 16 Jun 2021 20:40:24 +0200 Subject: [PATCH 08/10] Remove name_prefix from field sidebar item --- qt/aqt/browser/sidebar/tree.py | 1 - 1 file changed, 1 deletion(-) diff --git a/qt/aqt/browser/sidebar/tree.py b/qt/aqt/browser/sidebar/tree.py index 9d7a88dd7..af7154743 100644 --- a/qt/aqt/browser/sidebar/tree.py +++ b/qt/aqt/browser/sidebar/tree.py @@ -852,7 +852,6 @@ class SidebarTreeView(QTreeView): SearchNode(note=nt["name"]), SearchNode(field_name=fld["name"]) ), item_type=SidebarItemType.NOTETYPE_FIELD, - name_prefix=f"{nt['name']}::", id=fld["ord"], ) item.add_child(child) From d5f8a6e50c516c41aaa893b905429eddfd3af3d9 Mon Sep 17 00:00:00 2001 From: Henrik Giesel Date: Thu, 1 Jul 2021 00:58:02 +0200 Subject: [PATCH 09/10] Remove multiple icons, new notetype/cardtype icons --- qt/aqt/browser/sidebar/tree.py | 26 +++++++++----------------- qt/aqt/forms/icons/BUILD.bazel | 12 ++++-------- 2 files changed, 13 insertions(+), 25 deletions(-) diff --git a/qt/aqt/browser/sidebar/tree.py b/qt/aqt/browser/sidebar/tree.py index af7154743..6ec8a20cf 100644 --- a/qt/aqt/browser/sidebar/tree.py +++ b/qt/aqt/browser/sidebar/tree.py @@ -522,14 +522,13 @@ class SidebarTreeView(QTreeView): ########################### def _saved_searches_tree(self, root: SidebarItem) -> None: - icon = ":/icons/bookmark-outline.svg" - icon_multiple = ":/icons/bookmark-multiple-outline.svg" + icon = ":/icons/heart-outline.svg" saved = self._get_saved_searches() root = self._section_root( root=root, name=tr.browsing_sidebar_saved_searches(), - icon=icon_multiple, + icon=icon, collapse_key=Config.Bool.COLLAPSE_SAVED_SEARCHES, type=SidebarItemType.SAVED_SEARCH_ROOT, ) @@ -700,7 +699,6 @@ class SidebarTreeView(QTreeView): def _tag_tree(self, root: SidebarItem) -> None: icon = ":/icons/tag-outline.svg" - icon_multiple = ":/icons/tag-multiple-outline.svg" icon_off = ":/icons/tag-off-outline.svg" def render( @@ -715,7 +713,7 @@ class SidebarTreeView(QTreeView): for node in nodes: item = SidebarItem( name=node.name, - icon=icon_multiple if node.children else icon, + icon=icon, search_node=SearchNode(tag=head + node.name), on_expanded=toggle_expand(node), expanded=not node.collapsed, @@ -730,7 +728,7 @@ class SidebarTreeView(QTreeView): root = self._section_root( root=root, name=tr.browsing_sidebar_tags(), - icon=icon_multiple, + icon=icon, collapse_key=Config.Bool.COLLAPSE_TAGS, type=SidebarItemType.TAG_ROOT, ) @@ -749,7 +747,6 @@ class SidebarTreeView(QTreeView): def _deck_tree(self, root: SidebarItem) -> None: icon = ":/icons/book-outline.svg" - icon_multiple = ":/icons/book-multiple-outline.svg" icon_current = ":/icons/book-clock-outline.svg" icon_filtered = ":/icons/book-cog-outline.svg" @@ -769,11 +766,7 @@ class SidebarTreeView(QTreeView): for node in nodes: item = SidebarItem( name=node.name, - icon=icon_filtered - if node.filtered - else icon_multiple - if node.children - else icon, + icon=icon_filtered if node.filtered else icon, search_node=SearchNode(deck=head + node.name), on_expanded=toggle_expand(node), expanded=not node.collapsed, @@ -789,7 +782,7 @@ class SidebarTreeView(QTreeView): root = self._section_root( root=root, name=tr.browsing_sidebar_decks(), - icon=icon_multiple, + icon=icon, collapse_key=Config.Bool.COLLAPSE_DECKS, type=SidebarItemType.DECK_ROOT, ) @@ -808,15 +801,14 @@ class SidebarTreeView(QTreeView): ########################### def _notetype_tree(self, root: SidebarItem) -> None: - notetype_icon = ":/icons/newspaper-variant-outline.svg" - notetype_multiple_icon = ":/icons/newspaper-variant-multiple-outline.svg" - template_icon = ":/icons/card-bulleted-outline.svg" + notetype_icon = ":/icons/newspaper.svg" + template_icon = ":/icons/iframe-braces-outline.svg" field_icon = ":/icons/form-textbox.svg" root = self._section_root( root=root, name=tr.browsing_sidebar_notetypes(), - icon=notetype_multiple_icon, + icon=notetype_icon, collapse_key=Config.Bool.COLLAPSE_NOTETYPES, type=SidebarItemType.NOTETYPE_ROOT, ) diff --git a/qt/aqt/forms/icons/BUILD.bazel b/qt/aqt/forms/icons/BUILD.bazel index f4cca4549..eb2a3e922 100644 --- a/qt/aqt/forms/icons/BUILD.bazel +++ b/qt/aqt/forms/icons/BUILD.bazel @@ -4,8 +4,7 @@ copy_mdi_icons( name = "mdi-icons", icons = [ # saved searches - "bookmark-outline.svg", - "bookmark-multiple-outline.svg", + "heart-outline.svg", # today "clock-outline.svg", @@ -16,21 +15,18 @@ copy_mdi_icons( # decks "book-outline.svg", - "book-multiple-outline.svg", "book-clock-outline.svg", "book-cog-outline.svg", # notetypes - "newspaper-variant-outline.svg", - "newspaper-variant-multiple-outline.svg", - # cards - "card-bulleted-outline.svg", + "newspaper.svg", + # cardtype + "iframe-braces-outline.svg", # fields "form-textbox.svg", # tags "tag-outline.svg", - "tag-multiple-outline.svg", "tag-off-outline.svg", ], ) From 01cc9df2327638941fd3d695f51e778319faa053 Mon Sep 17 00:00:00 2001 From: Henrik Giesel Date: Thu, 1 Jul 2021 01:16:50 +0200 Subject: [PATCH 10/10] Add flag icons from mdi after all - This way, we can also use their modifier versions with little pluses/minuses --- qt/aqt/browser/sidebar/tree.py | 7 ++++--- qt/aqt/forms/icons/BUILD.bazel | 4 ++++ 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/qt/aqt/browser/sidebar/tree.py b/qt/aqt/browser/sidebar/tree.py index 6ec8a20cf..52a7c97ed 100644 --- a/qt/aqt/browser/sidebar/tree.py +++ b/qt/aqt/browser/sidebar/tree.py @@ -666,15 +666,16 @@ class SidebarTreeView(QTreeView): def _flags_tree(self, root: SidebarItem) -> None: icon = ":/icons/flag.svg" + icon_outline = ":/icons/flag-outline.svg" + root = self._section_root( root=root, name=tr.browsing_sidebar_flags(), - icon=icon, + icon=icon_outline, collapse_key=Config.Bool.COLLAPSE_FLAGS, type=SidebarItemType.FLAG_ROOT, ) root.search_node = SearchNode(flag=SearchNode.FLAG_ANY) - colored_icon = ColoredIcon(path=icon, color=colors.DISABLED) for flag in load_flags(self.col): root.add_child( @@ -689,7 +690,7 @@ class SidebarTreeView(QTreeView): root.add_simple( tr.browsing_no_flag(), - icon=colored_icon, + icon=icon_outline, type=SidebarItemType.FLAG, search_node=SearchNode(flag=SearchNode.FLAG_NONE), ) diff --git a/qt/aqt/forms/icons/BUILD.bazel b/qt/aqt/forms/icons/BUILD.bazel index eb2a3e922..db492a4dc 100644 --- a/qt/aqt/forms/icons/BUILD.bazel +++ b/qt/aqt/forms/icons/BUILD.bazel @@ -13,6 +13,10 @@ copy_mdi_icons( "circle.svg", "circle-outline.svg", + # flags + "flag.svg", + "flag-outline.svg", + # decks "book-outline.svg", "book-clock-outline.svg",