* src/EditPerson.py: hide window while closing updating info
* src/FamilyView.py: Fix deleting of spouses and children * src/GrampsDbBase.py: add remove_family, clear default person if the person is deleted * src/PeopleView.py: text clean up * src/gramps_main.py: disable buttons while deleting a person svn: r3776
This commit is contained in:
parent
83a24a918e
commit
bc5f2e3094
@ -1,3 +1,11 @@
|
|||||||
|
2004-12-02 Don Allingham <dallingham@users.sourceforge.net>
|
||||||
|
* src/EditPerson.py: hide window while closing updating info
|
||||||
|
* src/FamilyView.py: Fix deleting of spouses and children
|
||||||
|
* src/GrampsDbBase.py: add remove_family, clear default person
|
||||||
|
if the person is deleted
|
||||||
|
* src/PeopleView.py: text clean up
|
||||||
|
* src/gramps_main.py: disable buttons while deleting a person
|
||||||
|
|
||||||
2004-12-01 Alex Roitman <shura@alex.neuro.umn.edu>
|
2004-12-01 Alex Roitman <shura@alex.neuro.umn.edu>
|
||||||
* src/Report.py (on_center_person_change_clicked): Typo.
|
* src/Report.py (on_center_person_change_clicked): Typo.
|
||||||
|
|
||||||
|
@ -1535,6 +1535,7 @@ class EditPerson:
|
|||||||
|
|
||||||
def on_apply_person_clicked(self,obj):
|
def on_apply_person_clicked(self,obj):
|
||||||
|
|
||||||
|
self.window.hide()
|
||||||
trans = self.db.transaction_begin()
|
trans = self.db.transaction_begin()
|
||||||
|
|
||||||
surname = unicode(self.surname.get_text())
|
surname = unicode(self.surname.get_text())
|
||||||
|
@ -778,7 +778,7 @@ class FamilyView:
|
|||||||
DisplayTrace.DisplayTrace()
|
DisplayTrace.DisplayTrace()
|
||||||
|
|
||||||
def remove_child_clicked(self,obj):
|
def remove_child_clicked(self,obj):
|
||||||
if not self.family or not self.person:
|
if self.family == None or self.person == None:
|
||||||
return
|
return
|
||||||
|
|
||||||
model, node = self.child_selection.get_selected()
|
model, node = self.child_selection.get_selected()
|
||||||
@ -800,7 +800,8 @@ class FamilyView:
|
|||||||
self.delete_family_from(self.family.get_father_handle())
|
self.delete_family_from(self.family.get_father_handle())
|
||||||
|
|
||||||
self.parent.db.commit_person(child,trans)
|
self.parent.db.commit_person(child,trans)
|
||||||
self.parent.db.commit_family(self.family,trans)
|
if self.family:
|
||||||
|
self.parent.db.commit_family(self.family,trans)
|
||||||
n = child.get_primary_name().get_regular_name()
|
n = child.get_primary_name().get_regular_name()
|
||||||
self.parent.db.transaction_commit(trans,_("Remove Child (%s)") % n)
|
self.parent.db.transaction_commit(trans,_("Remove Child (%s)") % n)
|
||||||
|
|
||||||
@ -838,9 +839,17 @@ class FamilyView:
|
|||||||
self.parent.db.commit_family(self.family,trans)
|
self.parent.db.commit_family(self.family,trans)
|
||||||
|
|
||||||
if len(self.family.get_child_handle_list()) == 0:
|
if len(self.family.get_child_handle_list()) == 0:
|
||||||
self.person.remove_family_handle(self.family.get_handle())
|
mother_id = self.family.get_mother_handle()
|
||||||
self.parent.db.commit_person(self.person,trans)
|
father_id = self.family.get_father_handle()
|
||||||
self.parent.db.delete_family(self.family.get_handle(),trans)
|
|
||||||
|
for id in [father_id, mother_id]:
|
||||||
|
if id:
|
||||||
|
print p.get_family_handle_list()
|
||||||
|
p = self.db.find_person_from_handle(id)
|
||||||
|
p.remove_family_handle(self.family.get_handle())
|
||||||
|
self.parent.db.commit_person(p,trans)
|
||||||
|
print p.get_family_handle_list()
|
||||||
|
|
||||||
if len(self.person.get_family_handle_list()) > 0:
|
if len(self.person.get_family_handle_list()) > 0:
|
||||||
handle = self.person.get_family_handle_list()[0]
|
handle = self.person.get_family_handle_list()[0]
|
||||||
family = self.parent.db.find_family_from_handle(handle,trans)
|
family = self.parent.db.find_family_from_handle(handle,trans)
|
||||||
@ -849,6 +858,9 @@ class FamilyView:
|
|||||||
self.load_family(self.family)
|
self.load_family(self.family)
|
||||||
else:
|
else:
|
||||||
self.load_family(self.family)
|
self.load_family(self.family)
|
||||||
|
|
||||||
|
person_id = self.person.get_handle()
|
||||||
|
self.person = self.parent.db.get_person_from_handle(person_id)
|
||||||
n = self.person.get_primary_name().get_regular_name()
|
n = self.person.get_primary_name().get_regular_name()
|
||||||
self.parent.db.transaction_commit(trans,_("Remove Spouse (%s)") % n)
|
self.parent.db.transaction_commit(trans,_("Remove Spouse (%s)") % n)
|
||||||
|
|
||||||
@ -950,9 +962,11 @@ class FamilyView:
|
|||||||
|
|
||||||
flist = {}
|
flist = {}
|
||||||
|
|
||||||
|
print splist
|
||||||
for f in splist:
|
for f in splist:
|
||||||
fm = self.parent.db.get_family_from_handle(f)
|
fm = self.parent.db.get_family_from_handle(f)
|
||||||
|
if not fm:
|
||||||
|
continue
|
||||||
if fm.get_father_handle() == self.person.get_handle():
|
if fm.get_father_handle() == self.person.get_handle():
|
||||||
sp_id = fm.get_mother_handle()
|
sp_id = fm.get_mother_handle()
|
||||||
else:
|
else:
|
||||||
@ -1035,13 +1049,14 @@ class FamilyView:
|
|||||||
else:
|
else:
|
||||||
return _("%s: unknown") % (l)
|
return _("%s: unknown") % (l)
|
||||||
|
|
||||||
def delete_family_from(self,person):
|
def delete_family_from(self,person_handle):
|
||||||
trans = self.parent.db.transaction_begin()
|
trans = self.parent.db.transaction_begin()
|
||||||
person.remove_family_handle(self.family.get_handle(),trans)
|
person = self.parent.db.get_person_from_handle(person_handle)
|
||||||
self.parent.db.delete_family(self.family.get_handle(),trans)
|
person.remove_family_handle(self.family.get_handle())
|
||||||
|
self.parent.db.remove_family(self.family.get_handle(),trans)
|
||||||
flist = self.person.get_family_handle_list()
|
flist = self.person.get_family_handle_list()
|
||||||
if len(flist) > 0:
|
if len(flist) > 0:
|
||||||
self.family = flist[0]
|
self.family = self.parent.db.get_family_from_handle(flist[0])
|
||||||
else:
|
else:
|
||||||
self.family = None
|
self.family = None
|
||||||
n = person.get_primary_name().get_name()
|
n = person.get_primary_name().get_name()
|
||||||
@ -1316,12 +1331,12 @@ class FamilyView:
|
|||||||
mother = self.parent.db.find_person_from_handle(mother_handle)
|
mother = self.parent.db.find_person_from_handle(mother_handle)
|
||||||
mother.remove_family_handle(fam)
|
mother.remove_family_handle(fam)
|
||||||
self.parent.db.commit_person(mother,trans)
|
self.parent.db.commit_person(mother,trans)
|
||||||
self.parent.db.delete_family(fam,trans)
|
self.parent.db.remove_family(fam,trans)
|
||||||
elif mother_handle == None and father_handle:
|
elif mother_handle == None and father_handle:
|
||||||
father = self.parent.db.find_person_from_handle(father_handle)
|
father = self.parent.db.find_person_from_handle(father_handle)
|
||||||
father.remove_family_handle(fam,trans)
|
father.remove_family_handle(fam,trans)
|
||||||
self.parent.db.commit_person(father,trans)
|
self.parent.db.commit_person(father,trans)
|
||||||
self.parent.db.delete_family(fam,trans)
|
self.parent.db.remove_family(fam,trans)
|
||||||
|
|
||||||
self.parent.db.commit_person(person,trans)
|
self.parent.db.commit_person(person,trans)
|
||||||
n = person.get_primary_name().get_regular_name()
|
n = person.get_primary_name().get_regular_name()
|
||||||
|
@ -893,9 +893,13 @@ class GrampsDbBase:
|
|||||||
if self.metadata and self.metadata.has_key('default'):
|
if self.metadata and self.metadata.has_key('default'):
|
||||||
person = Person()
|
person = Person()
|
||||||
handle = self.metadata['default']
|
handle = self.metadata['default']
|
||||||
data = self.person_map.get(str(handle))
|
data = self.person_map.get(str(handle),None)
|
||||||
person.unserialize(data)
|
if data:
|
||||||
return person
|
person.unserialize(data)
|
||||||
|
return person
|
||||||
|
else:
|
||||||
|
self.metadata['default'] = None
|
||||||
|
return None
|
||||||
return None
|
return None
|
||||||
|
|
||||||
def get_save_path(self):
|
def get_save_path(self):
|
||||||
@ -976,6 +980,14 @@ class GrampsDbBase:
|
|||||||
"""
|
"""
|
||||||
assert False, "Needs to be overridden in the derived class"
|
assert False, "Needs to be overridden in the derived class"
|
||||||
|
|
||||||
|
def remove_family(self,handle,transaction):
|
||||||
|
"""
|
||||||
|
Removes the Family specified by the database handle from the
|
||||||
|
database, preserving the change in the passed transaction. This
|
||||||
|
method must be overridden in the derived class.
|
||||||
|
"""
|
||||||
|
assert False, "Needs to be overridden in the derived class"
|
||||||
|
|
||||||
def has_person_handle(self,handle):
|
def has_person_handle(self,handle):
|
||||||
"""
|
"""
|
||||||
returns True if the handle exists in the current Person database.
|
returns True if the handle exists in the current Person database.
|
||||||
|
@ -190,7 +190,8 @@ class PeopleView:
|
|||||||
return
|
return
|
||||||
p = self.parent.active_person
|
p = self.parent.active_person
|
||||||
path = self.person_model.on_get_path(p.get_handle())
|
path = self.person_model.on_get_path(p.get_handle())
|
||||||
top_name = self.parent.db.get_name_group_mapping(p.get_primary_name().get_group_name())
|
group_name = p.get_primary_name().get_group_name()
|
||||||
|
top_name = self.parent.db.get_name_group_mapping(group_name)
|
||||||
top_path = self.person_model.on_get_path(top_name)
|
top_path = self.person_model.on_get_path(top_name)
|
||||||
self.person_tree.expand_row(top_path,0)
|
self.person_tree.expand_row(top_path,0)
|
||||||
self.person_selection.select_path(path)
|
self.person_selection.select_path(path)
|
||||||
@ -262,8 +263,8 @@ class PeopleView:
|
|||||||
def add_person(self,person):
|
def add_person(self,person):
|
||||||
node = person.get_handle()
|
node = person.get_handle()
|
||||||
top = person.get_primary_name().get_group_name()
|
top = person.get_primary_name().get_group_name()
|
||||||
if not self.person_model.sname_sub.has_key(top) or \
|
if (not self.person_model.sname_sub.has_key(top) or
|
||||||
len(self.person_model.sname_sub[top]) == 1:
|
len(self.person_model.sname_sub[top]) == 1):
|
||||||
path = self.person_model.on_get_path(top)
|
path = self.person_model.on_get_path(top)
|
||||||
pnode = self.person_model.get_iter(path)
|
pnode = self.person_model.get_iter(path)
|
||||||
self.person_model.row_inserted(path,pnode)
|
self.person_model.row_inserted(path,pnode)
|
||||||
|
@ -1253,7 +1253,18 @@ class Gramps:
|
|||||||
_('_Delete Person'),
|
_('_Delete Person'),
|
||||||
self.delete_person_response)
|
self.delete_person_response)
|
||||||
|
|
||||||
|
def disable_interface(self):
|
||||||
|
self.remove_button.set_sensitive(False)
|
||||||
|
self.edit_button.set_sensitive(False)
|
||||||
|
self.add_button.set_sensitive(False)
|
||||||
|
|
||||||
|
def enable_interface(self):
|
||||||
|
self.remove_button.set_sensitive(True)
|
||||||
|
self.edit_button.set_sensitive(True)
|
||||||
|
self.add_button.set_sensitive(True)
|
||||||
|
|
||||||
def delete_person_response(self):
|
def delete_person_response(self):
|
||||||
|
self.disable_interface()
|
||||||
trans = self.db.transaction_begin()
|
trans = self.db.transaction_begin()
|
||||||
|
|
||||||
n = self.active_person.get_primary_name().get_regular_name()
|
n = self.active_person.get_primary_name().get_regular_name()
|
||||||
@ -1307,6 +1318,7 @@ class Gramps:
|
|||||||
self.goto_active_person()
|
self.goto_active_person()
|
||||||
self.db.transaction_commit(trans,_("Delete Person (%s)") % n)
|
self.db.transaction_commit(trans,_("Delete Person (%s)") % n)
|
||||||
self.redraw_histmenu()
|
self.redraw_histmenu()
|
||||||
|
self.enable_interface()
|
||||||
|
|
||||||
def merge_update(self,p1,p2,old_id):
|
def merge_update(self,p1,p2,old_id):
|
||||||
self.people_view.remove_from_person_list(p1,old_id)
|
self.people_view.remove_from_person_list(p1,old_id)
|
||||||
@ -1325,8 +1337,8 @@ class Gramps:
|
|||||||
self.set_buttons(0)
|
self.set_buttons(0)
|
||||||
self.active_person = None
|
self.active_person = None
|
||||||
self.modify_statusbar()
|
self.modify_statusbar()
|
||||||
elif self.active_person == None or \
|
elif (self.active_person == None or
|
||||||
person.get_handle() != self.active_person.get_handle():
|
person.get_handle() != self.active_person.get_handle()):
|
||||||
self.active_person = self.db.get_person_from_handle(person.get_handle())
|
self.active_person = self.db.get_person_from_handle(person.get_handle())
|
||||||
self.modify_statusbar()
|
self.modify_statusbar()
|
||||||
self.set_buttons(1)
|
self.set_buttons(1)
|
||||||
|
Loading…
Reference in New Issue
Block a user