mirror of
https://github.com/ankitects/anki.git
synced 2025-09-18 22:12:21 -04:00
Merge pull request #1206 from RumovZ/fix-sidebar
Fix some sidebar issues
This commit is contained in:
commit
a894c720de
3 changed files with 38 additions and 10 deletions
|
@ -140,6 +140,11 @@ class SidebarItem:
|
||||||
return self.full_name == other.full_name
|
return self.full_name == other.full_name
|
||||||
elif self.item_type == SidebarItemType.SAVED_SEARCH:
|
elif self.item_type == SidebarItemType.SAVED_SEARCH:
|
||||||
return self.name == other.name
|
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:
|
else:
|
||||||
return other.id == self.id
|
return other.id == self.id
|
||||||
|
|
||||||
|
|
|
@ -30,6 +30,7 @@ class SidebarToolbar(QToolBar):
|
||||||
qconnect(self._action_group.triggered, self._on_action_group_triggered)
|
qconnect(self._action_group.triggered, self._on_action_group_triggered)
|
||||||
self._setup_tools()
|
self._setup_tools()
|
||||||
self.setIconSize(QSize(16, 16))
|
self.setIconSize(QSize(16, 16))
|
||||||
|
self.setSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed)
|
||||||
self.setStyle(QStyleFactory.create("fusion"))
|
self.setStyle(QStyleFactory.create("fusion"))
|
||||||
|
|
||||||
def _setup_tools(self) -> None:
|
def _setup_tools(self) -> None:
|
||||||
|
|
|
@ -6,7 +6,13 @@ from enum import Enum, auto
|
||||||
from typing import Dict, Iterable, List, Optional, Tuple, cast
|
from typing import Dict, Iterable, List, Optional, Tuple, cast
|
||||||
|
|
||||||
import aqt
|
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.decks import Deck, DeckCollapseScope, DeckId, DeckTreeNode
|
||||||
from anki.models import NotetypeId
|
from anki.models import NotetypeId
|
||||||
from anki.notes import Note
|
from anki.notes import Note
|
||||||
|
@ -36,7 +42,15 @@ from aqt.operations.tag import (
|
||||||
)
|
)
|
||||||
from aqt.qt import *
|
from aqt.qt import *
|
||||||
from aqt.theme import ColoredIcon, theme_manager
|
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):
|
class SidebarStage(Enum):
|
||||||
|
@ -922,19 +936,27 @@ class SidebarTreeView(QTreeView):
|
||||||
if not new_name or new_name == item.name:
|
if not new_name or new_name == item.name:
|
||||||
return
|
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
|
item.name = new_name
|
||||||
new_name = item.name_prefix + new_name
|
item.full_name = new_full_name
|
||||||
|
|
||||||
item.name = new_name_base
|
def success(out: OpChangesWithCount) -> None:
|
||||||
item.full_name = new_name
|
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(
|
rename_tag(
|
||||||
parent=self.browser,
|
parent=self.browser,
|
||||||
current_name=old_name,
|
current_name=old_full_name,
|
||||||
new_name=new_name,
|
new_name=new_full_name,
|
||||||
).run_in_background()
|
).success(success).run_in_background()
|
||||||
|
|
||||||
# Saved searches
|
# Saved searches
|
||||||
####################################
|
####################################
|
||||||
|
|
Loading…
Reference in a new issue