Add a convenience function for creating toolbar links

Similar to aqt.editor.Editor.addButton
This commit is contained in:
Glutanimate 2020-02-15 23:22:41 +01:00
parent 18ae9e612e
commit 621e634bb2

View file

@ -4,6 +4,8 @@
from __future__ import annotations from __future__ import annotations
from typing import Dict
import aqt import aqt
from anki.lang import _ from anki.lang import _
from aqt import gui_hooks from aqt import gui_hooks
@ -27,7 +29,7 @@ class Toolbar:
def __init__(self, mw: aqt.AnkiQt, web: AnkiWebView) -> None: def __init__(self, mw: aqt.AnkiQt, web: AnkiWebView) -> None:
self.mw = mw self.mw = mw
self.web = web self.web = web
self.link_handlers = { self.link_handlers: Dict[str, Callable] = {
"decks": self._deckLinkHandler, "decks": self._deckLinkHandler,
"study": self._studyLinkHandler, "study": self._studyLinkHandler,
"add": self._addLinkHandler, "add": self._addLinkHandler,
@ -46,6 +48,13 @@ class Toolbar:
# Available links # Available links
###################################################################### ######################################################################
def addLink(
self, name: str, cmd: str, func: Callable, tip: str = "",
):
self.link_handlers[cmd] = func
return (cmd, name, tip)
def _centerLinks(self): def _centerLinks(self):
links = [ links = [
("decks", _("Decks"), _("Shortcut key: %s") % "D"), ("decks", _("Decks"), _("Shortcut key: %s") % "D"),