* src/FamilyView.py: keep track of local person during update
* src/PedView.py: update database pointer when database changed, update active person * src/gramps_main.py: keep track of active-changed svn: r4316
This commit is contained in:
parent
61f8c4b6bc
commit
bda5b22484
@ -1,3 +1,9 @@
|
|||||||
|
2005-04-06 Don Allingham <don@gramps-project.org>
|
||||||
|
* src/FamilyView.py: keep track of local person during update
|
||||||
|
* src/PedView.py: update database pointer when database changed, update
|
||||||
|
active person
|
||||||
|
* src/gramps_main.py: keep track of active-changed
|
||||||
|
|
||||||
2005-04-06 Martin Hawlisch <Martin.Hawlisch@gmx.de>
|
2005-04-06 Martin Hawlisch <Martin.Hawlisch@gmx.de>
|
||||||
* src/gramps.glade: People View: Add label for filter text input field.
|
* src/gramps.glade: People View: Add label for filter text input field.
|
||||||
* src/GenericFilter.py (ProbablyAlive): Add check for input parameter,
|
* src/GenericFilter.py (ProbablyAlive): Add check for input parameter,
|
||||||
|
@ -852,34 +852,38 @@ class FamilyView:
|
|||||||
if self.person == None:
|
if self.person == None:
|
||||||
return
|
return
|
||||||
|
|
||||||
if self.selected_spouse.get_handle() == self.family.get_father_handle():
|
cur_person = self.person
|
||||||
self.family.set_father_handle(None)
|
cur_spouse = self.selected_spouse
|
||||||
|
cur_family = self.family
|
||||||
|
|
||||||
|
if cur_spouse.get_handle() == cur_family.get_father_handle():
|
||||||
|
cur_family.set_father_handle(None)
|
||||||
else:
|
else:
|
||||||
self.family.set_mother_handle(None)
|
cur_family.set_mother_handle(None)
|
||||||
|
|
||||||
trans = self.parent.db.transaction_begin()
|
trans = self.parent.db.transaction_begin()
|
||||||
|
|
||||||
if self.selected_spouse:
|
if cur_spouse:
|
||||||
self.selected_spouse.remove_family_handle(self.family.get_handle())
|
cur_spouse.remove_family_handle(cur_family.get_handle())
|
||||||
self.parent.db.commit_person(self.selected_spouse,trans)
|
self.parent.db.commit_person(cur_spouse,trans)
|
||||||
|
|
||||||
self.parent.db.commit_family(self.family,trans)
|
self.parent.db.commit_family(cur_family,trans)
|
||||||
|
|
||||||
if len(self.family.get_child_handle_list()) == 0:
|
if len(cur_family.get_child_handle_list()) == 0:
|
||||||
mother_id = self.family.get_mother_handle()
|
mother_id = cur_family.get_mother_handle()
|
||||||
father_id = self.family.get_father_handle()
|
father_id = cur_family.get_father_handle()
|
||||||
|
|
||||||
for handle in [father_id, mother_id]:
|
for handle in [father_id, mother_id]:
|
||||||
if handle:
|
if handle:
|
||||||
p = self.parent.db.get_person_from_handle(handle)
|
p = self.parent.db.get_person_from_handle(handle)
|
||||||
p.remove_family_handle(self.family.get_handle())
|
p.remove_family_handle(cur_family.get_handle())
|
||||||
self.parent.db.commit_person(p,trans)
|
self.parent.db.commit_person(p,trans)
|
||||||
|
|
||||||
if len(self.person.get_family_handle_list()) > 0:
|
if len(cur_person.get_family_handle_list()) > 0:
|
||||||
handle = self.person.get_family_handle_list()[0]
|
handle = cur_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)
|
||||||
|
|
||||||
person_id = self.person.get_handle()
|
person_id = cur_person.get_handle()
|
||||||
self.person = self.parent.db.get_person_from_handle(person_id)
|
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)
|
||||||
|
@ -165,15 +165,15 @@ class PedigreeView:
|
|||||||
def __init__(self,parent,canvas,update,status_bar,lp):
|
def __init__(self,parent,canvas,update,status_bar,lp):
|
||||||
self.parent = parent
|
self.parent = parent
|
||||||
|
|
||||||
|
self.relcalc = Relationship.RelationshipCalculator(self.parent.db)
|
||||||
self.parent.connect('database-changed',self.change_db)
|
self.parent.connect('database-changed',self.change_db)
|
||||||
|
self.parent.connect('active-changed',self.active_changed)
|
||||||
|
|
||||||
self.canvas = canvas
|
self.canvas = canvas
|
||||||
self.canvas_items = []
|
self.canvas_items = []
|
||||||
self.boxes = []
|
self.boxes = []
|
||||||
self.root = self.canvas.root()
|
self.root = self.canvas.root()
|
||||||
self.active_person = None
|
self.active_person = None
|
||||||
r = Relationship.RelationshipCalculator(self.parent.db)
|
|
||||||
self.distance = r.get_relationship_distance
|
|
||||||
self.x1 = 0
|
self.x1 = 0
|
||||||
self.x2 = 0
|
self.x2 = 0
|
||||||
self.y1 = 0
|
self.y1 = 0
|
||||||
@ -183,18 +183,32 @@ class PedigreeView:
|
|||||||
self.load_person = lp
|
self.load_person = lp
|
||||||
self.anchor = None
|
self.anchor = None
|
||||||
self.canvas.parent.connect('button-press-event',self.on_canvas_press)
|
self.canvas.parent.connect('button-press-event',self.on_canvas_press)
|
||||||
|
self.change_db(self.parent.db)
|
||||||
|
self.distance = self.relcalc.get_relationship_distance
|
||||||
|
|
||||||
def change_db(self,db):
|
def change_db(self,db):
|
||||||
# Reconnect signals
|
# Reconnect signals
|
||||||
|
self.db = db
|
||||||
db.connect('person-add', self.person_updated_cb)
|
db.connect('person-add', self.person_updated_cb)
|
||||||
db.connect('person-update', self.person_updated_cb)
|
db.connect('person-update', self.person_updated_cb)
|
||||||
db.connect('person-delete', self.person_updated_cb)
|
db.connect('person-delete', self.person_updated_cb)
|
||||||
db.connect('person-rebuild', self.person_updated_cb)
|
db.connect('person-rebuild', self.person_rebuild)
|
||||||
|
self.relcalc.set_db(db)
|
||||||
|
self.active_person = None
|
||||||
|
|
||||||
def person_updated_cb(self,handle_list=None):
|
def person_updated_cb(self,handle_list):
|
||||||
# Redraw view on changes of persons
|
|
||||||
self.load_canvas(self.active_person)
|
self.load_canvas(self.active_person)
|
||||||
|
|
||||||
|
def person_rebuild(self):
|
||||||
|
self.load_canvas(self.active_person)
|
||||||
|
|
||||||
|
def active_changed(self,handle):
|
||||||
|
if handle:
|
||||||
|
self.active_person = self.db.get_person_from_handle(handle)
|
||||||
|
self.load_canvas(self.active_person)
|
||||||
|
else:
|
||||||
|
self.load_canvas(None)
|
||||||
|
|
||||||
def clear(self):
|
def clear(self):
|
||||||
for i in self.canvas_items:
|
for i in self.canvas_items:
|
||||||
i.destroy()
|
i.destroy()
|
||||||
@ -231,7 +245,7 @@ class PedigreeView:
|
|||||||
|
|
||||||
for t in lst:
|
for t in lst:
|
||||||
if t:
|
if t:
|
||||||
boxtext = build_detail_string(self.parent.db,t[0]).encode("UTF-8")
|
boxtext = build_detail_string(self.db,t[0]).encode("UTF-8")
|
||||||
for line in boxtext.split("\n"):
|
for line in boxtext.split("\n"):
|
||||||
try:
|
try:
|
||||||
a.set_text(line,len(line))
|
a.set_text(line,len(line))
|
||||||
@ -266,7 +280,7 @@ class PedigreeView:
|
|||||||
self.canvas_items.append(self.anchor_txt)
|
self.canvas_items.append(self.anchor_txt)
|
||||||
|
|
||||||
for family_handle in self.active_person.get_family_handle_list():
|
for family_handle in self.active_person.get_family_handle_list():
|
||||||
family = self.parent.db.get_family_from_handle(family_handle)
|
family = self.db.get_family_from_handle(family_handle)
|
||||||
if len(family.get_child_handle_list()) > 0:
|
if len(family.get_child_handle_list()) > 0:
|
||||||
button,arrow = self.make_arrow_button(gtk.ARROW_LEFT,
|
button,arrow = self.make_arrow_button(gtk.ARROW_LEFT,
|
||||||
self.on_show_child_menu)
|
self.on_show_child_menu)
|
||||||
@ -321,11 +335,10 @@ class PedigreeView:
|
|||||||
p[1])
|
p[1])
|
||||||
p = lst[i]
|
p = lst[i]
|
||||||
box = DispBox(self.root,style,xpts[i],ypts[i],w,h,p[0],
|
box = DispBox(self.root,style,xpts[i],ypts[i],w,h,p[0],
|
||||||
self.parent.db,
|
self.db,
|
||||||
self.parent.change_active_person,
|
self.parent.change_active_person,
|
||||||
self.load_person, self.build_full_nav_menu)
|
self.load_person, self.build_full_nav_menu)
|
||||||
self.boxes.append(box)
|
self.boxes.append(box)
|
||||||
self.parent.change_active_person(person)
|
|
||||||
|
|
||||||
def make_arrow_button(self,direction,function):
|
def make_arrow_button(self,direction,function):
|
||||||
"""Make a button containing an arrow with the attached callback"""
|
"""Make a button containing an arrow with the attached callback"""
|
||||||
@ -373,18 +386,18 @@ class PedigreeView:
|
|||||||
# button. The menu consists of the children of the current root
|
# button. The menu consists of the children of the current root
|
||||||
# person of the tree. Attach a child to each menu item.
|
# person of the tree. Attach a child to each menu item.
|
||||||
|
|
||||||
childlist = find_children(self.parent.db,self.active_person)
|
childlist = find_children(self.db,self.active_person)
|
||||||
if len(childlist) == 1:
|
if len(childlist) == 1:
|
||||||
child = self.parent.db.get_person_from_handle(childlist[0])
|
child = self.db.get_person_from_handle(childlist[0])
|
||||||
if child:
|
if child:
|
||||||
self.load_canvas(child)
|
self.parent.change_active_person(child)
|
||||||
elif len(childlist) > 1:
|
elif len(childlist) > 1:
|
||||||
myMenu = gtk.Menu()
|
myMenu = gtk.Menu()
|
||||||
for child_handle in childlist:
|
for child_handle in childlist:
|
||||||
child = self.parent.db.get_person_from_handle(child_handle)
|
child = self.db.get_person_from_handle(child_handle)
|
||||||
cname = NameDisplay.displayer.display(child)
|
cname = NameDisplay.displayer.display(child)
|
||||||
menuitem = gtk.MenuItem(None)
|
menuitem = gtk.MenuItem(None)
|
||||||
if find_children(self.parent.db,child):
|
if find_children(self.db,child):
|
||||||
label = gtk.Label('<b><i>%s</i></b>' % cname)
|
label = gtk.Label('<b><i>%s</i></b>' % cname)
|
||||||
else:
|
else:
|
||||||
label = gtk.Label(cname)
|
label = gtk.Label(cname)
|
||||||
@ -404,9 +417,9 @@ class PedigreeView:
|
|||||||
attached with menu item."""
|
attached with menu item."""
|
||||||
|
|
||||||
person_handle = obj.get_data(_PERSON)
|
person_handle = obj.get_data(_PERSON)
|
||||||
person = self.parent.db.get_person_from_handle(person_handle)
|
person = self.db.get_person_from_handle(person_handle)
|
||||||
if person:
|
if person:
|
||||||
self.load_canvas(person)
|
self.parent.change_active_person(person)
|
||||||
return 1
|
return 1
|
||||||
|
|
||||||
def add_parent_button(self,parent,x,y,h):
|
def add_parent_button(self,parent,x,y,h):
|
||||||
@ -430,10 +443,10 @@ class PedigreeView:
|
|||||||
attached to the button and change the root person to that
|
attached to the button and change the root person to that
|
||||||
person, redrawing the view."""
|
person, redrawing the view."""
|
||||||
person_handle = obj.get_data(_PERSON)
|
person_handle = obj.get_data(_PERSON)
|
||||||
person = self.parent.db.get_person_from_handle(person_handle)
|
person = self.db.get_person_from_handle(person_handle)
|
||||||
if self.active_person:
|
if self.active_person:
|
||||||
self.active_person = person
|
self.active_person = person
|
||||||
self.load_canvas(person)
|
self.parent.change_active_person(person)
|
||||||
|
|
||||||
def draw_canvas_line(self,x1,y1,x2,y2,h,w,data,style,ls):
|
def draw_canvas_line(self,x1,y1,x2,y2,h,w,data,style,ls):
|
||||||
"""Draw an two segment line between the x,y point pairs. Attach
|
"""Draw an two segment line between the x,y point pairs. Attach
|
||||||
@ -466,12 +479,14 @@ class PedigreeView:
|
|||||||
"""Catch X events over a line and respond to the ones we care about"""
|
"""Catch X events over a line and respond to the ones we care about"""
|
||||||
|
|
||||||
person_handle = obj.get_data(_PERSON)
|
person_handle = obj.get_data(_PERSON)
|
||||||
person = self.parent.db.get_person_from_handle(person_handle)
|
if not person_handle:
|
||||||
|
return
|
||||||
|
person = self.db.get_person_from_handle(person_handle)
|
||||||
style = self.canvas.get_style()
|
style = self.canvas.get_style()
|
||||||
|
|
||||||
if event.type == gtk.gdk._2BUTTON_PRESS:
|
if event.type == gtk.gdk._2BUTTON_PRESS:
|
||||||
if event.button == 1 and event.type == gtk.gdk._2BUTTON_PRESS:
|
if event.button == 1 and event.type == gtk.gdk._2BUTTON_PRESS:
|
||||||
self.load_canvas(person)
|
self.parent.change_active_person(person)
|
||||||
elif event.type == gtk.gdk.ENTER_NOTIFY:
|
elif event.type == gtk.gdk.ENTER_NOTIFY:
|
||||||
obj.set(fill_color_gdk=style.bg[gtk.STATE_SELECTED],
|
obj.set(fill_color_gdk=style.bg[gtk.STATE_SELECTED],
|
||||||
width_pixels=4)
|
width_pixels=4)
|
||||||
@ -498,15 +513,15 @@ class PedigreeView:
|
|||||||
mrel = m != RelLib.Person.CHILD_REL_BIRTH
|
mrel = m != RelLib.Person.CHILD_REL_BIRTH
|
||||||
frel = f != RelLib.Person.CHILD_REL_BIRTH
|
frel = f != RelLib.Person.CHILD_REL_BIRTH
|
||||||
|
|
||||||
family = self.parent.db.get_family_from_handle(family_handle)
|
family = self.db.get_family_from_handle(family_handle)
|
||||||
if family != None:
|
if family != None:
|
||||||
father_handle = family.get_father_handle()
|
father_handle = family.get_father_handle()
|
||||||
if father_handle != None:
|
if father_handle != None:
|
||||||
father = self.parent.db.get_person_from_handle(father_handle)
|
father = self.db.get_person_from_handle(father_handle)
|
||||||
self.find_tree(father,(2*index)+1,depth+1,lst,frel)
|
self.find_tree(father,(2*index)+1,depth+1,lst,frel)
|
||||||
mother_handle = family.get_mother_handle()
|
mother_handle = family.get_mother_handle()
|
||||||
if mother_handle != None:
|
if mother_handle != None:
|
||||||
mother = self.parent.db.get_person_from_handle(mother_handle)
|
mother = self.db.get_person_from_handle(mother_handle)
|
||||||
self.find_tree(mother,(2*index)+2,depth+1,lst,mrel)
|
self.find_tree(mother,(2*index)+2,depth+1,lst,mrel)
|
||||||
|
|
||||||
def on_canvas1_event(self,obj,event):
|
def on_canvas1_event(self,obj,event):
|
||||||
@ -582,12 +597,12 @@ class PedigreeView:
|
|||||||
fam_list = person.get_family_handle_list()
|
fam_list = person.get_family_handle_list()
|
||||||
no_spouses = 1
|
no_spouses = 1
|
||||||
for fam_id in fam_list:
|
for fam_id in fam_list:
|
||||||
family = self.parent.db.get_family_from_handle(fam_id)
|
family = self.db.get_family_from_handle(fam_id)
|
||||||
if family.get_father_handle() == person.get_handle():
|
if family.get_father_handle() == person.get_handle():
|
||||||
sp_id = family.get_mother_handle()
|
sp_id = family.get_mother_handle()
|
||||||
else:
|
else:
|
||||||
sp_id = family.get_father_handle()
|
sp_id = family.get_father_handle()
|
||||||
spouse = self.parent.db.get_person_from_handle(sp_id)
|
spouse = self.db.get_person_from_handle(sp_id)
|
||||||
if not spouse:
|
if not spouse:
|
||||||
continue
|
continue
|
||||||
|
|
||||||
@ -613,12 +628,12 @@ class PedigreeView:
|
|||||||
pfam_list = person.get_parent_family_handle_list()
|
pfam_list = person.get_parent_family_handle_list()
|
||||||
no_siblings = 1
|
no_siblings = 1
|
||||||
for (f,mrel,frel) in pfam_list:
|
for (f,mrel,frel) in pfam_list:
|
||||||
fam = self.parent.db.get_family_from_handle(f)
|
fam = self.db.get_family_from_handle(f)
|
||||||
sib_list = fam.get_child_handle_list()
|
sib_list = fam.get_child_handle_list()
|
||||||
for sib_id in sib_list:
|
for sib_id in sib_list:
|
||||||
if sib_id == person.get_handle():
|
if sib_id == person.get_handle():
|
||||||
continue
|
continue
|
||||||
sib = self.parent.db.get_person_from_handle(sib_id)
|
sib = self.db.get_person_from_handle(sib_id)
|
||||||
if not sib:
|
if not sib:
|
||||||
continue
|
continue
|
||||||
|
|
||||||
@ -641,9 +656,9 @@ class PedigreeView:
|
|||||||
# Go over children and build their menu
|
# Go over children and build their menu
|
||||||
item = gtk.MenuItem(_("Children"))
|
item = gtk.MenuItem(_("Children"))
|
||||||
no_children = 1
|
no_children = 1
|
||||||
childlist = find_children(self.parent.db,person)
|
childlist = find_children(self.db,person)
|
||||||
for child_handle in childlist:
|
for child_handle in childlist:
|
||||||
child = self.parent.db.get_person_from_handle(child_handle)
|
child = self.db.get_person_from_handle(child_handle)
|
||||||
if not child:
|
if not child:
|
||||||
continue
|
continue
|
||||||
|
|
||||||
@ -652,7 +667,7 @@ class PedigreeView:
|
|||||||
item.set_submenu(gtk.Menu())
|
item.set_submenu(gtk.Menu())
|
||||||
child_menu = item.get_submenu()
|
child_menu = item.get_submenu()
|
||||||
|
|
||||||
if find_children(self.parent.db,child):
|
if find_children(self.db,child):
|
||||||
label = gtk.Label('<b><i>%s</i></b>' % NameDisplay.displayer.display(child))
|
label = gtk.Label('<b><i>%s</i></b>' % NameDisplay.displayer.display(child))
|
||||||
else:
|
else:
|
||||||
label = gtk.Label(NameDisplay.displayer.display(child))
|
label = gtk.Label(NameDisplay.displayer.display(child))
|
||||||
@ -675,9 +690,9 @@ class PedigreeView:
|
|||||||
# Go over parents and build their menu
|
# Go over parents and build their menu
|
||||||
item = gtk.MenuItem(_("Parents"))
|
item = gtk.MenuItem(_("Parents"))
|
||||||
no_parents = 1
|
no_parents = 1
|
||||||
par_list = find_parents(self.parent.db,person)
|
par_list = find_parents(self.db,person)
|
||||||
for par_id in par_list:
|
for par_id in par_list:
|
||||||
par = self.parent.db.get_person_from_handle(par_id)
|
par = self.db.get_person_from_handle(par_id)
|
||||||
if not par:
|
if not par:
|
||||||
continue
|
continue
|
||||||
|
|
||||||
@ -686,7 +701,7 @@ class PedigreeView:
|
|||||||
item.set_submenu(gtk.Menu())
|
item.set_submenu(gtk.Menu())
|
||||||
par_menu = item.get_submenu()
|
par_menu = item.get_submenu()
|
||||||
|
|
||||||
if find_parents(self.parent.db,par):
|
if find_parents(self.db,par):
|
||||||
label = gtk.Label('<b><i>%s</i></b>' % NameDisplay.displayer.display(par))
|
label = gtk.Label('<b><i>%s</i></b>' % NameDisplay.displayer.display(par))
|
||||||
else:
|
else:
|
||||||
label = gtk.Label(NameDisplay.displayer.display(par))
|
label = gtk.Label(NameDisplay.displayer.display(par))
|
||||||
|
@ -281,17 +281,21 @@ class PeopleView:
|
|||||||
sel_sensitivity = 1
|
sel_sensitivity = 1
|
||||||
else:
|
else:
|
||||||
sel_sensitivity = 0
|
sel_sensitivity = 0
|
||||||
|
merge_sensitivity = len(mlist) == 2
|
||||||
entries = [
|
entries = [
|
||||||
(gtk.STOCK_GO_BACK,self.parent.back_clicked,back_sensitivity),
|
(gtk.STOCK_GO_BACK,self.parent.back_clicked,back_sensitivity),
|
||||||
(gtk.STOCK_GO_FORWARD,self.parent.fwd_clicked,fwd_sensitivity),
|
(gtk.STOCK_GO_FORWARD,self.parent.fwd_clicked,fwd_sensitivity),
|
||||||
#FIXME: revert to stock item when German gtk translation is fixed
|
(gtk.STOCK_HOME,self.parent.on_home_clicked,1),
|
||||||
#(gtk.STOCK_HOME,self.parent.on_home_clicked,1),
|
|
||||||
(_("Home"),self.parent.on_home_clicked,1),
|
|
||||||
(_("Add Bookmark"),self.parent.on_add_bookmark_activate,sel_sensitivity),
|
(_("Add Bookmark"),self.parent.on_add_bookmark_activate,sel_sensitivity),
|
||||||
(None,None,0),
|
(None,None,0),
|
||||||
(gtk.STOCK_ADD, self.parent.add_button_clicked,1),
|
(gtk.STOCK_ADD, self.parent.add_button_clicked,1),
|
||||||
(gtk.STOCK_REMOVE, self.parent.remove_button_clicked,sel_sensitivity),
|
(gtk.STOCK_REMOVE, self.parent.remove_button_clicked,sel_sensitivity),
|
||||||
(_("Edit"), self.parent.edit_button_clicked,sel_sensitivity),
|
(_("Edit"), self.parent.edit_button_clicked,sel_sensitivity),
|
||||||
|
#(None,None,0),
|
||||||
|
#(_("Compare and Merge"), self.parent.on_merge_activate,
|
||||||
|
# merge_sensitivity),
|
||||||
|
#(_("Fast Merge"), self.parent.on_fast_merge_activate,
|
||||||
|
# merge_sensitivity),
|
||||||
]
|
]
|
||||||
|
|
||||||
menu = gtk.Menu()
|
menu = gtk.Menu()
|
||||||
|
@ -110,6 +110,7 @@ class Gramps(GrampsDBCallback.GrampsDBCallback):
|
|||||||
|
|
||||||
__signals__ = {
|
__signals__ = {
|
||||||
'database-changed' : (GrampsDbBase.GrampsDbBase,),
|
'database-changed' : (GrampsDbBase.GrampsDbBase,),
|
||||||
|
'active-changed' : (str,),
|
||||||
}
|
}
|
||||||
|
|
||||||
def __init__(self,args):
|
def __init__(self,args):
|
||||||
@ -1451,6 +1452,7 @@ class Gramps(GrampsDBCallback.GrampsDBCallback):
|
|||||||
self.set_buttons(0)
|
self.set_buttons(0)
|
||||||
self.active_person = None
|
self.active_person = None
|
||||||
self.modify_statusbar()
|
self.modify_statusbar()
|
||||||
|
self.emit('active-changed',(None,))
|
||||||
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())
|
||||||
@ -1478,9 +1480,11 @@ class Gramps(GrampsDBCallback.GrampsDBCallback):
|
|||||||
else:
|
else:
|
||||||
self.backbtn.set_sensitive(0)
|
self.backbtn.set_sensitive(0)
|
||||||
self.back.set_sensitive(0)
|
self.back.set_sensitive(0)
|
||||||
|
self.emit('active-changed',(self.active_person.get_handle(),))
|
||||||
else:
|
else:
|
||||||
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.set_buttons(1)
|
self.set_buttons(1)
|
||||||
|
self.emit('active-changed',(self.active_person.get_handle(),))
|
||||||
|
|
||||||
def modify_statusbar(self):
|
def modify_statusbar(self):
|
||||||
|
|
||||||
@ -1497,13 +1501,13 @@ class Gramps(GrampsDBCallback.GrampsDBCallback):
|
|||||||
|
|
||||||
def display_relationship(self):
|
def display_relationship(self):
|
||||||
default_person = self.db.get_default_person()
|
default_person = self.db.get_default_person()
|
||||||
if not default_person:
|
active = self.active_person
|
||||||
|
if default_person == None or active == None:
|
||||||
return u''
|
return u''
|
||||||
try:
|
try:
|
||||||
pname = NameDisplay.displayer.display(default_person)
|
pname = NameDisplay.displayer.display(default_person)
|
||||||
(name,plist) = self.relationship.get_relationship(
|
(name,plist) = self.relationship.get_relationship(
|
||||||
default_person,
|
default_person,active)
|
||||||
self.active_person)
|
|
||||||
|
|
||||||
if name:
|
if name:
|
||||||
if plist == None:
|
if plist == None:
|
||||||
@ -1671,12 +1675,11 @@ class Gramps(GrampsDBCallback.GrampsDBCallback):
|
|||||||
GrampsKeys.save_last_file(name)
|
GrampsKeys.save_last_file(name)
|
||||||
self.gtop.get_widget("filter").set_text("")
|
self.gtop.get_widget("filter").set_text("")
|
||||||
|
|
||||||
|
self.relationship = self.RelClass(self.db)
|
||||||
self.emit("database-changed", (self.db,))
|
self.emit("database-changed", (self.db,))
|
||||||
|
|
||||||
self.relationship = self.RelClass(self.db)
|
|
||||||
|
|
||||||
self.change_active_person(self.find_initial_person())
|
self.change_active_person(self.find_initial_person())
|
||||||
self.goto_active_person() # TODO: This should emit a signal so other views can update itself
|
self.goto_active_person()
|
||||||
|
|
||||||
if callback:
|
if callback:
|
||||||
callback(_('Setup complete'))
|
callback(_('Setup complete'))
|
||||||
|
Loading…
Reference in New Issue
Block a user