From e81cfc616f005ab4466f3812f53e469032adc2da Mon Sep 17 00:00:00 2001 From: Damien Elmes Date: Sun, 8 Apr 2012 19:41:30 +0900 Subject: [PATCH] focus lost hook needs to be a filter --- aqt/editor.py | 15 ++++++++++++--- aqt/modelchooser.py | 1 - 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/aqt/editor.py b/aqt/editor.py index 34e8c5c42..22f53506c 100644 --- a/aqt/editor.py +++ b/aqt/editor.py @@ -6,7 +6,7 @@ from aqt.qt import * import re, os, sys, urllib2, ctypes, simplejson, traceback from anki.utils import stripHTML, isWin, isMac, namedtmp from anki.sound import play -from anki.hooks import runHook +from anki.hooks import runHook, runFilter from aqt.sound import getAudio from aqt.webview import AnkiWebView from aqt.utils import shortcut, showInfo, showWarning, getBase, getFile, \ @@ -399,10 +399,19 @@ class Editor(object): if type == "blur": if not self._keepButtons: self.disableButtons() - runHook("editFocusLost", self.note) + # run any filters + if runFilter( + "editFocusLost", False, self.note, self.currentField): + # something updated the note; schedule reload + def onUpdate(): + self.loadNote() + self.checkValid() + self.mw.progress.timer(100, onUpdate, False) + else: + self.checkValid() else: runHook("editTimer", self.note) - self.checkValid() + self.checkValid() # focused into field? elif str.startswith("focus"): (type, num) = str.split(":", 1) diff --git a/aqt/modelchooser.py b/aqt/modelchooser.py index 327b48f77..3075e2aeb 100644 --- a/aqt/modelchooser.py +++ b/aqt/modelchooser.py @@ -86,6 +86,5 @@ class ModelChooser(QHBoxLayout): self.models.addItems([m['name'] for m in self._models]) for c, m in enumerate(self._models): if m['id'] == self.deck.conf['curModel']: - print "current", c self.models.setCurrentIndex(c) break