browser_did_init
This commit is contained in:
parent
f81134830b
commit
047e027e01
@ -596,6 +596,7 @@ class Browser(QMainWindow):
|
|||||||
self.updateFont()
|
self.updateFont()
|
||||||
self.onUndoState(self.mw.form.actionUndo.isEnabled())
|
self.onUndoState(self.mw.form.actionUndo.isEnabled())
|
||||||
self.setupSearch()
|
self.setupSearch()
|
||||||
|
gui_hooks.browser_will_show(self)
|
||||||
self.show()
|
self.show()
|
||||||
|
|
||||||
def setupMenus(self) -> None:
|
def setupMenus(self) -> None:
|
||||||
|
@ -302,6 +302,30 @@ class _BrowserWillBuildTreeFilter:
|
|||||||
browser_will_build_tree = _BrowserWillBuildTreeFilter()
|
browser_will_build_tree = _BrowserWillBuildTreeFilter()
|
||||||
|
|
||||||
|
|
||||||
|
class _BrowserWillShowHook:
|
||||||
|
_hooks: List[Callable[["aqt.browser.Browser"], None]] = []
|
||||||
|
|
||||||
|
def append(self, cb: Callable[["aqt.browser.Browser"], None]) -> None:
|
||||||
|
"""(browser: aqt.browser.Browser)"""
|
||||||
|
self._hooks.append(cb)
|
||||||
|
|
||||||
|
def remove(self, cb: Callable[["aqt.browser.Browser"], None]) -> None:
|
||||||
|
if cb in self._hooks:
|
||||||
|
self._hooks.remove(cb)
|
||||||
|
|
||||||
|
def __call__(self, browser: aqt.browser.Browser) -> None:
|
||||||
|
for hook in self._hooks:
|
||||||
|
try:
|
||||||
|
hook(browser)
|
||||||
|
except:
|
||||||
|
# if the hook fails, remove it
|
||||||
|
self._hooks.remove(hook)
|
||||||
|
raise
|
||||||
|
|
||||||
|
|
||||||
|
browser_will_show = _BrowserWillShowHook()
|
||||||
|
|
||||||
|
|
||||||
class _BrowserWillShowContextMenuHook:
|
class _BrowserWillShowContextMenuHook:
|
||||||
_hooks: List[Callable[["aqt.browser.Browser", QMenu], None]] = []
|
_hooks: List[Callable[["aqt.browser.Browser", QMenu], None]] = []
|
||||||
|
|
||||||
|
@ -147,6 +147,7 @@ hooks = [
|
|||||||
),
|
),
|
||||||
# Browser
|
# Browser
|
||||||
###################
|
###################
|
||||||
|
Hook(name="browser_will_show", args=["browser: aqt.browser.Browser"]),
|
||||||
Hook(
|
Hook(
|
||||||
name="browser_menus_did_init",
|
name="browser_menus_did_init",
|
||||||
args=["browser: aqt.browser.Browser"],
|
args=["browser: aqt.browser.Browser"],
|
||||||
|
Loading…
Reference in New Issue
Block a user