more robust add cards fix

This commit is contained in:
Damien Elmes 2010-11-28 18:03:00 +09:00
parent 0c7988fc01
commit 8074e7b5a8
2 changed files with 5 additions and 9 deletions

View file

@ -512,10 +512,7 @@ class FactEditor(object):
self.fact.setModified(textChanged=True) self.fact.setModified(textChanged=True)
self.loadFields(font=False) self.loadFields(font=False)
if modified and self.resetOnEdit: if modified and self.resetOnEdit:
oldFocus = ankiqt.mw.app.focusWidget() ankiqt.mw.reset(runHooks=False)
ankiqt.mw.reset()
if oldFocus:
oldFocus.setFocus()
def onTextChanged(self): def onTextChanged(self):
interval = 250 interval = 250
@ -981,7 +978,6 @@ class FactEdit(QTextEdit):
def __init__(self, parent, *args): def __init__(self, parent, *args):
QTextEdit.__init__(self, *args) QTextEdit.__init__(self, *args)
self.parent = parent self.parent = parent
self._programLayout = None
if sys.platform.startswith("win32"): if sys.platform.startswith("win32"):
self._ownLayout = None self._ownLayout = None
@ -1086,8 +1082,7 @@ class FactEdit(QTextEdit):
self.parent.lastFocusedEdit = self self.parent.lastFocusedEdit = self
self.parent.resetFormatButtons() self.parent.resetFormatButtons()
self.parent.disableButtons() self.parent.disableButtons()
# for some reason this can be fired before a focus in has fired if sys.platform.startswith("win32"):
if sys.platform.startswith("win32") and self._programLayout:
self._ownLayout = GetKeyboardLayout(0) self._ownLayout = GetKeyboardLayout(0)
ActivateKeyboardLayout(self._programLayout, 0) ActivateKeyboardLayout(self._programLayout, 0)
self.emit(SIGNAL("lostFocus")) self.emit(SIGNAL("lostFocus"))

View file

@ -291,13 +291,14 @@ Please do not file a bug report with Anki.<br>""")
self.views = self.viewsBackup self.views = self.viewsBackup
self.viewsBackup = None self.viewsBackup = None
def reset(self, count=True, priorities=False): def reset(self, count=True, priorities=False, runHooks=True):
if self.deck: if self.deck:
self.deck.refreshSession() self.deck.refreshSession()
if priorities: if priorities:
self.deck.updateAllPriorities() self.deck.updateAllPriorities()
self.deck.reset() self.deck.reset()
runHook("guiReset") if runHooks:
runHook("guiReset")
self.moveToState("initial") self.moveToState("initial")
def moveToState(self, state): def moveToState(self, state):