Skip to content

Instantly share code, notes, and snippets.

@eros18123
Last active February 12, 2026 14:33
Show Gist options
  • Select an option

  • Save eros18123/6f52d5afb6a8b8861c3e889d749d28f9 to your computer and use it in GitHub Desktop.

Select an option

Save eros18123/6f52d5afb6a8b8861c3e889d749d28f9 to your computer and use it in GitHub Desktop.
etiquetas ordenadas a-z no painel
from aqt import mw
from anki.hooks import wrap
from aqt.browser import SidebarItem, SidebarItemType
from aqt.gui_hooks import browser_sidebar_will_show_context_menu
def get_sort_reverse():
if not mw.col:
return False
return mw.col.conf.get('tag_sort_reverse', False)
def save_sort_reverse(rev):
mw.col.conf['tag_sort_reverse'] = rev
mw.col.setMod()
def sorted_add_child(self, child):
if self.item_type in (SidebarItemType.TAG_ROOT, SidebarItemType.TAG):
rev = get_sort_reverse()
self.children.sort(key=lambda x: x.name.lower(), reverse=rev)
SidebarItem.add_child = wrap(SidebarItem.add_child, sorted_add_child, "after")
def on_context_menu(sidebar, menu, item, index):
if item.item_type not in (SidebarItemType.TAG, SidebarItemType.TAG_ROOT):
return
menu.addSeparator()
rev = get_sort_reverse()
def update_order(val):
save_sort_reverse(val)
sidebar.refresh()
az_label = "Ordenar Etiquetas: A - Z" + (" (Ativo)" if not rev else "")
az = menu.addAction(az_label)
az.triggered.connect(lambda: update_order(False))
za_label = "Ordenar Etiquetas: Z - A" + (" (Ativo)" if rev else "")
za = menu.addAction(za_label)
za.triggered.connect(lambda: update_order(True))
browser_sidebar_will_show_context_menu.append(on_context_menu)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment