From af50db9fd36bd73c819db0ca99cf9c783ca7ab96 Mon Sep 17 00:00:00 2001 From: RumovZ Date: Fri, 28 May 2021 17:46:46 +0200 Subject: [PATCH 1/3] Fix restoring current sidebar element for cards --- qt/aqt/browser/sidebar/item.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/qt/aqt/browser/sidebar/item.py b/qt/aqt/browser/sidebar/item.py index d38e8a7c4..41e7fe7a0 100644 --- a/qt/aqt/browser/sidebar/item.py +++ b/qt/aqt/browser/sidebar/item.py @@ -140,6 +140,11 @@ class SidebarItem: return self.full_name == other.full_name elif self.item_type == SidebarItemType.SAVED_SEARCH: return self.name == other.name + elif self.item_type == SidebarItemType.NOTETYPE_TEMPLATE: + return ( + other.id == self.id + and other._parent_item.id == self._parent_item.id + ) else: return other.id == self.id From 2597038fe50f034e8a2181a1ff9f3da1817d5776 Mon Sep 17 00:00:00 2001 From: RumovZ Date: Fri, 28 May 2021 18:09:44 +0200 Subject: [PATCH 2/3] Prevent sidebar toolbar from folding If there is little space, Qt replaces some tools of the toolbar with an expandable menu indicated by an arrow. But this arrow is invisible in night mode. --- qt/aqt/browser/sidebar/toolbar.py | 1 + 1 file changed, 1 insertion(+) diff --git a/qt/aqt/browser/sidebar/toolbar.py b/qt/aqt/browser/sidebar/toolbar.py index 441ef7f07..92a282fd3 100644 --- a/qt/aqt/browser/sidebar/toolbar.py +++ b/qt/aqt/browser/sidebar/toolbar.py @@ -30,6 +30,7 @@ class SidebarToolbar(QToolBar): qconnect(self._action_group.triggered, self._on_action_group_triggered) self._setup_tools() self.setIconSize(QSize(16, 16)) + self.setSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed) self.setStyle(QStyleFactory.create("fusion")) def _setup_tools(self) -> None: From 24b4f15038fd3f26e31dfe98313e1787666a5cc2 Mon Sep 17 00:00:00 2001 From: RumovZ Date: Fri, 28 May 2021 19:18:21 +0200 Subject: [PATCH 3/3] Fix renaming of unused tag Unused tags can't be renamed, but since the CollectionOp returns success in any case, the provisionally renamed sidebar item needs to be reset. --- qt/aqt/browser/sidebar/tree.py | 42 ++++++++++++++++++++++++++-------- 1 file changed, 32 insertions(+), 10 deletions(-) diff --git a/qt/aqt/browser/sidebar/tree.py b/qt/aqt/browser/sidebar/tree.py index 6fc5636ff..7927653b2 100644 --- a/qt/aqt/browser/sidebar/tree.py +++ b/qt/aqt/browser/sidebar/tree.py @@ -6,7 +6,13 @@ from enum import Enum, auto from typing import Dict, Iterable, List, Optional, Tuple, cast import aqt -from anki.collection import Config, OpChanges, SearchJoiner, SearchNode +from anki.collection import ( + Config, + OpChanges, + OpChangesWithCount, + SearchJoiner, + SearchNode, +) from anki.decks import Deck, DeckCollapseScope, DeckId, DeckTreeNode from anki.models import NotetypeId from anki.notes import Note @@ -36,7 +42,15 @@ from aqt.operations.tag import ( ) from aqt.qt import * from aqt.theme import ColoredIcon, theme_manager -from aqt.utils import KeyboardModifiersPressed, askUser, getOnlyText, showWarning, tr +from aqt.utils import ( + KeyboardModifiersPressed, + askUser, + getOnlyText, + showInfo, + showWarning, + tooltip, + tr, +) class SidebarStage(Enum): @@ -922,19 +936,27 @@ class SidebarTreeView(QTreeView): if not new_name or new_name == item.name: return - new_name_base = new_name + old_name = item.name + old_full_name = item.full_name + new_full_name = item.name_prefix + new_name - old_name = item.full_name - new_name = item.name_prefix + new_name + item.name = new_name + item.full_name = new_full_name - item.name = new_name_base - item.full_name = new_name + def success(out: OpChangesWithCount) -> None: + if out.count: + tooltip(tr.browsing_notes_updated(count=out.count), parent=self) + else: + # revert renaming of sidebar item + item.full_name = old_full_name + item.name = old_name + showInfo(tr.browsing_tag_rename_warning_empty(), parent=self) rename_tag( parent=self.browser, - current_name=old_name, - new_name=new_name, - ).run_in_background() + current_name=old_full_name, + new_name=new_full_name, + ).success(success).run_in_background() # Saved searches ####################################