delayed eval no longer seems necessary

This commit is contained in:
Damien Elmes 2012-05-14 03:29:38 +09:00
parent ae33ed2623
commit f8c7f130a6

View file

@ -723,22 +723,22 @@ class Editor(object):
###################################################################### ######################################################################
def toggleBold(self, bool): def toggleBold(self, bool):
self._eval("setFormat('bold');") self.web.eval("setFormat('bold');")
def toggleItalic(self, bool): def toggleItalic(self, bool):
self._eval("setFormat('italic');") self.web.eval("setFormat('italic');")
def toggleUnderline(self, bool): def toggleUnderline(self, bool):
self._eval("setFormat('underline');") self.web.eval("setFormat('underline');")
def toggleSuper(self, bool): def toggleSuper(self, bool):
self._eval("setFormat('superscript');") self.web.eval("setFormat('superscript');")
def toggleSub(self, bool): def toggleSub(self, bool):
self._eval("setFormat('subscript');") self.web.eval("setFormat('subscript');")
def removeFormat(self): def removeFormat(self):
self._eval("setFormat('removeFormat');") self.web.eval("setFormat('removeFormat');")
def onCloze(self): def onCloze(self):
# check that the model is set up for cloze deletion # check that the model is set up for cloze deletion
@ -756,13 +756,7 @@ class Editor(object):
highest += 1 highest += 1
# must start at 1 # must start at 1
highest = max(1, highest) highest = max(1, highest)
self._eval("wrap('{{c%d::', '}}');" % highest) self.web.eval("wrap('{{c%d::', '}}');" % highest)
def _eval(self, str):
# some versions of webkit crash if we try a dom-modifying operation
# before outstanding UI events have been processed
self.mw.app.processEvents()
self.mw.progress.timer(100, lambda: self.web.eval(str), False)
# Foreground colour # Foreground colour
###################################################################### ######################################################################
@ -800,7 +794,7 @@ class Editor(object):
self.mw.pm.profile['lastColour'] = self.fcolour self.mw.pm.profile['lastColour'] = self.fcolour
def _wrapWithColour(self, colour): def _wrapWithColour(self, colour):
self._eval("setFormat('forecolor', '%s')" % colour) self.web.eval("setFormat('forecolor', '%s')" % colour)
# Audio/video/images # Audio/video/images
###################################################################### ######################################################################
@ -816,7 +810,7 @@ class Editor(object):
def addMedia(self, path, canDelete=False): def addMedia(self, path, canDelete=False):
html = self._addMedia(path, canDelete) html = self._addMedia(path, canDelete)
self._eval("setFormat('inserthtml', %s);" % json.dumps(html)) self.web.eval("setFormat('inserthtml', %s);" % json.dumps(html))
def _addMedia(self, path, canDelete=False): def _addMedia(self, path, canDelete=False):
"Add to media folder and return basename." "Add to media folder and return basename."
@ -870,13 +864,13 @@ class Editor(object):
###################################################################### ######################################################################
def insertLatex(self): def insertLatex(self):
self._eval("wrap('[latex]', '[/latex]');") self.web.eval("wrap('[latex]', '[/latex]');")
def insertLatexEqn(self): def insertLatexEqn(self):
self._eval("wrap('[$]', '[/$]');") self.web.eval("wrap('[$]', '[/$]');")
def insertLatexMathEnv(self): def insertLatexMathEnv(self):
self._eval("wrap('[$$]', '[/$$]');") self.web.eval("wrap('[$$]', '[/$$]');")
# Keyboard layout # Keyboard layout
###################################################################### ######################################################################