* src/edit_person.glade: re-add edit_person.glade
* src/EditPerson.py: start of new EditPerson dialog * src/ListModel.py: enhancements for the start of inline editing * src/Makefile.am: add edit_person.glade * src/ReadXML.py: commit transactions properly * src/const.py.in: add edit_person.glade back in svn: r4375
This commit is contained in:
parent
1f7940d505
commit
7cac4ec348
@ -1,3 +1,11 @@
|
||||
2005-04-18 Don Allingham <don@gramps-project.org>
|
||||
* src/edit_person.glade: re-add edit_person.glade
|
||||
* src/EditPerson.py: start of new EditPerson dialog
|
||||
* src/ListModel.py: enhancements for the start of inline editing
|
||||
* src/Makefile.am: add edit_person.glade
|
||||
* src/ReadXML.py: commit transactions properly
|
||||
* src/const.py.in: add edit_person.glade back in
|
||||
|
||||
2005-04-17 Don Allingham <don@gramps-project.org>
|
||||
* src/GrampsBSDDB.py: actually perform the commits during the
|
||||
transaction_commit task, instead of the commit_* tasks
|
||||
|
@ -77,8 +77,7 @@ _PICTURE_WIDTH = 200.0
|
||||
_temple_names = const.lds_temple_codes.keys()
|
||||
_temple_names.sort()
|
||||
_temple_names = [""] + _temple_names
|
||||
|
||||
|
||||
_select_gender = ((True,False,False),(False,True,False),(False,False,True))
|
||||
_use_patronymic = [
|
||||
"ru","RU","ru_RU","koi8r","ru_koi8r","russian","Russian",
|
||||
]
|
||||
@ -134,12 +133,14 @@ class EditPerson:
|
||||
self.window.set_title("%s - GRAMPS" % _('Edit Person'))
|
||||
|
||||
self.icon_list = self.top.get_widget("iconlist")
|
||||
self.gallery = ImageSelect.Gallery(person, self.db.commit_person,
|
||||
self.path, self.icon_list,
|
||||
self.db, self, self.window)
|
||||
#self.gallery = ImageSelect.Gallery(person, self.db.commit_person,
|
||||
# self.path, self.icon_list,
|
||||
# self.db, self, self.window)
|
||||
|
||||
self.complete = self.get_widget('complete')
|
||||
self.complete.set_sensitive(mod)
|
||||
self.gender = self.get_widget('gender')
|
||||
self.gender.set_sensitive(mod)
|
||||
self.private = self.get_widget('private')
|
||||
self.private.set_sensitive(mod)
|
||||
self.name_delete_btn = self.top.get_widget('aka_delete')
|
||||
@ -147,7 +148,7 @@ class EditPerson:
|
||||
self.web_delete_btn = self.top.get_widget('delete_url')
|
||||
self.web_edit_btn = self.top.get_widget('edit_url')
|
||||
self.event_delete_btn = self.top.get_widget('event_del')
|
||||
self.event_edit_btn = self.top.get_widget('event_edit_btn')
|
||||
self.event_edit_btn = self.top.get_widget('event_edit')
|
||||
self.attr_delete_btn = self.top.get_widget('attr_del')
|
||||
self.attr_edit_btn = self.top.get_widget('attr_edit_btn')
|
||||
self.addr_delete_btn = self.top.get_widget('addr_del')
|
||||
@ -159,13 +160,6 @@ class EditPerson:
|
||||
self.flowed.set_sensitive(mod)
|
||||
self.preform = self.get_widget("preform")
|
||||
self.preform.set_sensitive(mod)
|
||||
self.event_name_field = self.get_widget("eventName")
|
||||
self.event_place_field = self.get_widget("eventPlace")
|
||||
self.event_cause_field = self.get_widget("eventCause")
|
||||
self.event_date_field = self.get_widget("eventDate")
|
||||
self.event_descr_field = self.get_widget("eventDescription")
|
||||
self.event_src_field = self.get_widget("event_srcinfo")
|
||||
self.event_conf_field = self.get_widget("event_conf")
|
||||
self.attr_conf_field = self.get_widget("attr_conf")
|
||||
self.addr_conf_field = self.get_widget("addr_conf")
|
||||
self.name_conf_field = self.get_widget("name_conf")
|
||||
@ -204,26 +198,10 @@ class EditPerson:
|
||||
self.prefix.set_editable(mod)
|
||||
self.given = self.get_widget("givenName")
|
||||
self.given.set_editable(mod)
|
||||
self.nick = self.get_widget("nickname")
|
||||
self.nick.set_editable(mod)
|
||||
self.title = self.get_widget("title")
|
||||
self.title.set_editable(mod)
|
||||
self.bdate = self.get_widget("birthDate")
|
||||
self.bdate.set_editable(mod)
|
||||
self.bplace = self.get_widget("birth_place")
|
||||
self.bplace.set_editable(mod)
|
||||
self.surname = self.get_widget("surname")
|
||||
self.surname.set_editable(mod)
|
||||
self.ddate = self.get_widget("deathDate")
|
||||
self.ddate.set_editable(mod)
|
||||
self.dplace = self.get_widget("death_place")
|
||||
self.dplace.set_editable(mod)
|
||||
self.is_male = self.get_widget("genderMale")
|
||||
self.is_male.set_sensitive(mod)
|
||||
self.is_female = self.get_widget("genderFemale")
|
||||
self.is_female.set_sensitive(mod)
|
||||
self.is_unknown = self.get_widget("genderUnknown")
|
||||
self.is_unknown.set_sensitive(mod)
|
||||
self.addr_note = self.get_widget("addr_note")
|
||||
self.addr_source = self.get_widget("addr_source")
|
||||
self.attr_note = self.get_widget("attr_note")
|
||||
@ -235,7 +213,6 @@ class EditPerson:
|
||||
self.slist = self.get_widget("slist")
|
||||
self.general_label = self.get_widget("general_label")
|
||||
self.names_label = self.get_widget("names_label")
|
||||
self.events_label = self.get_widget("events_label")
|
||||
self.attr_label = self.get_widget("attr_label")
|
||||
self.addr_label = self.get_widget("addr_label")
|
||||
self.notes_label = self.get_widget("notes_label")
|
||||
@ -246,9 +223,6 @@ class EditPerson:
|
||||
self.person_photo = self.get_widget("personPix")
|
||||
self.eventbox = self.get_widget("eventbox1")
|
||||
|
||||
self.get_widget("birth_stat").set_sensitive(mod)
|
||||
self.get_widget("death_stat").set_sensitive(mod)
|
||||
|
||||
self.prefix_label = self.get_widget('prefix_label')
|
||||
|
||||
if self.use_patronymic:
|
||||
@ -273,7 +247,13 @@ class EditPerson:
|
||||
self.birth = RelLib.Event(self.orig_birth)
|
||||
self.pname = RelLib.Name(person.get_primary_name())
|
||||
|
||||
self.elist = person.get_event_list()[:]
|
||||
self.gender.set_active(person.get_gender())
|
||||
|
||||
self.elist = []
|
||||
for val in [birth_handle, death_handle] + person.get_event_list():
|
||||
if val:
|
||||
self.elist.append(val)
|
||||
|
||||
self.nlist = person.get_alternate_names()[:]
|
||||
self.alist = person.get_attribute_list()[:]
|
||||
self.ulist = person.get_url_list()[:]
|
||||
@ -284,21 +264,19 @@ class EditPerson:
|
||||
else:
|
||||
self.srcreflist = []
|
||||
|
||||
Utils.bold_label(self.general_label)
|
||||
if self.srcreflist:
|
||||
Utils.bold_label(self.sources_label)
|
||||
if self.elist:
|
||||
Utils.bold_label(self.events_label)
|
||||
if self.nlist:
|
||||
Utils.bold_label(self.names_label)
|
||||
if self.alist:
|
||||
Utils.bold_label(self.attr_label)
|
||||
if self.ulist:
|
||||
Utils.bold_label(self.inet_label)
|
||||
if self.plist:
|
||||
Utils.bold_label(self.addr_label)
|
||||
if self.person.get_media_list():
|
||||
Utils.bold_label(self.gallery_label)
|
||||
#Utils.bold_label(self.general_label)
|
||||
#if self.srcreflist:
|
||||
# Utils.bold_label(self.sources_label)
|
||||
#if self.nlist:
|
||||
# Utils.bold_label(self.names_label)
|
||||
#if self.alist:
|
||||
# Utils.bold_label(self.attr_label)
|
||||
#if self.ulist:
|
||||
# Utils.bold_label(self.inet_label)
|
||||
#if self.plist:
|
||||
# Utils.bold_label(self.addr_label)
|
||||
#if self.person.get_media_list():
|
||||
# Utils.bold_label(self.gallery_label)
|
||||
|
||||
# event display
|
||||
|
||||
@ -351,8 +329,6 @@ class EditPerson:
|
||||
self.place_list = self.pdmap.keys()
|
||||
self.place_list.sort()
|
||||
|
||||
build_dropdown(self.bplace,self.place_list)
|
||||
build_dropdown(self.dplace,self.place_list)
|
||||
build_dropdown(self.surname,self.db.get_surname_list())
|
||||
|
||||
gid = person.get_gramps_id()
|
||||
@ -370,24 +346,16 @@ class EditPerson:
|
||||
or (not self.lds_sealing.is_empty()):
|
||||
self.get_widget("lds_tab").show()
|
||||
self.get_widget("lds_page").show()
|
||||
if (not self.lds_baptism.is_empty()) \
|
||||
or (not self.lds_endowment.is_empty()) \
|
||||
or (not self.lds_sealing.is_empty()):
|
||||
Utils.bold_label(self.lds_tab)
|
||||
#if (not self.lds_baptism.is_empty()) \
|
||||
# or (not self.lds_endowment.is_empty()) \
|
||||
# or (not self.lds_sealing.is_empty()):
|
||||
# Utils.bold_label(self.lds_tab)
|
||||
|
||||
types = const.NameTypesMap.get_values()
|
||||
types.sort()
|
||||
AutoComp.fill_combo(self.ntype_field,types)
|
||||
self.write_primary_name()
|
||||
|
||||
if person.get_gender() == RelLib.Person.MALE:
|
||||
self.is_male.set_active(1)
|
||||
elif person.get_gender() == RelLib.Person.FEMALE:
|
||||
self.is_female.set_active(1)
|
||||
else:
|
||||
self.is_unknown.set_active(1)
|
||||
|
||||
self.nick.set_text(person.get_nick_name())
|
||||
self.load_person_image()
|
||||
|
||||
# set notes data
|
||||
@ -398,7 +366,7 @@ class EditPerson:
|
||||
self.preform.set_active(1)
|
||||
else:
|
||||
self.flowed.set_active(1)
|
||||
Utils.bold_label(self.notes_label)
|
||||
#Utils.bold_label(self.notes_label)
|
||||
|
||||
self.name_list.drag_dest_set(gtk.DEST_DEFAULT_ALL,
|
||||
[DdTargets.NAME.target()],
|
||||
@ -452,19 +420,6 @@ class EditPerson:
|
||||
self.addr_list.connect('drag_data_received',self.ad_drag_data_received)
|
||||
self.addr_list.connect('drag_begin', self.ad_drag_begin)
|
||||
|
||||
self.birth_date_object = self.birth.get_date_object()
|
||||
self.death_date_object = self.death.get_date_object()
|
||||
|
||||
self.bdate_check = DateEdit.DateEdit(
|
||||
self.birth_date_object, self.bdate,
|
||||
self.get_widget("birth_stat"), self.window)
|
||||
|
||||
self.ddate_check = DateEdit.DateEdit(
|
||||
self.death_date_object, self.ddate,
|
||||
self.get_widget("death_stat"), self.window)
|
||||
|
||||
self.update_birth_death()
|
||||
|
||||
self.top.signal_autoconnect({
|
||||
"destroy_passed_object" : self.on_cancel_edit,
|
||||
"on_up_clicked" : self.on_up_clicked,
|
||||
@ -473,8 +428,8 @@ class EditPerson:
|
||||
"on_add_aka_clicked" : self.on_add_aka_clicked,
|
||||
"on_add_attr_clicked" : self.on_add_attr_clicked,
|
||||
"on_add_url_clicked" : self.on_add_url_clicked,
|
||||
"on_addphoto_clicked" : self.gallery.on_add_media_clicked,
|
||||
"on_selectphoto_clicked" : self.gallery.on_select_media_clicked,
|
||||
# "on_addphoto_clicked" : self.gallery.on_add_media_clicked,
|
||||
# "on_selectphoto_clicked" : self.gallery.on_select_media_clicked,
|
||||
"on_aka_delete_clicked" : self.on_aka_delete_clicked,
|
||||
"on_aka_update_clicked" : self.on_aka_update_clicked,
|
||||
"on_apply_person_clicked" : self.on_apply_person_clicked,
|
||||
@ -484,9 +439,9 @@ class EditPerson:
|
||||
"on_delete_attr_clicked" : self.on_delete_attr_clicked,
|
||||
"on_delete_event" : self.on_delete_event,
|
||||
"on_delete_url_clicked" : self.on_delete_url_clicked,
|
||||
"on_deletephoto_clicked" : self.gallery.on_delete_media_clicked,
|
||||
"on_edit_properties_clicked": self.gallery.popup_change_description,
|
||||
"on_editphoto_clicked" : self.gallery.on_edit_media_clicked,
|
||||
# "on_deletephoto_clicked" : self.gallery.on_delete_media_clicked,
|
||||
# "on_edit_properties_clicked": self.gallery.popup_change_description,
|
||||
# "on_editphoto_clicked" : self.gallery.on_edit_media_clicked,
|
||||
"on_editperson_switch_page" : self.on_switch_page,
|
||||
"on_event_add_clicked" : self.on_event_add_clicked,
|
||||
"on_event_delete_clicked" : self.on_event_delete_clicked,
|
||||
@ -523,11 +478,11 @@ class EditPerson:
|
||||
self.redraw_name_list()
|
||||
self.redraw_url_list()
|
||||
self.get_widget("notebook").set_current_page(0)
|
||||
self.given.grab_focus()
|
||||
self.surname.grab_focus()
|
||||
self.add_itself_to_winsmenu()
|
||||
|
||||
for i in ["ok", "add_aka", "aka_delete", "event_del",
|
||||
"event_add", "attr_add", "attr_del", "addr_add",
|
||||
for i in ["ok", "add_aka", "aka_delete", "event_add", "event_del",
|
||||
"attr_add", "attr_del", "addr_add",
|
||||
"addr_del", "media_add", "media_sel", "media_del",
|
||||
"add_url", "delete_url", "add_src", "del_src" ]:
|
||||
self.get_widget(i).set_sensitive(not self.db.readonly)
|
||||
@ -609,7 +564,7 @@ class EditPerson:
|
||||
if not self.db.readonly:
|
||||
self.db.metadata['event_order'] = event_list
|
||||
|
||||
self.gallery.close()
|
||||
#self.gallery.close()
|
||||
self.close_child_windows()
|
||||
self.remove_itself_from_winsmenu()
|
||||
self.window.destroy()
|
||||
@ -645,7 +600,10 @@ class EditPerson:
|
||||
def build_columns(self,tree,list):
|
||||
cnum = 0
|
||||
for name in list:
|
||||
renderer = gtk.CellRendererText()
|
||||
if cnum == 0:
|
||||
renderer = gtk.CellRendererCombo()
|
||||
else:
|
||||
renderer = gtk.CellRendererText()
|
||||
column = gtk.TreeViewColumn(name[0],renderer,text=cnum)
|
||||
column.set_min_width(name[1])
|
||||
cnum = cnum + 1
|
||||
@ -778,14 +736,6 @@ class EditPerson:
|
||||
if not self.should_guess_gender:
|
||||
return
|
||||
|
||||
gender = self.db.genderStats.guess_gender(unicode(entry.get_text ()))
|
||||
if gender == RelLib.Person.UNKNOWN:
|
||||
self.is_unknown.set_active(True)
|
||||
elif gender == RelLib.Person.MALE:
|
||||
self.is_male.set_active(True)
|
||||
else:
|
||||
self.is_female.set_active(True)
|
||||
|
||||
def build_menu(self,list,task,opt_menu,type):
|
||||
cell = gtk.CellRendererText()
|
||||
opt_menu.pack_start(cell,True)
|
||||
@ -1022,9 +972,9 @@ class EditPerson:
|
||||
self.nmap[str(name)] = node
|
||||
if self.nlist:
|
||||
self.ntree.select_row(0)
|
||||
Utils.bold_label(self.names_label)
|
||||
else:
|
||||
Utils.unbold_label(self.names_label)
|
||||
# Utils.bold_label(self.names_label)
|
||||
# else:
|
||||
# Utils.unbold_label(self.names_label)
|
||||
|
||||
def redraw_url_list(self):
|
||||
"""redraws the url list, disabling the go button if no url
|
||||
@ -1038,12 +988,12 @@ class EditPerson:
|
||||
if len(self.ulist) > 0:
|
||||
self.web_go.set_sensitive(False)
|
||||
self.wtree.select_row(0)
|
||||
Utils.bold_label(self.inet_label)
|
||||
# Utils.bold_label(self.inet_label)
|
||||
else:
|
||||
self.web_go.set_sensitive(False)
|
||||
self.web_url.set_text("")
|
||||
self.web_description.set_text("")
|
||||
Utils.unbold_label(self.inet_label)
|
||||
# self.web_url.set_text("")
|
||||
# self.web_description.set_text("")
|
||||
# Utils.unbold_label(self.inet_label)
|
||||
|
||||
def redraw_addr_list(self):
|
||||
"""Redraws the address list"""
|
||||
@ -1056,9 +1006,9 @@ class EditPerson:
|
||||
self.pmap[str(addr)] = node
|
||||
if self.plist:
|
||||
self.ptree.select_row(0)
|
||||
Utils.bold_label(self.addr_label)
|
||||
else:
|
||||
Utils.unbold_label(self.addr_label)
|
||||
# Utils.bold_label(self.addr_label)
|
||||
# else:
|
||||
# Utils.unbold_label(self.addr_label)
|
||||
|
||||
def redraw_attr_list(self):
|
||||
"""redraws the attribute list for the person"""
|
||||
@ -1069,9 +1019,9 @@ class EditPerson:
|
||||
self.amap[str(attr)] = node
|
||||
if self.alist:
|
||||
self.atree.select_row(0)
|
||||
Utils.bold_label(self.attr_label)
|
||||
else:
|
||||
Utils.unbold_label(self.attr_label)
|
||||
# Utils.bold_label(self.attr_label)
|
||||
# else:
|
||||
# Utils.unbold_label(self.attr_label)
|
||||
|
||||
def name_edit_callback(self,name):
|
||||
self.redraw_name_list()
|
||||
@ -1114,31 +1064,7 @@ class EditPerson:
|
||||
event.get_description(),
|
||||
event.get_date(),pname],event)
|
||||
self.emap[str(event)] = node
|
||||
if self.elist:
|
||||
self.etree.select_row(0)
|
||||
Utils.bold_label(self.events_label)
|
||||
else:
|
||||
Utils.unbold_label(self.events_label)
|
||||
|
||||
# Remember old combo list input
|
||||
|
||||
bplace_text = unicode(self.bplace.get_text())
|
||||
dplace_text = unicode(self.dplace.get_text())
|
||||
|
||||
prev_btext = self.strip_id(bplace_text)
|
||||
prev_dtext = self.strip_id(dplace_text)
|
||||
|
||||
# Update birth with new values, make sure death values don't change
|
||||
if self.update_birth:
|
||||
self.update_birth = False
|
||||
self.update_birth_info()
|
||||
self.dplace.set_text(prev_dtext)
|
||||
|
||||
# Update death with new values, make sure birth values don't change
|
||||
if self.update_death:
|
||||
self.update_death = False
|
||||
self.update_death_info()
|
||||
self.bplace.set_text(prev_btext)
|
||||
node = self.etree.add(["","","",""],None)
|
||||
|
||||
def strip_id(self,text):
|
||||
index = text.rfind('[')
|
||||
@ -1197,42 +1123,12 @@ class EditPerson:
|
||||
def on_edit_birth_clicked(self,obj):
|
||||
"""Brings up the EventEditor for the birth record, event
|
||||
name cannot be changed"""
|
||||
|
||||
import EventEdit
|
||||
self.update_birth = True
|
||||
pname = self.name_display.display(self.person)
|
||||
event = self.birth
|
||||
event.set_date_object(Date.Date(self.birth_date_object))
|
||||
def_placename = unicode(self.bplace.get_text())
|
||||
|
||||
p = self.get_place(self.bplace)
|
||||
if p:
|
||||
event.set_place_handle(p)
|
||||
EventEdit.EventEditor(
|
||||
self,pname, const.personalEvents,
|
||||
const.personal_events,event,def_placename,1,
|
||||
self.event_edit_callback,
|
||||
noedit=self.db.readonly)
|
||||
pass
|
||||
|
||||
def on_edit_death_clicked(self,obj):
|
||||
"""Brings up the EventEditor for the death record, event
|
||||
name cannot be changed"""
|
||||
|
||||
import EventEdit
|
||||
self.update_death = True
|
||||
pname = self.name_display.display(self.person)
|
||||
event = self.death
|
||||
event.set_date_object(Date.Date(self.death_date_object))
|
||||
def_placename = unicode(self.dplace.get_text())
|
||||
|
||||
p = self.get_place(self.dplace)
|
||||
if p:
|
||||
event.set_place_handle(p)
|
||||
EventEdit.EventEditor(
|
||||
self,pname,const.personalEvents,
|
||||
const.personal_events,event,def_placename,1,
|
||||
self.event_edit_callback,
|
||||
noedit=self.db.readonly)
|
||||
pass
|
||||
|
||||
def on_aka_delete_clicked(self,obj):
|
||||
"""Deletes the selected name from the name list"""
|
||||
@ -1313,18 +1209,12 @@ class EditPerson:
|
||||
orig record"""
|
||||
|
||||
surname = unicode(self.surname.get_text())
|
||||
self.birth.set_date_object(self.birth_date_object)
|
||||
self.death.set_date_object(self.death_date_object)
|
||||
|
||||
ntype = unicode(self.ntype_field.child.get_text())
|
||||
suffix = unicode(self.suffix.get_text())
|
||||
prefix = unicode(self.prefix.get_text())
|
||||
given = unicode(self.given.get_text())
|
||||
nick = unicode(self.nick.get_text())
|
||||
title = unicode(self.title.get_text())
|
||||
male = self.is_male.get_active()
|
||||
female = self.is_female.get_active()
|
||||
unknown = self.is_unknown.get_active()
|
||||
|
||||
start = self.notes_buffer.get_start_iter()
|
||||
end = self.notes_buffer.get_end_iter()
|
||||
@ -1357,8 +1247,6 @@ class EditPerson:
|
||||
changed = True
|
||||
if given != name.get_first_name():
|
||||
changed = True
|
||||
if nick != self.person.get_nick_name():
|
||||
changed = True
|
||||
if title != name.get_title():
|
||||
changed = True
|
||||
if self.pname.get_note() != name.get_note():
|
||||
@ -1366,27 +1254,8 @@ class EditPerson:
|
||||
if not self.lds_not_loaded and self.check_lds():
|
||||
changed = True
|
||||
|
||||
bplace = unicode(self.bplace.get_text().strip())
|
||||
dplace = unicode(self.dplace.get_text().strip())
|
||||
(female,male,unknown) = _select_gender[self.gender.get_active()]
|
||||
|
||||
if self.pdmap.has_key(bplace):
|
||||
self.birth.set_place_handle(self.pdmap[bplace])
|
||||
else:
|
||||
if bplace != "":
|
||||
changed = True
|
||||
self.birth.set_place_handle('')
|
||||
|
||||
if self.pdmap.has_key(dplace):
|
||||
self.death.set_place_handle(self.pdmap[dplace])
|
||||
else:
|
||||
if dplace != "":
|
||||
changed = True
|
||||
self.death.set_place_handle('')
|
||||
|
||||
if not self.birth.are_equal(self.orig_birth):
|
||||
changed = True
|
||||
if not self.death.are_equal(self.orig_death):
|
||||
changed = True
|
||||
if male and self.person.get_gender() != RelLib.Person.MALE:
|
||||
changed = True
|
||||
elif female and self.person.get_gender() != RelLib.Person.FEMALE:
|
||||
@ -1443,11 +1312,7 @@ class EditPerson:
|
||||
self.redraw_event_list()
|
||||
|
||||
def update_birth_death(self):
|
||||
self.bplace.set_text(place_title(self.db,self.birth))
|
||||
self.dplace.set_text(place_title(self.db,self.death))
|
||||
|
||||
self.bdate_check.update_after_editor(self.birth_date_object)
|
||||
self.ddate_check.update_after_editor(self.death_date_object)
|
||||
pass
|
||||
|
||||
def on_update_attr_clicked(self,obj):
|
||||
import AttrEdit
|
||||
@ -1488,148 +1353,51 @@ class EditPerson:
|
||||
self.event_edit_callback,noedit=self.db.readonly)
|
||||
|
||||
def on_event_select_row(self,obj):
|
||||
store,node = obj.get_selected()
|
||||
if node:
|
||||
row = store.get_path(node)
|
||||
event = self.db.get_event_from_handle(self.elist[row[0]])
|
||||
self.event_date_field.set_text(event.get_date())
|
||||
self.event_place_field.set_text(place_title(self.db,event))
|
||||
self.event_name_field.set_text(const.display_pevent(event.get_name()))
|
||||
self.event_cause_field.set_text(event.get_cause())
|
||||
self.event_descr_field.set_text(short(event.get_description()))
|
||||
if len(event.get_source_references()) > 0:
|
||||
psrc_ref = event.get_source_references()[0]
|
||||
psrc_id = psrc_ref.get_base_handle()
|
||||
psrc = self.db.get_source_from_handle(psrc_id)
|
||||
self.event_src_field.set_text(short(psrc.get_title()))
|
||||
self.event_conf_field.set_text(const.confidence[psrc_ref.get_confidence_level()])
|
||||
else:
|
||||
self.event_src_field.set_text('')
|
||||
self.event_conf_field.set_text('')
|
||||
if not self.db.readonly:
|
||||
self.event_delete_btn.set_sensitive(1)
|
||||
self.event_edit_btn.set_sensitive(1)
|
||||
store,iter = obj.get_selected()
|
||||
if iter:
|
||||
self.event_delete_btn.set_sensitive(True)
|
||||
self.event_edit_btn.set_sensitive(True)
|
||||
else:
|
||||
self.event_date_field.set_text('')
|
||||
self.event_place_field.set_text('')
|
||||
self.event_name_field.set_text('')
|
||||
self.event_cause_field.set_text('')
|
||||
self.event_descr_field.set_text('')
|
||||
self.event_src_field.set_text('')
|
||||
self.event_conf_field.set_text('')
|
||||
self.event_delete_btn.set_sensitive(0)
|
||||
self.event_edit_btn.set_sensitive(0)
|
||||
self.event_delete_btn.set_sensitive(True)
|
||||
self.event_edit_btn.set_sensitive(True)
|
||||
|
||||
def on_addr_select_row(self,obj):
|
||||
store,node = self.ptree.get_selected()
|
||||
if node:
|
||||
addr = self.ptree.get_object(node)
|
||||
self.addr_start.set_text(addr.get_date())
|
||||
self.addr_street.set_text(addr.get_street())
|
||||
self.addr_city.set_text(addr.get_city())
|
||||
self.addr_state.set_text(addr.get_state())
|
||||
self.addr_country.set_text(addr.get_country())
|
||||
self.addr_postal.set_text(addr.get_postal_code())
|
||||
self.addr_phone.set_text(addr.get_phone())
|
||||
if len(addr.get_source_references()) > 0:
|
||||
psrc_ref = addr.get_source_references()[0]
|
||||
psrc_id = psrc_ref.get_base_handle()
|
||||
psrc = self.db.get_source_from_handle(psrc_id)
|
||||
self.addr_conf_field.set_text(const.confidence[psrc_ref.get_confidence_level()])
|
||||
self.addr_src_field.set_text(short(psrc.get_title()))
|
||||
else:
|
||||
self.addr_src_field.set_text('')
|
||||
self.addr_conf_field.set_text('')
|
||||
self.addr_delete_btn.set_sensitive(1)
|
||||
self.addr_edit_btn.set_sensitive(1)
|
||||
self.addr_delete_btn.set_sensitive(True)
|
||||
self.addr_edit_btn.set_sensitive(True)
|
||||
else:
|
||||
self.addr_start.set_text('')
|
||||
self.addr_street.set_text('')
|
||||
self.addr_city.set_text('')
|
||||
self.addr_state.set_text('')
|
||||
self.addr_country.set_text('')
|
||||
self.addr_postal.set_text('')
|
||||
self.addr_phone.set_text('')
|
||||
self.addr_conf_field.set_text('')
|
||||
self.addr_src_field.set_text('')
|
||||
self.addr_delete_btn.set_sensitive(0)
|
||||
self.addr_edit_btn.set_sensitive(0)
|
||||
self.addr_delete_btn.set_sensitive(False)
|
||||
self.addr_edit_btn.set_sensitive(False)
|
||||
|
||||
def on_name_select_row(self,obj):
|
||||
store,node = self.ntree.get_selected()
|
||||
if node:
|
||||
name = self.ntree.get_object(node)
|
||||
self.alt_given_field.set_text(name.get_first_name())
|
||||
self.alt_title_field.set_text(name.get_title())
|
||||
self.alt_last_field.set_text(name.get_surname())
|
||||
self.alt_suffix_field.set_text(name.get_suffix())
|
||||
self.alt_prefix_field.set_text(name.get_surname_prefix())
|
||||
self.name_type_field.set_text(const.NameTypesMap.find_value(name.get_type()))
|
||||
if len(name.get_source_references()) > 0:
|
||||
psrc_ref = name.get_source_references()[0]
|
||||
psrc_id = psrc_ref.get_base_handle()
|
||||
psrc = self.db.get_source_from_handle(psrc_id)
|
||||
self.name_src_field.set_text(short(psrc.get_title()))
|
||||
self.name_conf_field.set_text(const.confidence[psrc_ref.get_confidence_level()])
|
||||
else:
|
||||
self.name_src_field.set_text('')
|
||||
self.name_conf_field.set_text('')
|
||||
self.name_delete_btn.set_sensitive(1)
|
||||
self.name_edit_btn.set_sensitive(1)
|
||||
self.name_delete_btn.set_sensitive(True)
|
||||
self.name_edit_btn.set_sensitive(True)
|
||||
else:
|
||||
self.alt_given_field.set_text('')
|
||||
self.alt_title_field.set_text('')
|
||||
self.alt_last_field.set_text('')
|
||||
self.alt_suffix_field.set_text('')
|
||||
self.alt_prefix_field.set_text('')
|
||||
self.name_type_field.set_text('')
|
||||
self.name_src_field.set_text('')
|
||||
self.name_conf_field.set_text('')
|
||||
self.name_delete_btn.set_sensitive(0)
|
||||
self.name_edit_btn.set_sensitive(0)
|
||||
self.name_delete_btn.set_sensitive(False)
|
||||
self.name_edit_btn.set_sensitive(False)
|
||||
|
||||
def on_web_select_row(self,obj):
|
||||
store,node = self.wtree.get_selected()
|
||||
if node:
|
||||
url = self.wtree.get_object(node)
|
||||
path = url.get_path()
|
||||
self.web_url.set_text(path)
|
||||
self.web_description.set_text(url.get_description())
|
||||
self.web_go.set_sensitive(0)
|
||||
self.web_go.set_sensitive(1)
|
||||
self.web_delete_btn.set_sensitive(1)
|
||||
self.web_edit_btn.set_sensitive(1)
|
||||
self.web_go.set_sensitive(True)
|
||||
self.web_delete_btn.set_sensitive(True)
|
||||
self.web_edit_btn.set_sensitive(True)
|
||||
else:
|
||||
self.web_url.set_text('')
|
||||
self.web_description.set_text('')
|
||||
self.web_go.set_sensitive(0)
|
||||
self.web_delete_btn.set_sensitive(0)
|
||||
self.web_edit_btn.set_sensitive(0)
|
||||
self.web_go.set_sensitive(False)
|
||||
self.web_delete_btn.set_sensitive(False)
|
||||
self.web_edit_btn.set_sensitive(False)
|
||||
|
||||
def on_attr_select_row(self,obj):
|
||||
store,node = self.atree.get_selected()
|
||||
if node:
|
||||
attr = self.atree.get_object(node)
|
||||
self.attr_type.set_text(const.display_pattr(attr.get_type()))
|
||||
self.attr_value.set_text(short(attr.get_value()))
|
||||
if len(attr.get_source_references()) > 0:
|
||||
psrc_ref = attr.get_source_references()[0]
|
||||
psrc_id = psrc_ref.get_base_handle()
|
||||
psrc = self.db.get_source_from_handle(psrc_id)
|
||||
self.attr_src_field.set_text(short(psrc.get_title()))
|
||||
self.attr_conf_field.set_text(const.confidence[psrc_ref.get_confidence_level()])
|
||||
else:
|
||||
self.attr_src_field.set_text('')
|
||||
self.attr_conf_field.set_text('')
|
||||
self.attr_delete_btn.set_sensitive(1)
|
||||
self.attr_edit_btn.set_sensitive(1)
|
||||
self.attr_delete_btn.set_sensitive(True)
|
||||
self.attr_edit_btn.set_sensitive(True)
|
||||
else:
|
||||
self.attr_type.set_text('')
|
||||
self.attr_value.set_text('')
|
||||
self.attr_src_field.set_text('')
|
||||
self.attr_conf_field.set_text('')
|
||||
self.attr_delete_btn.set_sensitive(0)
|
||||
self.attr_edit_btn.set_sensitive(0)
|
||||
self.attr_delete_btn.set_sensitive(False)
|
||||
self.attr_edit_btn.set_sensitive(False)
|
||||
|
||||
def aka_double_click(self,obj,event):
|
||||
if event.type == gtk.gdk._2BUTTON_PRESS and event.button == 1:
|
||||
@ -1660,7 +1428,7 @@ class EditPerson:
|
||||
try:
|
||||
i = pixbuf_new_from_file(photo)
|
||||
ratio = float(max(i.get_height(),i.get_width()))
|
||||
scale = float(_PICTURE_WIDTH)/ratio
|
||||
scale = float(100.0)/ratio
|
||||
x = int(scale*(i.get_width()))
|
||||
y = int(scale*(i.get_height()))
|
||||
i = i.scale_simple(x,y,INTERP_BILINEAR)
|
||||
@ -1702,15 +1470,11 @@ class EditPerson:
|
||||
prefix = unicode(self.prefix.get_text())
|
||||
ntype = unicode(self.ntype_field.child.get_text())
|
||||
given = unicode(self.given.get_text())
|
||||
nick = unicode(self.nick.get_text())
|
||||
title = unicode(self.title.get_text())
|
||||
idval = unicode(self.gid.get_text())
|
||||
|
||||
name = self.pname
|
||||
|
||||
self.birth.set_date_object(self.birth_date_object)
|
||||
self.birth.set_place_handle(self.get_place(self.bplace,1))
|
||||
|
||||
if idval != self.person.get_gramps_id():
|
||||
person = self.db.get_person_from_gramps_id(idval)
|
||||
if not person:
|
||||
@ -1756,9 +1520,6 @@ class EditPerson:
|
||||
if name != self.person.get_primary_name():
|
||||
self.person.set_primary_name(name)
|
||||
|
||||
if nick != self.person.get_nick_name():
|
||||
self.person.set_nick_name(nick)
|
||||
|
||||
self.pdmap.clear()
|
||||
for key in self.db.get_place_handles():
|
||||
p = self.db.get_place_from_handle(key).get_display_info()
|
||||
@ -1782,19 +1543,8 @@ class EditPerson:
|
||||
new_order = self.reorder_child_list(self.person,f.get_child_handle_list())
|
||||
f.set_child_handle_list(new_order)
|
||||
|
||||
self.death.set_date_object(self.death_date_object)
|
||||
self.death.set_place_handle(self.get_place(self.dplace,1))
|
||||
|
||||
if not self.orig_death.are_equal(self.death):
|
||||
if self.orig_death.is_empty():
|
||||
self.db.add_event(self.death,trans)
|
||||
self.person.set_death_handle(self.death.get_handle())
|
||||
self.db.commit_event(self.death,trans)
|
||||
|
||||
male = self.is_male.get_active()
|
||||
female = self.is_female.get_active()
|
||||
unknown = self.is_unknown.get_active()
|
||||
error = False
|
||||
(female,male,unknown) = _select_gender[self.gender.get_active()]
|
||||
if male and self.person.get_gender() != RelLib.Person.MALE:
|
||||
self.person.set_gender(RelLib.Person.MALE)
|
||||
for temp_family in self.person.get_family_handle_list():
|
||||
@ -1972,17 +1722,14 @@ class EditPerson:
|
||||
self.load_photo(None)
|
||||
|
||||
def update_birth_info(self):
|
||||
self.bdate_check.update_after_editor(self.birth.get_date_object())
|
||||
self.bplace.set_text(place_title(self.db,self.birth))
|
||||
pass
|
||||
|
||||
def update_death_info(self):
|
||||
self.ddate_check.update_after_editor(self.death.get_date_object())
|
||||
self.dplace.set_text(place_title(self.db,self.death))
|
||||
pass
|
||||
|
||||
def on_switch_page(self,obj,a,page):
|
||||
if page == 0:
|
||||
self.load_person_image()
|
||||
elif page == 2:
|
||||
self.redraw_event_list()
|
||||
elif page == 7 and self.not_loaded:
|
||||
self.not_loaded = False
|
||||
@ -1992,19 +1739,19 @@ class EditPerson:
|
||||
note_buf = self.notes_buffer
|
||||
text = unicode(note_buf.get_text(note_buf.get_start_iter(),
|
||||
note_buf.get_end_iter(),False))
|
||||
if text:
|
||||
Utils.bold_label(self.notes_label)
|
||||
else:
|
||||
Utils.unbold_label(self.notes_label)
|
||||
# if text:
|
||||
# Utils.bold_label(self.notes_label)
|
||||
# else:
|
||||
# Utils.unbold_label(self.notes_label)
|
||||
|
||||
if not self.lds_not_loaded:
|
||||
self.check_lds()
|
||||
if self.lds_baptism.is_empty() \
|
||||
and self.lds_endowment.is_empty() \
|
||||
and self.lds_sealing.is_empty():
|
||||
Utils.unbold_label(self.lds_tab)
|
||||
else:
|
||||
Utils.bold_label(self.lds_tab)
|
||||
# if self.lds_baptism.is_empty() \
|
||||
# and self.lds_endowment.is_empty() \
|
||||
# and self.lds_sealing.is_empty():
|
||||
# Utils.unbold_label(self.lds_tab)
|
||||
# else:
|
||||
# Utils.bold_label(self.lds_tab)
|
||||
|
||||
def change_name(self,obj):
|
||||
sel_objs = self.ntree.get_selected_objects()
|
||||
@ -2021,8 +1768,8 @@ class EditPerson:
|
||||
def write_primary_name(self):
|
||||
# initial values
|
||||
name = '<span size="larger" weight="bold">%s</span>' % self.name_display.display(self.person)
|
||||
self.get_widget("activepersonTitle").set_text(name)
|
||||
self.get_widget("activepersonTitle").set_use_markup(True)
|
||||
# self.get_widget("activepersonTitle").set_text(name)
|
||||
# self.get_widget("activepersonTitle").set_use_markup(True)
|
||||
self.suffix.set_text(self.pname.get_suffix())
|
||||
if self.use_patronymic:
|
||||
self.prefix.set_text(self.pname.get_patronymic())
|
||||
@ -2108,7 +1855,6 @@ class EditPerson:
|
||||
list.insert(target,person.get_handle())
|
||||
return list
|
||||
|
||||
|
||||
def short(val,size=60):
|
||||
if len(val) > size:
|
||||
return "%s..." % val[0:size]
|
||||
|
@ -992,7 +992,8 @@ class GrampsDbBase(GrampsDBCallback.GrampsDBCallback):
|
||||
def get_default_person(self):
|
||||
"""returns the default Person of the database"""
|
||||
if self.metadata:
|
||||
data = self.person_map.get(self.metadata['default'])
|
||||
key = self.metadata.get('default')
|
||||
data = self.person_map.get(key)
|
||||
if data:
|
||||
person = Person()
|
||||
person.unserialize(data)
|
||||
|
@ -18,8 +18,11 @@
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
#
|
||||
|
||||
from gobject import TYPE_STRING, TYPE_PYOBJECT
|
||||
from gobject import TYPE_STRING, TYPE_PYOBJECT, TYPE_OBJECT
|
||||
import gtk
|
||||
import const
|
||||
|
||||
gtk26 = gtk.pygtk_version >= (2,6,0)
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
@ -44,10 +47,29 @@ class ListModel:
|
||||
self.cids = []
|
||||
self.idmap = {}
|
||||
|
||||
store = gtk.ListStore(str)
|
||||
|
||||
events = const.personalConstantEvents.keys()
|
||||
events.append('Birth')
|
||||
events.append('Death')
|
||||
events.sort()
|
||||
|
||||
model = gtk.ListStore(str,TYPE_OBJECT)
|
||||
for val in events:
|
||||
model.append((val,store))
|
||||
|
||||
cnum = 0
|
||||
for name in dlist:
|
||||
renderer = gtk.CellRendererText()
|
||||
renderer.set_fixed_height_from_font(1)
|
||||
if gtk26 and cnum == 0:
|
||||
renderer = gtk.CellRendererCombo()
|
||||
renderer.set_property('model',model)
|
||||
renderer.set_property('text_column',0)
|
||||
renderer.set_property('editable',True)
|
||||
else:
|
||||
renderer = gtk.CellRendererText()
|
||||
renderer.set_property('editable',True)
|
||||
renderer.set_fixed_height_from_font(True)
|
||||
renderer.connect('edited',self.edited_cb, cnum)
|
||||
column = gtk.TreeViewColumn(name[0],renderer,text=cnum)
|
||||
column.set_reorderable(True)
|
||||
column.set_min_width(name[2])
|
||||
@ -62,7 +84,7 @@ class ListModel:
|
||||
column.set_clickable(True)
|
||||
column.set_sort_column_id(name[1])
|
||||
|
||||
cnum = cnum + 1
|
||||
cnum += 1
|
||||
self.cids.append(name[1])
|
||||
if name[0] != '':
|
||||
self.tree.append_column(column)
|
||||
@ -75,6 +97,9 @@ class ListModel:
|
||||
self.double_click = event_func
|
||||
self.tree.connect('event',self.button_press)
|
||||
|
||||
def edited_cb(self, cell, path, new_text, col):
|
||||
self.model[path][col] = new_text
|
||||
|
||||
def unselect(self):
|
||||
self.selection.unselect_all()
|
||||
|
||||
@ -168,7 +193,7 @@ class ListModel:
|
||||
|
||||
def remove(self,node):
|
||||
self.model.remove(node)
|
||||
self.count = self.count - 1
|
||||
self.count -= 1
|
||||
|
||||
def get_row(self,node):
|
||||
row = self.model.get_path(node)
|
||||
@ -184,12 +209,12 @@ class ListModel:
|
||||
return self.model.get_value(node,self.data_index)
|
||||
|
||||
def insert(self,position,data,info=None,select=0):
|
||||
self.count = self.count + 1
|
||||
self.count += 1
|
||||
node = self.model.insert(position)
|
||||
col = 0
|
||||
for obj in data:
|
||||
self.model.set_value(node,col,obj)
|
||||
col = col + 1
|
||||
col += 1
|
||||
self.model.set_value(node,col,info)
|
||||
if info:
|
||||
self.idmap[str(info)] = node
|
||||
@ -201,12 +226,12 @@ class ListModel:
|
||||
return [ self.model.get_value(node,c) for c in cols ]
|
||||
|
||||
def add(self,data,info=None,select=0):
|
||||
self.count = self.count + 1
|
||||
self.count += 1
|
||||
node = self.model.append()
|
||||
col = 0
|
||||
for obj in data:
|
||||
self.model.set_value(node,col,obj)
|
||||
col = col + 1
|
||||
col += 1
|
||||
self.model.set_value(node,col,info)
|
||||
if info:
|
||||
self.idmap[str(info)] = node
|
||||
@ -219,7 +244,7 @@ class ListModel:
|
||||
col = 0
|
||||
for obj in data:
|
||||
self.model.set_value(node,col,obj)
|
||||
col = col + 1
|
||||
col += 1
|
||||
self.model.set_value(node,col,info)
|
||||
if info:
|
||||
self.idmap[str(info)] = node
|
||||
@ -228,12 +253,12 @@ class ListModel:
|
||||
return node
|
||||
|
||||
def add_and_select(self,data,info=None):
|
||||
self.count = self.count + 1
|
||||
self.count += 1
|
||||
node = self.model.append()
|
||||
col = 0
|
||||
for obj in data:
|
||||
self.model.set_value(node,col,obj)
|
||||
col = col + 1
|
||||
col += 1
|
||||
if info:
|
||||
self.idmap[str(info)] = node
|
||||
self.model.set_value(node,col,info)
|
||||
@ -248,13 +273,11 @@ class ListModel:
|
||||
def button_press(self,obj,event):
|
||||
if event.type == gtk.gdk._2BUTTON_PRESS and event.button == 1:
|
||||
self.double_click(obj)
|
||||
return 1
|
||||
return 0
|
||||
return True
|
||||
return False
|
||||
|
||||
def find(self,info):
|
||||
if info in self.idmap.keys():
|
||||
node = self.idmap[str(info)]
|
||||
self.selection.select_iter(node)
|
||||
|
||||
def cleanup(self):
|
||||
pass
|
||||
|
@ -126,6 +126,7 @@ gdir_PYTHON = \
|
||||
# The latter is more portable and POSIX-friendly :)
|
||||
GLADEFILES = \
|
||||
gramps.glade\
|
||||
edit_person.glade\
|
||||
mergedata.glade\
|
||||
gedcomexport.glade\
|
||||
gedcomimport.glade\
|
||||
|
@ -436,7 +436,7 @@ class GrampsParser:
|
||||
person = RelLib.Person()
|
||||
person.set_handle(intid)
|
||||
person.set_gramps_id(gramps_id)
|
||||
self.db.add_person(person,None)
|
||||
self.db.add_person(person,self.trans)
|
||||
self.gid2id[gramps_id] = intid
|
||||
return person
|
||||
|
||||
@ -449,7 +449,7 @@ class GrampsParser:
|
||||
family = RelLib.Family()
|
||||
family.set_handle(intid)
|
||||
family.set_gramps_id(gramps_id)
|
||||
self.db.add_family(family,None)
|
||||
self.db.add_family(family,self.trans)
|
||||
self.gid2fid[gramps_id] = intid
|
||||
return family
|
||||
|
||||
@ -462,7 +462,7 @@ class GrampsParser:
|
||||
place = RelLib.Place()
|
||||
place.set_handle(intid)
|
||||
place.set_gramps_id(gramps_id)
|
||||
self.db.add_place(place,None)
|
||||
self.db.add_place(place,self.trans)
|
||||
self.gid2pid[gramps_id] = intid
|
||||
return place
|
||||
|
||||
@ -475,7 +475,7 @@ class GrampsParser:
|
||||
source = RelLib.Source()
|
||||
source.set_handle(intid)
|
||||
source.set_gramps_id(gramps_id)
|
||||
self.db.add_source(source,None)
|
||||
self.db.add_source(source,self.trans)
|
||||
self.gid2sid[gramps_id] = intid
|
||||
return source
|
||||
|
||||
@ -488,7 +488,7 @@ class GrampsParser:
|
||||
obj = RelLib.MediaObject()
|
||||
obj.set_handle(intid)
|
||||
obj.set_gramps_id(gramps_id)
|
||||
self.db.add_object(obj,None)
|
||||
self.db.add_object(obj,self.trans)
|
||||
self.gid2oid[gramps_id] = intid
|
||||
return obj
|
||||
|
||||
@ -534,11 +534,8 @@ class GrampsParser:
|
||||
|
||||
def parse(self,file,use_trans=True):
|
||||
|
||||
if use_trans:
|
||||
self.trans = self.db.transaction_begin()
|
||||
self.trans.set_batch(True)
|
||||
else:
|
||||
self.trans = None
|
||||
self.trans = self.db.transaction_begin()
|
||||
self.trans.set_batch(True)
|
||||
|
||||
self.db.disable_signals()
|
||||
|
||||
@ -601,7 +598,8 @@ class GrampsParser:
|
||||
|
||||
def start_place(self,attrs):
|
||||
try:
|
||||
self.placeobj = self.db.find_place_from_handle(attrs['hlink'],self.trans)
|
||||
self.placeobj = self.db.find_place_from_handle(attrs['hlink'],
|
||||
self.trans)
|
||||
except KeyError:
|
||||
handle = self.map_pid(attrs['ref'])
|
||||
self.placeobj = self.find_place_by_gramps_id(handle)
|
||||
@ -609,7 +607,8 @@ class GrampsParser:
|
||||
def start_placeobj(self,attrs):
|
||||
handle = self.map_pid(attrs['id'])
|
||||
try:
|
||||
self.placeobj = self.db.find_place_from_handle(attrs['handle'],self.trans)
|
||||
self.placeobj = self.db.find_place_from_handle(attrs['handle'],
|
||||
self.trans)
|
||||
self.placeobj.set_gramps_id(handle)
|
||||
except KeyError:
|
||||
self.placeobj = self.find_place_by_gramps_id(handle)
|
||||
@ -783,14 +782,16 @@ class GrampsParser:
|
||||
self.count = self.count + 1
|
||||
handle = self.map_fid(attrs["id"])
|
||||
try:
|
||||
self.family = self.db.find_family_from_handle(attrs["handle"],self.trans)
|
||||
self.family = self.db.find_family_from_handle(
|
||||
attrs["handle"],self.trans)
|
||||
self.family.set_gramps_id(handle)
|
||||
except KeyError:
|
||||
self.family = self.find_family_by_gramps_id(handle)
|
||||
|
||||
if attrs.has_key("type"):
|
||||
self.family.set_relationship(_FAMILY_TRANS.get(attrs["type"],
|
||||
RelLib.Family.UNKNOWN))
|
||||
self.family.set_relationship(
|
||||
_FAMILY_TRANS.get(attrs["type"],
|
||||
RelLib.Family.UNKNOWN))
|
||||
if attrs.has_key("complete"):
|
||||
self.family.set_complete_flag(int(attrs['complete']))
|
||||
else:
|
||||
@ -891,7 +892,8 @@ class GrampsParser:
|
||||
def start_source(self,attrs):
|
||||
handle = self.map_sid(attrs["id"])
|
||||
try:
|
||||
self.source = self.db.find_source_from_handle(attrs["handle"],self.trans)
|
||||
self.source = self.db.find_source_from_handle(attrs["handle"],
|
||||
self.trans)
|
||||
self.source.set_gramps_id(handle)
|
||||
except KeyError:
|
||||
self.source = self.find_source_by_gramps_id(handle)
|
||||
@ -922,7 +924,8 @@ class GrampsParser:
|
||||
def start_object(self,attrs):
|
||||
handle = self.map_oid(attrs['id'])
|
||||
try:
|
||||
self.object = self.db.find_object_from_handle(attrs['handle'],self.trans)
|
||||
self.object = self.db.find_object_from_handle(attrs['handle'],
|
||||
self.trans)
|
||||
self.object.set_gramps_id(handle)
|
||||
except KeyError:
|
||||
self.object = self.find_object_by_gramps_id(handle)
|
||||
|
@ -106,7 +106,7 @@ gladeFile = "%s/gramps.glade" % rootDir
|
||||
placesFile = "%s/gramps.glade" % rootDir
|
||||
imageselFile = "%s/gramps.glade" % rootDir
|
||||
marriageFile = "%s/gramps.glade" % rootDir
|
||||
editPersonFile = "%s/gramps.glade" % rootDir
|
||||
editPersonFile = "%s/edit_person.glade" % rootDir
|
||||
pluginsFile = "%s/plugins.glade" % rootDir
|
||||
prefsFile = "%s/gramps.glade" % rootDir
|
||||
stylesFile = "%s/gramps.glade" % rootDir
|
||||
|
3400
src/edit_person.glade
Normal file
3400
src/edit_person.glade
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user