|
1 | 1 | import os |
2 | | - |
| 2 | +from anki.hooks import wrap |
3 | 3 | from aqt.webview import AnkiWebView |
4 | | -from aqt import gui_hooks, mw |
| 4 | +from aqt import gui_hooks, mw, toolbar |
5 | 5 | from typing import Callable |
6 | 6 |
|
7 | 7 | originalSetHtml: Callable = AnkiWebView.setHtml |
8 | 8 | config = mw.addonManager.getConfig(__name__) |
9 | 9 |
|
| 10 | +useDeckBrowser = True |
10 | 11 |
|
11 | 12 | def enable_deckbrowser_css(*argv): |
| 13 | + global useDeckBrowser |
| 14 | + useDeckBrowser = True |
12 | 15 | AnkiWebView.setHtml = setHtml |
13 | 16 |
|
| 17 | +def enable_toolbar_css(*argv): |
| 18 | + global useDeckBrowser |
| 19 | + useDeckBrowser = False |
| 20 | + AnkiWebView.setHtml = setHtml |
14 | 21 |
|
15 | 22 | def setHtml(self: AnkiWebView, html: str) -> None: |
16 | 23 | global originalSetHtml |
| 24 | + global useDeckBrowser |
17 | 25 | if config["overrideOriginal"]: |
18 | 26 | html.replace(self.bundledCSS("css/deckbrowser.css"), "") |
19 | 27 |
|
20 | 28 | addon_dir = os.path.dirname(os.path.abspath(__file__)) |
21 | 29 |
|
22 | | - with open(addon_dir + config["cssPath"]) as f: |
| 30 | + with open(addon_dir + config["cssPath" if useDeckBrowser else "toolbarCssPath"]) as f: |
23 | 31 | lines = "<style>\n" + f.read() + "\n</style>\n" |
24 | 32 | idx = html.index("</head>") |
25 | 33 | html = html[:idx] + lines + html[idx:] |
26 | 34 |
|
27 | 35 | originalSetHtml(self, html) |
28 | 36 | AnkiWebView.setHtml = originalSetHtml |
29 | 37 |
|
30 | | - |
| 38 | +toolbar.Toolbar.draw = wrap(toolbar.Toolbar.draw, enable_toolbar_css, "before") |
31 | 39 | gui_hooks.deck_browser_will_render_content.append(enable_deckbrowser_css) |
0 commit comments