add/delete families better
svn: r6124
This commit is contained in:
parent
c7b1781575
commit
064ad83c6a
@ -1,3 +1,10 @@
|
|||||||
|
2006-03-09 Don Allingham <don@gramps-project.org>
|
||||||
|
* src/DataViews/_FamilyView.py: avoid reentry
|
||||||
|
* src/DataViews/_PedigreeView.py: handle PluginUtils
|
||||||
|
* src/DataViews/_PersonView.py: handle remove person better
|
||||||
|
* src/Editors/_EditFamily.py: connect children up properly
|
||||||
|
* src/PeopleModel.py: handle delete properly
|
||||||
|
|
||||||
2006-03-09 Alex Roitman <shura@gramps-project.org>
|
2006-03-09 Alex Roitman <shura@gramps-project.org>
|
||||||
* PluginUtils: Add module with Report and Tool utils.
|
* PluginUtils: Add module with Report and Tool utils.
|
||||||
|
|
||||||
|
@ -28,10 +28,10 @@ import NameDisplay
|
|||||||
import Utils
|
import Utils
|
||||||
import DateHandler
|
import DateHandler
|
||||||
import ImgManip
|
import ImgManip
|
||||||
import ReportUtils
|
|
||||||
import Config
|
import Config
|
||||||
import GrampsWidgets
|
import GrampsWidgets
|
||||||
import Errors
|
import Errors
|
||||||
|
from PluginUtils import ReportUtils
|
||||||
|
|
||||||
_GenderCode = {
|
_GenderCode = {
|
||||||
RelLib.Person.MALE : u'\u2642',
|
RelLib.Person.MALE : u'\u2642',
|
||||||
@ -105,28 +105,34 @@ class FamilyView(PageView.PersonNavView):
|
|||||||
|
|
||||||
def person_update(self,handle_list):
|
def person_update(self,handle_list):
|
||||||
if self.dbstate.active:
|
if self.dbstate.active:
|
||||||
self.change_person(self.dbstate.active.handle)
|
while not self.change_person(self.dbstate.active.handle):
|
||||||
|
pass
|
||||||
|
|
||||||
def person_rebuild(self):
|
def person_rebuild(self):
|
||||||
if self.dbstate.active:
|
if self.dbstate.active:
|
||||||
self.change_person(self.dbstate.active.handle)
|
while not self.change_person(self.dbstate.active.handle):
|
||||||
|
pass
|
||||||
|
|
||||||
def family_update(self,handle_list):
|
def family_update(self,handle_list):
|
||||||
if self.dbstate.active:
|
if self.dbstate.active:
|
||||||
self.change_person(self.dbstate.active.handle)
|
while not self.change_person(self.dbstate.active.handle):
|
||||||
|
pass
|
||||||
|
|
||||||
def family_add(self,handle_list):
|
def family_add(self,handle_list):
|
||||||
if self.dbstate.active:
|
if self.dbstate.active:
|
||||||
self.change_person(self.dbstate.active.handle)
|
while not self.change_person(self.dbstate.active.handle):
|
||||||
|
pass
|
||||||
|
|
||||||
def family_delete(self,handle_list):
|
def family_delete(self,handle_list):
|
||||||
if self.dbstate.active:
|
if self.dbstate.active:
|
||||||
self.change_person(self.dbstate.active.handle)
|
while not self.change_person(self.dbstate.active.handle):
|
||||||
|
pass
|
||||||
|
|
||||||
def family_rebuild(self):
|
def family_rebuild(self):
|
||||||
if self.dbstate.active:
|
if self.dbstate.active:
|
||||||
self.change_person(self.dbstate.active.handle)
|
while not self.change_person(self.dbstate.active.handle):
|
||||||
|
pass
|
||||||
|
|
||||||
def get_stock(self):
|
def get_stock(self):
|
||||||
"""
|
"""
|
||||||
Returns the name of the stock icon to use for the display.
|
Returns the name of the stock icon to use for the display.
|
||||||
@ -231,7 +237,8 @@ class FamilyView(PageView.PersonNavView):
|
|||||||
|
|
||||||
def change_person(self,obj):
|
def change_person(self,obj):
|
||||||
if self.redrawing:
|
if self.redrawing:
|
||||||
return
|
return False
|
||||||
|
print "DRAW"
|
||||||
self.redrawing = True
|
self.redrawing = True
|
||||||
|
|
||||||
old_child = self.child
|
old_child = self.child
|
||||||
@ -244,6 +251,7 @@ class FamilyView(PageView.PersonNavView):
|
|||||||
|
|
||||||
self.row = 5
|
self.row = 5
|
||||||
family_handle_list = person.get_parent_family_handle_list()
|
family_handle_list = person.get_parent_family_handle_list()
|
||||||
|
print family_handle_list
|
||||||
if family_handle_list:
|
if family_handle_list:
|
||||||
for (family_handle,mrel,frel) in family_handle_list:
|
for (family_handle,mrel,frel) in family_handle_list:
|
||||||
if family_handle:
|
if family_handle:
|
||||||
@ -301,6 +309,7 @@ class FamilyView(PageView.PersonNavView):
|
|||||||
|
|
||||||
self.vbox.pack_start(self.child,False)
|
self.vbox.pack_start(self.child,False)
|
||||||
self.redrawing = False
|
self.redrawing = False
|
||||||
|
return True
|
||||||
|
|
||||||
def write_title(self,person):
|
def write_title(self,person):
|
||||||
|
|
||||||
@ -429,6 +438,8 @@ class FamilyView(PageView.PersonNavView):
|
|||||||
|
|
||||||
def write_parents(self,family_handle):
|
def write_parents(self,family_handle):
|
||||||
family = self.dbstate.db.get_family_from_handle(family_handle)
|
family = self.dbstate.db.get_family_from_handle(family_handle)
|
||||||
|
if not family:
|
||||||
|
return
|
||||||
self.write_label("%s:" % _('Parents'),family,True),
|
self.write_label("%s:" % _('Parents'),family,True),
|
||||||
self.write_person(_('Father'),family.get_father_handle())
|
self.write_person(_('Father'),family.get_father_handle())
|
||||||
if self.show_details:
|
if self.show_details:
|
||||||
|
@ -54,7 +54,7 @@ import NameDisplay
|
|||||||
import Utils
|
import Utils
|
||||||
import DateHandler
|
import DateHandler
|
||||||
import ImgManip
|
import ImgManip
|
||||||
import ReportUtils
|
from PluginUtils import ReportUtils
|
||||||
from Editors import EditPerson
|
from Editors import EditPerson
|
||||||
|
|
||||||
#-------------------------------------------------------------------------
|
#-------------------------------------------------------------------------
|
||||||
|
@ -525,22 +525,21 @@ class PersonView(PageView.PersonNavView):
|
|||||||
|
|
||||||
def person_removed(self,handle_list):
|
def person_removed(self,handle_list):
|
||||||
self.model.clear_cache()
|
self.model.clear_cache()
|
||||||
self.build_tree()
|
for node in handle_list:
|
||||||
# for node in handle_list:
|
person = self.dbstate.db.get_person_from_handle(node)
|
||||||
# person = self.dbstate.db.get_person_from_handle(node)
|
top = person.get_primary_name().get_group_name()
|
||||||
# top = person.get_primary_name().get_group_name()
|
mylist = self.model.sname_sub.get(top,[])
|
||||||
# mylist = self.model.sname_sub.get(top,[])
|
self.model.calculate_data(skip=set(handle_list))
|
||||||
# self.model.calculate_data()
|
if mylist:
|
||||||
# if mylist:
|
try:
|
||||||
# try:
|
path = self.model.on_get_path(node)
|
||||||
# path = self.model.on_get_path(node)
|
self.model.row_deleted(path)
|
||||||
# self.model.row_deleted(path)
|
if len(mylist) == 1:
|
||||||
# if len(mylist) == 1:
|
path = self.model.on_get_path(top)
|
||||||
# path = self.model.on_get_path(top)
|
self.model.row_deleted(path)
|
||||||
# self.model.row_deleted(path)
|
except KeyError:
|
||||||
# except KeyError:
|
pass
|
||||||
# pass
|
self.model.assign_data()
|
||||||
# self.model.assign_data()
|
|
||||||
|
|
||||||
def person_updated(self,handle_list):
|
def person_updated(self,handle_list):
|
||||||
self.model.clear_cache()
|
self.model.clear_cache()
|
||||||
|
@ -67,10 +67,10 @@ import NameDisplay
|
|||||||
import Spell
|
import Spell
|
||||||
import GrampsDisplay
|
import GrampsDisplay
|
||||||
import RelLib
|
import RelLib
|
||||||
import ReportUtils
|
|
||||||
import AutoComp
|
import AutoComp
|
||||||
from _EditPrimary import EditPrimary
|
from _EditPrimary import EditPrimary
|
||||||
|
from PluginUtils import ReportUtils
|
||||||
|
|
||||||
from DdTargets import DdTargets
|
from DdTargets import DdTargets
|
||||||
from DisplayTabs import *
|
from DisplayTabs import *
|
||||||
from GrampsWidgets import *
|
from GrampsWidgets import *
|
||||||
@ -415,9 +415,8 @@ class EditFamily(EditPrimary):
|
|||||||
for person_handle in self.obj.get_child_handle_list():
|
for person_handle in self.obj.get_child_handle_list():
|
||||||
person = self.db.get_person_from_handle(person_handle)
|
person = self.db.get_person_from_handle(person_handle)
|
||||||
event_ref = person.get_birth_ref()
|
event_ref = person.get_birth_ref()
|
||||||
event_handle = event_ref.ref
|
if event_ref and event_ref.ref:
|
||||||
if event_handle:
|
event = self.db.get_event_from_handle(event_ref.ref)
|
||||||
event = self.db.get_event_from_handle(event_handle)
|
|
||||||
child_birth_years.append(event.get_date_object().get_year())
|
child_birth_years.append(event.get_date_object().get_year())
|
||||||
|
|
||||||
if len(child_birth_years) > 0:
|
if len(child_birth_years) > 0:
|
||||||
@ -463,11 +462,9 @@ class EditFamily(EditPrimary):
|
|||||||
for person_handle in self.obj.get_child_handle_list():
|
for person_handle in self.obj.get_child_handle_list():
|
||||||
person = self.db.get_person_from_handle(person_handle)
|
person = self.db.get_person_from_handle(person_handle)
|
||||||
event_ref = person.get_birth_ref()
|
event_ref = person.get_birth_ref()
|
||||||
if event_ref:
|
if event_ref and event_ref.ref:
|
||||||
event_handle = event_ref.ref
|
event = self.db.get_event_from_handle(event_ref.ref)
|
||||||
if event_handle:
|
child_birth_years.append(event.get_date_object().get_year())
|
||||||
event = self.db.get_event_from_handle(event_handle)
|
|
||||||
child_birth_years.append(event.get_date_object().get_year())
|
|
||||||
|
|
||||||
if len(child_birth_years) > 0:
|
if len(child_birth_years) > 0:
|
||||||
filter_spec.set_birth_year(min(child_birth_years))
|
filter_spec.set_birth_year(min(child_birth_years))
|
||||||
@ -570,7 +567,7 @@ class EditFamily(EditPrimary):
|
|||||||
for handle in self.obj.get_child_handle_list():
|
for handle in self.obj.get_child_handle_list():
|
||||||
child = self.db.get_person_from_handle(handle)
|
child = self.db.get_person_from_handle(handle)
|
||||||
# fix - relationships need to be extracted from the list
|
# fix - relationships need to be extracted from the list
|
||||||
child.add_parent_family_handle(handle,
|
child.add_parent_family_handle(self.obj.handle,
|
||||||
(RelLib.Person.CHILD_BIRTH,''),
|
(RelLib.Person.CHILD_BIRTH,''),
|
||||||
(RelLib.Person.CHILD_BIRTH,''),
|
(RelLib.Person.CHILD_BIRTH,''),
|
||||||
)
|
)
|
||||||
|
@ -127,11 +127,11 @@ class PeopleModel(gtk.GenericTreeModel):
|
|||||||
self.prev_data = None
|
self.prev_data = None
|
||||||
self.rebuild_data(data_filter)
|
self.rebuild_data(data_filter)
|
||||||
|
|
||||||
def rebuild_data(self,data_filter=None,skip=None):
|
def rebuild_data(self,data_filter=None,skip=[]):
|
||||||
self.calculate_data(data_filter)
|
self.calculate_data(data_filter,skip)
|
||||||
self.assign_data()
|
self.assign_data()
|
||||||
|
|
||||||
def calculate_data(self,data_filter=None):
|
def calculate_data(self,data_filter=None,skip=[]):
|
||||||
if data_filter:
|
if data_filter:
|
||||||
self.data_filter = data_filter
|
self.data_filter = data_filter
|
||||||
self.temp_top_path2iter = []
|
self.temp_top_path2iter = []
|
||||||
@ -159,7 +159,7 @@ class PeopleModel(gtk.GenericTreeModel):
|
|||||||
ngn = NameDisplay.displayer.name_grouping_name
|
ngn = NameDisplay.displayer.name_grouping_name
|
||||||
nsn = NameDisplay.displayer.sorted_name
|
nsn = NameDisplay.displayer.sorted_name
|
||||||
|
|
||||||
flist = set(keys)
|
flist = set([key for key in keys if key not in skip])
|
||||||
|
|
||||||
while node:
|
while node:
|
||||||
n,d = node
|
n,d = node
|
||||||
|
Loading…
x
Reference in New Issue
Block a user