forked from BlueGreenMagick/Edit-Field-During-Review-Cloze
/
semieditor.py
60 lines (44 loc) · 1.41 KB
/
semieditor.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
from anki.hooks import wrap
from aqt import mw
from aqt.editor import Editor, EditorWebView
from aqt.progress import ProgressManager
from aqt.qt import QCursor, Qt
from aqt.utils import showInfo, tooltip
# necessary in order to use methods defined in Editor and EditorWebView
# without setting up the UI
myprogress = False
class semiEditor(Editor):
def __init__(self):
self.mw = mw
self.parentWindow = "EFDRCsemiedit"
class semiEditorWebView(EditorWebView):
def __init__(self):
self.mw = mw
self.editor = semiEditor()
def mystart(*args, **kwargs):
global myprogress
_old = kwargs.pop("_old")
if "parent" in kwargs:
parent = kwargs["parent"]
elif len(args) > 4:
parent = args[4] # Position of 'parent' parameter.
else:
parent = None
if parent == "EFDRCsemiedit":
# Don't show progress window when pasting images while in review.
myprogress = True
mw.app.setOverrideCursor(QCursor(Qt.WaitCursor))
return
else:
myprogress = False
return _old(*args, **kwargs)
def myfinish(self, _old):
global myprogress
if myprogress:
myprogress = False
self.app.restoreOverrideCursor()
return
else:
return _old(self)
ProgressManager.start = wrap(ProgressManager.start, mystart, "around")
ProgressManager.finish = wrap(ProgressManager.finish, myfinish, "around")