Skip to content

Commit bd6df9c

Browse files
authored
Add support for toolbar css modificatons
1 parent 6598d45 commit bd6df9c

File tree

4 files changed

+14
-5
lines changed

4 files changed

+14
-5
lines changed

addon.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,5 +13,5 @@
1313
"anki21"
1414
],
1515
"min_anki_version": "2.1.22",
16-
"tested_anki_version": "2.1.49"
16+
"tested_anki_version": "2.1.54"
1717
}

src/deckbrowser_css/config.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
{
22
"cssPath": "/user_files/deckbrowser_injected.css",
3+
"toolbarCssPath": "/user_files/toolbar_injected.css",
34
"overrideOriginal": false
45
}

src/deckbrowser_css/themer.py

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,39 @@
11
import os
2-
2+
from anki.hooks import wrap
33
from aqt.webview import AnkiWebView
4-
from aqt import gui_hooks, mw
4+
from aqt import gui_hooks, mw, toolbar
55
from typing import Callable
66

77
originalSetHtml: Callable = AnkiWebView.setHtml
88
config = mw.addonManager.getConfig(__name__)
99

10+
useDeckBrowser = True
1011

1112
def enable_deckbrowser_css(*argv):
13+
global useDeckBrowser
14+
useDeckBrowser = True
1215
AnkiWebView.setHtml = setHtml
1316

17+
def enable_toolbar_css(*argv):
18+
global useDeckBrowser
19+
useDeckBrowser = False
20+
AnkiWebView.setHtml = setHtml
1421

1522
def setHtml(self: AnkiWebView, html: str) -> None:
1623
global originalSetHtml
24+
global useDeckBrowser
1725
if config["overrideOriginal"]:
1826
html.replace(self.bundledCSS("css/deckbrowser.css"), "")
1927

2028
addon_dir = os.path.dirname(os.path.abspath(__file__))
2129

22-
with open(addon_dir + config["cssPath"]) as f:
30+
with open(addon_dir + config["cssPath" if useDeckBrowser else "toolbarCssPath"]) as f:
2331
lines = "<style>\n" + f.read() + "\n</style>\n"
2432
idx = html.index("</head>")
2533
html = html[:idx] + lines + html[idx:]
2634

2735
originalSetHtml(self, html)
2836
AnkiWebView.setHtml = originalSetHtml
2937

30-
38+
toolbar.Toolbar.draw = wrap(toolbar.Toolbar.draw, enable_toolbar_css, "before")
3139
gui_hooks.deck_browser_will_render_content.append(enable_deckbrowser_css)

src/deckbrowser_css/user_files/toolbar_injected.css

Whitespace-only changes.

0 commit comments

Comments
 (0)