make sure to deinit guiReset hook in model chooser

This commit is contained in:
Damien Elmes 2009-06-08 23:19:42 +09:00
parent b5fdca39e7
commit bafa267c7c
5 changed files with 8 additions and 0 deletions

View file

@ -175,6 +175,7 @@ question or answer on all cards."""), parent=self)
def reject(self): def reject(self):
if self.onClose(): if self.onClose():
self.modelChooser.deinit()
QDialog.reject(self) QDialog.reject(self)
def onClose(self): def onClose(self):

View file

@ -1254,6 +1254,7 @@ class ChangeModelDialog(QDialog):
def reject(self): def reject(self):
self.parent.deck.currentModel = self.origModel self.parent.deck.currentModel = self.origModel
self.modelChooser.deinit()
return QDialog.reject(self) return QDialog.reject(self)
def accept(self): def accept(self):
@ -1269,6 +1270,7 @@ class ChangeModelDialog(QDialog):
if self.targetModel == self.oldModel: if self.targetModel == self.oldModel:
self.ret = (self.targetModel, None, cmap) self.ret = (self.targetModel, None, cmap)
return QDialog.accept(self) return QDialog.accept(self)
self.modelChooser.deinit()
self.ret = (self.targetModel, fmap, cmap) self.ret = (self.targetModel, fmap, cmap)
return QDialog.accept(self) return QDialog.accept(self)

View file

@ -299,6 +299,7 @@ class DisplayProperties(QDialog):
def reject(self): def reject(self):
ui.dialogs.close("DisplayProperties") ui.dialogs.close("DisplayProperties")
self.modelChooser.deinit()
QDialog.reject(self) QDialog.reject(self)
def onHelp(self): def onHelp(self):

View file

@ -152,6 +152,7 @@ class ImportDialog(QDialog):
# this fixes a strange bug in sqlite # this fixes a strange bug in sqlite
self.parent.deck.s.all("pragma integrity_check") self.parent.deck.s.all("pragma integrity_check")
self.parent.reset() self.parent.reset()
self.modelChooser.deinit()
def setupMappingFrame(self): def setupMappingFrame(self):
# qt seems to have a bug with adding/removing from a grid, so we add # qt seems to have a bug with adding/removing from a grid, so we add

View file

@ -57,6 +57,9 @@ class ModelChooser(QHBoxLayout):
self.drawCardModels() self.drawCardModels()
addHook('guiReset', self.onModelEdited) addHook('guiReset', self.onModelEdited)
def deinit(self):
removeHook('guiReset', self.onModelEdited)
def show(self): def show(self):
for i in range(self.count()): for i in range(self.count()):
self.itemAt(i).widget().show() self.itemAt(i).widget().show()