delay update of scroll widget, if change timer fires while deleting, delay

This commit is contained in:
Damien Elmes 2009-04-17 23:19:05 +09:00
parent ba9279c126
commit b15bc9ef61

View file

@ -396,6 +396,14 @@ class FactEditor(object):
# update fields # update fields
self.loadFields(check) self.loadFields(check)
self.parent.setUpdatesEnabled(True) self.parent.setUpdatesEnabled(True)
# update with timer so we don't delete old one in event handler
self.scrollUpdateTimer = QTimer(self.parent)
self.scrollUpdateTimer.setSingleShot(True)
self.parent.connect(self.scrollUpdateTimer,
SIGNAL("timeout()"), self.onScrollUpdate)
self.scrollUpdateTimer.start(0)
def onScrollUpdate(self):
self.fieldsScroll.setWidget(self.fieldsFrame) self.fieldsScroll.setWidget(self.fieldsFrame)
def needToRedraw(self): def needToRedraw(self):
@ -481,8 +489,13 @@ class FactEditor(object):
self.onChangeTimer) self.onChangeTimer)
def onChangeTimer(self): def onChangeTimer(self):
from ankiqt import mw
interval = 250
if not self.fact: if not self.fact:
return return
if mw.inDbHandler:
self.changeTimer.start(interval)
return
self.saveFields() self.saveFields()
self.checkValid() self.checkValid()
if self.onChange: if self.onChange: