* src/DisplayTabs.py: use idle_loop to load data for source

backreferences
* src/EditSource.py: close the BackReferences tab to turn off the
idle loop if still active
* src/GrampsDb/_GrampsBSDDB.py: close secondary indexes before primary


svn: r5829
This commit is contained in:
Don Allingham
2006-01-25 17:59:22 +00:00
parent 086b1f5e17
commit 3f1c047124
4 changed files with 35 additions and 10 deletions

View File

@@ -255,6 +255,9 @@ class SourceBackRefList(EmbeddedList):
EmbeddedList.__init__(self, dbstate, uistate, track,
_('References'), SourceBackRefModel)
def close(self):
self.model.close()
def set_label(self):
self.tab_image.show()
self.label.set_text("<b>%s</b>" % self.tab_name)
@@ -685,7 +688,15 @@ class SourceBackRefModel(gtk.ListStore):
def __init__(self,sref_list,db):
gtk.ListStore.__init__(self,str,str,str,str)
self.db = db
for ref in sref_list:
self.sref_list = sref_list
self.idle = 0
self.idle = gobject.idle_add(self.load_model().next)
def close(self):
gobject.source_remove(self.idle)
def load_model(self):
for ref in self.sref_list:
dtype = ref[0]
if dtype == 'Person':
p = self.db.get_person_from_handle(ref[1])
@@ -722,7 +733,9 @@ class SourceBackRefModel(gtk.ListStore):
handle = p.handle
self.append(row=[dtype,gid,name,handle])
yield True
yield False
#-------------------------------------------------------------------------
#
# FamilyAttrModel