* src/MergePeople.py: provide more date in compare window, fix event

merging for families. Copy alternate names.
* src/plugins/Merge.py: support for new merge technique
* src/PeopleView.py: divide rebuild_data into two functions
* src/PeopleModel.py: clean up insertion functions
* src/gramps_main.py: remove unused code


svn: r4261
This commit is contained in:
Don Allingham
2005-03-31 04:30:44 +00:00
parent f99d6bd94c
commit 1d6f8fba1d
8 changed files with 171 additions and 47 deletions

View File

@ -165,6 +165,38 @@ class GrampsDbBase:
self.place2title = {}
self.name_groups = {}
self.person_add_callback = {}
self.person_update_callback = {}
self.person_delete_callback = {}
def add_person_callbacks(self, key, add, update, delete):
if add:
self.person_add_callback[key] = add
if update:
self.person_update_callback[key] = update
if delete:
self.person_delete_callback[key] = delete
def remove_person_callbacks(self, key):
if self.person_add_callback.has_key(key):
del self.person_add_callback[key]
if self.person_update_callback.has_key(key):
del self.person_update_callback[key]
if self.person_delete_callback.has_key(key):
del self.person_delete_callback[key]
def run_person_add_callbacks(self,handle):
for func in self.person_add_callback.values():
func(handle)
def run_person_update_callbacks(self,handle):
for func in self.person_update_callback.values():
func(handle)
def run_person_delete_callbacks(self,handle):
for func in self.person_delete_callback.values():
func(handle)
def need_upgrade(self):
return False
@ -240,6 +272,7 @@ class GrampsDbBase:
transaction.add(PERSON_KEY,handle,old_data)
self.person_map[handle] = person.serialize()
self.run_person_update_callbacks(handle)
def commit_media_object(self,obj,transaction,change_time=None):
"""
@ -474,6 +507,7 @@ class GrampsDbBase:
if transaction != None:
transaction.add(PERSON_KEY, val, None)
self.person_map[str(val)] = person.serialize()
self.run_person_add_callbacks(str(val))
self.genderStats.count_person (person, self)
return person
@ -919,8 +953,10 @@ class GrampsDbBase:
if key == PERSON_KEY:
if data == None:
del self.person_map[str(handle)]
self.run_person_delete_callbacks(str(handle))
else:
self.person_map[str(handle)] = data
self.run_person_update_callbacks(str(handle))
elif key == FAMILY_KEY:
if data == None:
del self.family_map[str(handle)]