* src/gramps_main.py: handle update_after edit properly, so that

name changes will put entry in the correct category
* src/PeopleView.py: cleanup
* src/PeopleStore.py: delete stale iter from dictionary when no
longer used.


svn: r2387
This commit is contained in:
Don Allingham 2003-11-26 16:42:54 +00:00
parent 4536d98e94
commit ea8be3cc34
3 changed files with 13 additions and 10 deletions

View File

@ -199,7 +199,11 @@ class PeopleStore:
iter_parent = self.model.iter_parent (iter)
self.model.remove(iter)
if iter_parent and not self.model.iter_has_child (iter_parent):
name = self.model.get_value(iter_parent,0)
self.model.remove (iter_parent)
del self.tree_roots[name]
del self.tree_open[name]
del self.tree_list[name]
self.count = self.count - 1
def get_row(self,iter):

View File

@ -207,10 +207,10 @@ class PeopleView:
self.id2col[key] = (model,iter)
if change:
self.parent.change_active_person(person)
self.goto_active_person()
model.enable_sort()
if change:
self.parent.change_active_person(person)
self.goto_active_person()
model.enable_sort()
def goto_active_person(self,first=0):
if not self.parent.active_person:
@ -408,8 +408,7 @@ class PeopleView:
(model,iter) = self.id2col[key]
val = self.parent.db.getPersonDisplay(person.getId())
pg = unicode(val[5])
pg = pg[0]
pg = unicode(val[5])[0]
if self.DataFilter.compare(person):
col = 0
for object in val[:-1]:

View File

@ -1585,16 +1585,16 @@ class Gramps:
def update_after_edit(self,epo,plist):
if epo:
self.db.buildPersonDisplay(epo.person.getId(),epo.original_id)
self.people_view.update_person_list(epo.person,epo.original_id)
self.people_view.remove_from_person_list(epo.person,epo.original_id)
self.people_view.redisplay_person_list(epo.person)
for p in plist:
self.place_view.new_place_after_edit(p)
self.update_display(0)
def update_after_merge(self,person,old_id):
if person:
self.people_view.remove_from_person_list(person,old_id)
self.people_view.redisplay_person_list(person)
self.people_view.remove_from_person_list(epo.person.getId(),old_id)
self.people_view.redisplay_person_list(epo.person)
self.update_display(0)
def load_person(self,person):