Skip to content

Commit a86c70d

Browse files
authored
Merge pull request #36 from AnKing-VIP/closet
Integrate Closet for image occlusion
2 parents a1c3e9c + 173501f commit a86c70d

File tree

134 files changed

+11905
-323
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

134 files changed

+11905
-323
lines changed

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,3 +19,6 @@ __pycache__/
1919
*.code-workspace
2020

2121
**/.history
22+
23+
node_modules
24+
yarn-error.log

src/anking_notetypes/__init__.py

Lines changed: 3 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -7,20 +7,16 @@
77

88
from anki.utils import ids2str
99
from aqt import mw
10-
from aqt.qt import QUrl
1110
from aqt.browser import Browser
12-
from aqt.editor import EditorWebView
1311
from aqt.gui_hooks import (
1412
browser_will_show_context_menu,
1513
card_layout_will_show,
1614
profile_did_open,
17-
editor_will_show_context_menu,
1815
)
19-
from aqt.qt import QMenu, QPushButton, qtmajor, QAction, qconnect
16+
from aqt.qt import QMenu, QPushButton
2017
from aqt.utils import askUserDialog, tooltip
2118

22-
from bs4 import BeautifulSoup
23-
19+
from . import editor
2420
from .compat import add_compat_aliases
2521
from .gui.config_window import (
2622
NotetypesConfigWindow,
@@ -51,7 +47,7 @@ def setup():
5147

5248
browser_will_show_context_menu.append(on_browser_will_show_context_menu)
5349

54-
editor_will_show_context_menu.append(on_editor_will_show_context_menu)
50+
editor.init()
5551

5652

5753
def on_profile_did_open():
@@ -201,40 +197,5 @@ def on_browser_will_show_context_menu(browser: Browser, context_menu: QMenu) ->
201197
action.setDisabled(True)
202198

203199

204-
def on_editor_will_show_context_menu(webview: EditorWebView, menu: QMenu) -> None:
205-
def on_blur_image() -> None:
206-
editor = webview.editor
207-
url = data.mediaUrl()
208-
if url.matches(QUrl(mw.serverURL()), QUrl.UrlFormattingOption.RemovePath):
209-
src = url.path().strip("/")
210-
else:
211-
src = url.toString()
212-
field = editor.note.fields[editor.currentField]
213-
soup = BeautifulSoup(field, "html.parser")
214-
for img in soup("img"):
215-
if img.get("src", "").strip("/") != src:
216-
continue
217-
classes = img.get("class", [])
218-
if "blur" in classes:
219-
classes.remove("blur")
220-
else:
221-
classes.append("blur")
222-
if classes:
223-
img["class"] = classes
224-
elif "class" in img.attrs:
225-
del img["class"]
226-
editor.note.fields[editor.currentField] = soup.decode_contents()
227-
editor.loadNoteKeepingFocus()
228-
229-
if qtmajor >= 6:
230-
data = webview.lastContextMenuRequest() # type: ignore
231-
else:
232-
data = webview.page().contextMenuData()
233-
if data.mediaUrl().isValid():
234-
blur_image_action = QAction("AnKing Notetypes: Blur/Unblur Image", menu)
235-
qconnect(blur_image_action.triggered, on_blur_image)
236-
menu.addAction(blur_image_action)
237-
238-
239200
if mw is not None:
240201
setup()

0 commit comments

Comments
 (0)