mirror of
https://github.com/ankitects/anki.git
synced 2025-09-22 07:52:24 -04:00
Enable in-place editing of sidebar tags
This commit is contained in:
parent
d0b916a2ff
commit
1b8cebb8c5
1 changed files with 10 additions and 4 deletions
|
@ -877,6 +877,7 @@ class SidebarTreeView(QTreeView):
|
||||||
expanded=node.expanded,
|
expanded=node.expanded,
|
||||||
item_type=SidebarItemType.TAG,
|
item_type=SidebarItemType.TAG,
|
||||||
full_name=head + node.name,
|
full_name=head + node.name,
|
||||||
|
editable=True,
|
||||||
)
|
)
|
||||||
root.add_child(item)
|
root.add_child(item)
|
||||||
newhead = f"{head + node.name}::"
|
newhead = f"{head + node.name}::"
|
||||||
|
@ -1098,13 +1099,16 @@ class SidebarTreeView(QTreeView):
|
||||||
self.browser.model.beginReset()
|
self.browser.model.beginReset()
|
||||||
self.mw.taskman.run_in_background(do_remove, on_done)
|
self.mw.taskman.run_in_background(do_remove, on_done)
|
||||||
|
|
||||||
def rename_tag(self, item: SidebarItem) -> None:
|
def rename_tag(self, item: SidebarItem, new_name: str = None) -> None:
|
||||||
self.browser.editor.saveNow(lambda: self._rename_tag(item))
|
# block repainting until callback
|
||||||
|
self.setUpdatesEnabled(False)
|
||||||
|
self.browser.editor.saveNow(lambda: self._rename_tag(item, new_name))
|
||||||
|
|
||||||
def _rename_tag(self, item: SidebarItem) -> None:
|
def _rename_tag(self, item: SidebarItem, new_name: str = None) -> None:
|
||||||
old_name = item.full_name
|
old_name = item.full_name
|
||||||
new_name = getOnlyText(tr(TR.ACTIONS_NEW_NAME), default=old_name)
|
new_name = new_name or getOnlyText(tr(TR.ACTIONS_NEW_NAME), default=old_name)
|
||||||
if new_name == old_name or not new_name:
|
if new_name == old_name or not new_name:
|
||||||
|
self.setUpdatesEnabled(True)
|
||||||
return
|
return
|
||||||
|
|
||||||
def do_rename() -> int:
|
def do_rename() -> int:
|
||||||
|
@ -1154,6 +1158,8 @@ class SidebarTreeView(QTreeView):
|
||||||
return self.rename_deck(item, new_name)
|
return self.rename_deck(item, new_name)
|
||||||
if item.item_type == SidebarItemType.SAVED_SEARCH:
|
if item.item_type == SidebarItemType.SAVED_SEARCH:
|
||||||
return self.rename_saved_search(item, new_name)
|
return self.rename_saved_search(item, new_name)
|
||||||
|
if item.item_type == SidebarItemType.TAG:
|
||||||
|
self.rename_tag(item, new_name)
|
||||||
return False
|
return False
|
||||||
|
|
||||||
# Saved searches
|
# Saved searches
|
||||||
|
|
Loading…
Reference in a new issue