* src/AttrEdit.py: proper type selector support.

* src/AutoComp.py (by_value): Use locale-aware sorting.
* src/EditPerson.py: Support select button for the event tab.
* src/EventEdit.py (EventRefEditor): Editor for both events and
event refs.
* src/ListBox.py: Support for select button; Proper removal of
entries; Proper Event/ref editing support; fixes for combos.
* src/NameEdit.py: Typo.
* src/edit_person.glade: Add select button to the event tab.
* src/gramps.glade: Add new editor for both events and refs.


svn: r4796
This commit is contained in:
Alex Roitman 2005-06-06 23:50:33 +00:00
parent d4a8f824ac
commit 491b0cfdc7
9 changed files with 1885 additions and 324 deletions

View File

@ -1,3 +1,15 @@
2005-06-06 Alex Roitman <shura@gramps-project.org>
* src/AttrEdit.py: proper type selector support.
* src/AutoComp.py (by_value): Use locale-aware sorting.
* src/EditPerson.py: Support select button for the event tab.
* src/EventEdit.py (EventRefEditor): Editor for both events and
event refs.
* src/ListBox.py: Support for select button; Proper removal of
entries; Proper Event/ref editing support; fixes for combos.
* src/NameEdit.py: Typo.
* src/edit_person.glade: Add select button to the event tab.
* src/gramps.glade: Add new editor for both events and refs.
2005-06-05 Alex Roitman <shura@gramps-project.org> 2005-06-05 Alex Roitman <shura@gramps-project.org>
* src/DateHandler.py: Fix typo caught in gramps20 branch. * src/DateHandler.py: Fix typo caught in gramps20 branch.

View File

@ -95,7 +95,7 @@ class AttributeEditor:
self.value_field = self.top.get_widget("attr_value") self.value_field = self.top.get_widget("attr_value")
self.note_field = self.top.get_widget("attr_note") self.note_field = self.top.get_widget("attr_note")
self.attrib_menu = self.top.get_widget("attr_menu") self.attrib_menu = self.top.get_widget("attr_menu")
self.type_field = self.attrib_menu.child # self.type_field = self.attrib_menu.child
self.source_field = self.top.get_widget("attr_source") self.source_field = self.top.get_widget("attr_source")
self.priv = self.top.get_widget("priv") self.priv = self.top.get_widget("priv")
self.general_label = self.top.get_widget("general_tab") self.general_label = self.top.get_widget("general_tab")
@ -105,6 +105,9 @@ class AttributeEditor:
self.preform = self.top.get_widget("attr_preform") self.preform = self.top.get_widget("attr_preform")
self.window = self.top.get_widget("attr_edit") self.window = self.top.get_widget("attr_edit")
self.type_selector = AutoComp.StandardCustomSelector(
Utils.personal_attributes,self.attrib_menu,
RelLib.Attribute.CUSTOM,RelLib.Attribute.DESCRIPTION)
if attrib: if attrib:
self.srcreflist = self.attrib.get_source_references() self.srcreflist = self.attrib.get_source_references()
@ -123,17 +126,8 @@ class AttributeEditor:
l = self.top.get_widget("title") l = self.top.get_widget("title")
Utils.set_titles(self.window,l,title,_('Attribute Editor')) Utils.set_titles(self.window,l,title,_('Attribute Editor'))
if attrib:
defval = attrib.get_type()[0]
else:
defval = None
self.attrmapper = AutoComp.StandardCustomSelector(
Utils.personal_attributes, self.attrib_menu,
RelLib.Attribute.CUSTOM, defval)
if attrib != None: if attrib != None:
self.type_field.set_text(const.display_attr(attrib.get_type())) self.type_selector.set_values(attrib.get_type())
self.value_field.set_text(attrib.get_value()) self.value_field.set_text(attrib.get_value())
self.priv.set_active(attrib.get_privacy()) self.priv.set_active(attrib.get_privacy())
@ -180,7 +174,7 @@ class AttributeEditor:
if not self.attrib: if not self.attrib:
label = _("New Attribute") label = _("New Attribute")
else: else:
label = self.attrib.get_type() label = self.attrib.get_type()[1]
if not label.strip(): if not label.strip():
label = _("New Attribute") label = _("New Attribute")
label = "%s: %s" % (_('Attribute'),label) label = "%s: %s" % (_('Attribute'),label)
@ -212,7 +206,7 @@ class AttributeEditor:
Called when the OK button is pressed. Gets data from the Called when the OK button is pressed. Gets data from the
form and updates the Attribute data structure. form and updates the Attribute data structure.
""" """
attr_data = self.attrmapper.get_values() attr_data = self.type_selector.get_values()
value = unicode(self.value_field.get_text()) value = unicode(self.value_field.get_text())
buf = self.note_field.get_buffer() buf = self.note_field.get_buffer()

View File

@ -20,6 +20,13 @@
# $Id$ # $Id$
#-------------------------------------------------------------------------
#
# Standard python modules
#
#-------------------------------------------------------------------------
import locale
#------------------------------------------------------------------------- #-------------------------------------------------------------------------
# #
# GNOME modules # GNOME modules
@ -162,7 +169,7 @@ class StandardCustomSelector:
""" """
fv = self.mapping[f] fv = self.mapping[f]
sv = self.mapping[s] sv = self.mapping[s]
return cmp(fv,sv) return locale.strcoll(fv,sv)
def get_values(self): def get_values(self):
""" """

View File

@ -148,6 +148,7 @@ class EditPerson:
web_add_btn = self.top.get_widget('url_add') web_add_btn = self.top.get_widget('url_add')
event_delete_btn = self.top.get_widget('event_del') event_delete_btn = self.top.get_widget('event_del')
event_add_btn = self.top.get_widget('event_add') event_add_btn = self.top.get_widget('event_add')
event_sel_btn = self.top.get_widget('event_sel')
event_edit_btn = self.top.get_widget('event_edit') event_edit_btn = self.top.get_widget('event_edit')
attr_add_btn = self.top.get_widget('attr_add') attr_add_btn = self.top.get_widget('attr_add')
attr_delete_btn = self.top.get_widget('attr_del') attr_delete_btn = self.top.get_widget('attr_del')
@ -227,7 +228,7 @@ class EditPerson:
self.event_box = ListBox.EventListBox( self.event_box = ListBox.EventListBox(
self, self.person, self.event_ref_list, events_label, self, self.person, self.event_ref_list, events_label,
[event_add_btn,event_edit_btn,event_delete_btn]) [event_add_btn,event_edit_btn,event_delete_btn,event_sel_btn])
self.attr_box = ListBox.AttrListBox( self.attr_box = ListBox.AttrListBox(
self, self.person, self.attr_list, attr_label, self, self.person, self.attr_list, attr_label,

View File

@ -48,11 +48,31 @@ import Utils
import AutoComp import AutoComp
import RelLib import RelLib
import Date import Date
import DateHandler from DateHandler import parser as _dp, displayer as _dd
import ImageSelect import ImageSelect
import DateEdit import DateEdit
from QuestionDialog import WarningDialog, ErrorDialog from QuestionDialog import WarningDialog, ErrorDialog
#-------------------------------------------------------------------------
#
# helper function
#
#-------------------------------------------------------------------------
def get_place(field,pmap,db):
text = unicode(field.get_text().strip())
if text:
if pmap.has_key(text):
return db.get_place_from_handle(pmap[text])
else:
place = RelLib.Place()
place.set_title(text)
trans = db.transaction_begin()
db.add_place(place,trans)
db.transaction_commit(trans,_("Add Place"))
return place
else:
return None
#------------------------------------------------------------------------- #-------------------------------------------------------------------------
# #
# EventEditor class # EventEditor class
@ -79,9 +99,6 @@ class EventEditor:
self.plist = [] self.plist = []
self.pmap = {} self.pmap = {}
self.dp = DateHandler.parser
self.dd = DateHandler.displayer
for key in self.parent.db.get_place_handles(): for key in self.parent.db.get_place_handles():
title = self.parent.db.get_place_from_handle(key).get_title() title = self.parent.db.get_place_from_handle(key).get_title()
self.pmap[title] = key self.pmap[title] = key
@ -89,11 +106,6 @@ class EventEditor:
if event: if event:
self.srcreflist = self.event.get_source_references() self.srcreflist = self.event.get_source_references()
self.date = Date.Date(self.event.get_date_object()) self.date = Date.Date(self.event.get_date_object())
# add the name to the list if it is not already there. This
# tends to occur in translated languages with the 'Death'
# event, which is a partial match to other events
#if not transname in elist:
# elist.append(transname)
else: else:
self.srcreflist = [] self.srcreflist = []
self.date = Date.Date(None) self.date = Date.Date(None)
@ -170,7 +182,9 @@ class EventEditor:
defval = None defval = None
self.eventmapper = AutoComp.StandardCustomSelector( self.eventmapper = AutoComp.StandardCustomSelector(
Utils.personal_events, self.event_menu, RelLib.Event.CUSTOM, defval) Utils.personal_events, self.event_menu,
RelLib.Event.CUSTOM, defval)
AutoComp.fill_entry(self.place_field,self.pmap.keys()) AutoComp.fill_entry(self.place_field,self.pmap.keys())
if event != None: if event != None:
@ -185,7 +199,7 @@ class EventEditor:
place_name = self.db.get_place_from_handle(place_handle).get_title() place_name = self.db.get_place_from_handle(place_handle).get_title()
self.place_field.set_text(place_name) self.place_field.set_text(place_name)
self.date_field.set_text(self.dd.display(self.date)) self.date_field.set_text(_dd.display(self.date))
self.cause_field.set_text(event.get_cause()) self.cause_field.set_text(event.get_cause())
self.descr_field.set_text(event.get_description()) self.descr_field.set_text(event.get_description())
self.priv.set_active(event.get_privacy()) self.priv.set_active(event.get_privacy())
@ -296,28 +310,13 @@ class EventEditor:
"""Display the relevant portion of GRAMPS manual""" """Display the relevant portion of GRAMPS manual"""
gnome.help_display('gramps-manual','adv-ev') gnome.help_display('gramps-manual','adv-ev')
def get_place(self,field):
text = unicode(field.get_text().strip())
if text:
if self.pmap.has_key(text):
return self.db.get_place_from_handle(self.pmap[text])
else:
place = RelLib.Place()
place.set_title(text)
trans = self.db.transaction_begin()
self.db.add_place(place,trans)
self.db.transaction_commit(trans,_("Add Place"))
return place
else:
return None
def on_event_edit_ok_clicked(self,obj): def on_event_edit_ok_clicked(self,obj):
event_data = self.eventmapper.get_values() event_data = self.eventmapper.get_values()
#self.date = self.dp.parse(unicode(self.date_field.get_text())) #self.date = self.dp.parse(unicode(self.date_field.get_text()))
ecause = unicode(self.cause_field.get_text()) ecause = unicode(self.cause_field.get_text())
eplace_obj = self.get_place(self.place_field) eplace_obj = get_place(self.place_field,self.pmap,self.db)
buf = self.note_field.get_buffer() buf = self.note_field.get_buffer()
start = buf.get_start_iter() start = buf.get_start_iter()
@ -402,9 +401,13 @@ class EventEditor:
else: else:
Utils.unbold_label(self.notes_label) Utils.unbold_label(self.notes_label)
#-------------------------------------------------------------------------
#
# EventRefEditor class
#
#-------------------------------------------------------------------------
class EventRefEditor: class EventRefEditor:
def __init__(self, eventref, referent, database, update, parent): def __init__(self, event_ref, event, referent, database, update, parent):
self.db = database self.db = database
self.parent = parent self.parent = parent
self.referent = referent self.referent = referent
@ -412,61 +415,140 @@ class EventRefEditor:
self.win_parent = self.parent self.win_parent = self.parent
else: else:
self.win_parent = self.parent.parent self.win_parent = self.parent.parent
if eventref: if event_ref:
if self.win_parent.child_windows.has_key(eventref): if self.win_parent.child_windows.has_key(event_ref):
self.win_parent.child_windows[eventref].present(None) self.win_parent.child_windows[event_ref].present(None)
return return
else: else:
self.win_key = eventref self.win_key = event_ref
else: else:
self.win_key = self self.win_key = self
self.update = update self.update = update
self.event_ref = eventref self.event_ref = event_ref
self.event = event
self.child_windows = {} self.child_windows = {}
self.pmap = {}
for key in self.parent.db.get_place_handles():
title = self.parent.db.get_place_from_handle(key).get_title()
self.pmap[title] = key
self.title = _('Event Reference Editor') self.title = _('Event Reference Editor')
self.top = gtk.glade.XML(const.dialogFile, "eventref_edit","gramps") self.top = gtk.glade.XML(const.dialogFile, "event_eref_edit","gramps")
self.window = self.top.get_widget('eventref_edit') self.window = self.top.get_widget('event_eref_edit')
self.note_field = self.top.get_widget('er_note') self.ref_note_field = self.top.get_widget('eer_ref_note')
self.role_combo = self.top.get_widget('er_role_combo') self.role_combo = self.top.get_widget('eer_role_combo')
self.type_label = self.top.get_widget('er_type_label') self.ref_privacy = self.top.get_widget('eer_ref_priv')
self.id_label = self.top.get_widget('er_id_label')
self.privacy = self.top.get_widget('er_priv_button') self.place_field = self.top.get_widget("eer_place")
self.cause_field = self.top.get_widget("eer_cause")
self.slist = self.top.get_widget("eer_slist")
self.wlist = self.top.get_widget("eer_wlist")
self.date_field = self.top.get_widget("eer_date")
self.descr_field = self.top.get_widget("eer_description")
self.ev_note_field = self.top.get_widget("eer_ev_note")
self.type_combo = self.top.get_widget("eer_type_combo")
self.ev_privacy = self.top.get_widget("eer_ev_priv")
self.sources_label = self.top.get_widget("eer_sources_tab")
self.notes_label = self.top.get_widget("eer_note_tab")
self.general_label = self.top.get_widget("eer_general_tab")
self.gallery_label = self.top.get_widget("eer_gallery_tab")
self.witnesses_label = self.top.get_widget("eer_witness_tab")
self.flowed = self.top.get_widget("eer_ev_flowed")
self.preform = self.top.get_widget("eer_ev_preform")
self.ok = self.top.get_widget('ok')
self.expander = self.top.get_widget("eer_expander")
add_src = self.top.get_widget('eer_add_src')
del_src = self.top.get_widget('eer_del_src')
add_witness = self.top.get_widget('eer_add_wit')
edit_witness = self.top.get_widget('eer_edit_wit')
del_witness = self.top.get_widget('eer_del_wit')
Utils.set_titles(self.window, Utils.set_titles(self.window,
self.top.get_widget('er_title'), self.top.get_widget('eer_title'),
self.title) self.title)
self.top.signal_autoconnect({ self.top.signal_autoconnect({
"on_help_er_edit_clicked" : self.on_help_clicked, "on_eer_help_clicked" : self.on_help_clicked,
"on_ok_er_edit_clicked" : self.on_ok_clicked, "on_eer_ok_clicked" : self.on_ok_clicked,
"on_cancel_er_edit_clicked" : self.close, "on_eer_cancel_clicked" : self.close,
"on_er_edit_delete_event" : self.on_delete_event, "on_eer_delete_event" : self.on_delete_event,
}) })
self.role_selector = AutoComp.StandardCustomSelector( self.role_selector = AutoComp.StandardCustomSelector(
Utils.event_roles,self.role_combo, Utils.event_roles,self.role_combo,
RelLib.EventRef.CUSTOM,RelLib.EventRef.PRIMARY) RelLib.EventRef.CUSTOM,RelLib.EventRef.PRIMARY)
self.trans = self.db.transaction_begin() AutoComp.fill_entry(self.place_field,self.pmap.keys())
if self.referent.__class__.__name__ == 'Person':
default_type = RelLib.Event.BIRTH
default_str = _("Birth")
elif self.referent.__class__.__name__ == 'Family':
default_type = RelLib.Event.MARRIAGE
default_str = _("Marriage")
self.type_selector = AutoComp.StandardCustomSelector(
Utils.personal_events,self.type_combo,
RelLib.Event.CUSTOM,default_type)
if self.event:
self.date = Date.Date(self.event.get_date_object())
self.expander.set_expanded(False)
else:
trans = self.db.transaction_begin()
self.event = RelLib.Event()
self.event.set_type((default_type,default_str))
self.db.add_event(self.event,trans)
self.db.transaction_commit(trans,_("Add Event"))
self.date = Date.Date(None)
self.expander.set_expanded(True)
if not self.event_ref: if not self.event_ref:
trans2 = self.db.transaction_begin()
e = RelLib.Event()
e.set_type((RelLib.Event.MARRIAGE,_("Married")))
self.db.add_event(e,trans2)
self.db.transaction_commit(trans2,_("Add Event"))
self.event_ref = RelLib.EventRef() self.event_ref = RelLib.EventRef()
self.event_ref.set_role((RelLib.EventRef.PRIMARY,_('Primary'))) self.event_ref.set_role((RelLib.EventRef.PRIMARY,_('Primary')))
self.event_ref.set_note('Some text') self.event_ref.set_reference_handle(self.event.get_handle())
self.event_ref.set_reference_handle(e.get_handle())
self.srcreflist = self.event.get_source_references()
self.sourcetab = Sources.SourceTab(
self.srcreflist, self, self.top, self.window, self.slist,
add_src, self.top.get_widget('eer_edit_src'), del_src,
self.db.readonly)
self.date_check = DateEdit.DateEdit(self.date,
self.date_field,
self.top.get_widget("eer_date_stat"),
self.window)
# set event_ref values
self.role_selector.set_values(self.event_ref.get_role()) self.role_selector.set_values(self.event_ref.get_role())
self.note_field.get_buffer().set_text(self.event_ref.get_note()) self.ref_note_field.get_buffer().set_text(self.event_ref.get_note())
event = self.db.get_event_from_handle(self.event_ref.ref) self.ref_privacy.set_active(self.event_ref.get_privacy())
self.id_label.set_text(event.get_gramps_id())
self.type_label.set_text(event.get_type()[1]) # set event values
self.type_selector.set_values(self.event.get_type())
place_handle = self.event.get_place_handle()
if not place_handle:
place_name = u""
else:
place_name = self.db.get_place_from_handle(place_handle).get_title()
self.place_field.set_text(place_name)
self.date_field.set_text(_dd.display(self.date))
self.cause_field.set_text(self.event.get_cause())
self.descr_field.set_text(self.event.get_description())
self.ev_privacy.set_active(self.event.get_privacy())
if self.event.get_note():
self.ev_note_field.get_buffer().set_text(event.get_note())
Utils.bold_label(self.notes_label)
if event.get_note_format() == 1:
self.preform.set_active(1)
else:
self.flowed.set_active(1)
if self.event.get_media_list():
Utils.bold_label(self.gallery_label)
self.add_itself_to_menu() self.add_itself_to_menu()
self.window.show() self.window.show()
@ -511,16 +593,88 @@ class EventRefEditor:
pass pass
def on_ok_clicked(self,obj): def on_ok_clicked(self,obj):
# first, save event if changed
etype = self.type_selector.get_values()
ecause = unicode(self.cause_field.get_text())
eplace_obj = get_place(self.place_field,self.pmap,self.db)
buf = self.ev_note_field.get_buffer()
start = buf.get_start_iter()
stop = buf.get_end_iter()
enote = unicode(buf.get_text(start,stop,False))
eformat = self.preform.get_active()
edesc = unicode(self.descr_field.get_text())
epriv = self.ev_privacy.get_active()
self.update_event(etype,self.date,eplace_obj,edesc,enote,eformat,
epriv,ecause)
# event is a primary object, so its change has to be committed now
if self.parent.lists_changed:
trans = self.db.transaction_begin()
self.db.commit_event(self.event,trans)
self.db.transaction_commit(trans,_("Modify Event"))
# then, set properties of the event_ref
self.event_ref.set_role(self.role_selector.get_values()) self.event_ref.set_role(self.role_selector.get_values())
buf = self.note_field.get_buffer() self.event_ref.set_privacy(self.ref_privacy.get_active())
buf = self.ref_note_field.get_buffer()
start = buf.get_start_iter() start = buf.get_start_iter()
stop = buf.get_end_iter() stop = buf.get_end_iter()
note = unicode(buf.get_text(start,stop,False)) note = unicode(buf.get_text(start,stop,False))
self.event_ref.set_note(note) self.event_ref.set_note(note)
self.referent.add_event_ref(self.event_ref) self.referent.add_event_ref(self.event_ref)
if self.referent.__class__.__name__ == 'Person':
self.db.commit_person(self.referent,self.trans)
elif self.referent.__class__.__name__ == 'Family':
self.db.commit_family(self.referent,self.trans)
self.db.transaction_commit(self.trans,_("Add Event Reference"))
self.close(None) self.close(None)
if self.update:
self.update((self.event_ref,self.event))
def update_event(self,the_type,date,place,desc,note,format,priv,cause):
if place:
if self.event.get_place_handle() != place.get_handle():
self.event.set_place_handle(place.get_handle())
self.parent.lists_changed = 1
else:
if self.event.get_place_handle():
self.event.set_place_handle("")
self.parent.lists_changed = 1
if self.event.get_type() != the_type:
self.event.set_type(the_type)
self.parent.lists_changed = 1
if self.event.get_description() != desc:
self.event.set_description(desc)
self.parent.lists_changed = 1
if self.event.get_note() != note:
self.event.set_note(note)
self.parent.lists_changed = 1
if self.event.get_note_format() != format:
self.event.set_note_format(format)
self.parent.lists_changed = 1
dobj = self.event.get_date_object()
self.event.set_source_reference_list(self.srcreflist)
if not dobj.is_equal(date):
self.event.set_date_object(date)
self.parent.lists_changed = 1
if self.event.get_cause() != cause:
self.event.set_cause(cause)
self.parent.lists_changed = 1
if self.event.get_privacy() != priv:
self.event.set_privacy(priv)
self.parent.lists_changed = 1
def on_switch_page(self,obj,a,page):
buf = self.ev_note_field.get_buffer()
start = buf.get_start_iter()
stop = buf.get_end_iter()
text = unicode(buf.get_text(start,stop,False))
if text:
Utils.bold_label(self.eer_notes_label)
else:
Utils.unbold_label(self.eer_notes_label)

View File

@ -77,6 +77,8 @@ class ListBox:
self.blist[0].connect('clicked',self.add) self.blist[0].connect('clicked',self.add)
self.blist[1].connect('clicked',self.update) self.blist[1].connect('clicked',self.update)
self.blist[2].connect('clicked',self.delete) self.blist[2].connect('clicked',self.delete)
if len(self.blist) > 3:
self.blist[3].connect('clicked',self.select)
self.tree.connect('key_press_event', self.keypress) self.tree.connect('key_press_event', self.keypress)
self.change_list = Set() self.change_list = Set()
@ -102,7 +104,7 @@ class ListBox:
def select_row(self,obj): def select_row(self,obj):
store, node = obj.get_selected() store, node = obj.get_selected()
enable = node != None enable = node != None
for button in self.blist[1:]: for button in self.blist[1:3]:
button.set_sensitive(enable) button.set_sensitive(enable)
def delete(self,obj): def delete(self,obj):
@ -131,7 +133,8 @@ class ListBox:
"""Deletes the selected name from the name list""" """Deletes the selected name from the name list"""
store,node = self.list_model.get_selected() store,node = self.list_model.get_selected()
if node: if node:
self.list_model.remove(self.list_model.get_object(node)) self.data.remove(self.list_model.get_object(node))
self.list_model.remove(node)
self.changed = True self.changed = True
self.redraw() self.redraw()
@ -258,7 +261,8 @@ class AttrListBox(ReorderListBox):
has_source = len(attr.get_source_references())> 0 has_source = len(attr.get_source_references())> 0
etype = attr.get_type() etype = attr.get_type()
if etype[0] == RelLib.Attribute.CUSTOM: if etype[0] == RelLib.Attribute.CUSTOM \
or not Utils.personal_attributes.has_key(etype[0]):
name = etype[1] name = etype[1]
else: else:
name = Utils.personal_attributes[etype[0]] name = Utils.personal_attributes[etype[0]]
@ -272,6 +276,8 @@ class EventListBox(ReorderListBox):
def __init__(self,parent,person,obj,label,button_list): def __init__(self,parent,person,obj,label,button_list):
self.data = [] self.data = []
self.person = person
self.parent = parent
birth_ref = person.get_birth_ref() birth_ref = person.get_birth_ref()
death_ref = person.get_death_ref() death_ref = person.get_death_ref()
if birth_ref: if birth_ref:
@ -284,7 +290,7 @@ class EventListBox(ReorderListBox):
self.data.append((event_ref, self.data.append((event_ref,
parent.db.get_event_from_handle(event_ref.ref))) parent.db.get_event_from_handle(event_ref.ref)))
custom_str = Utils.personal_events[RelLib.Attribute.CUSTOM] custom_str = Utils.personal_events[RelLib.Event.CUSTOM]
eventnames = filter(lambda x: x != custom_str, eventnames = filter(lambda x: x != custom_str,
Utils.personal_events.values()) Utils.personal_events.values())
eventnames.sort(locale.strcoll) eventnames.sort(locale.strcoll)
@ -326,20 +332,31 @@ class EventListBox(ReorderListBox):
def add(self,obj): def add(self,obj):
"""Brings up the EventEditor for a new event""" """Brings up the EventEditor for a new event"""
EventEdit.EventEditor( EventEdit.EventRefEditor(None,None,self.person,self.parent.db,
self.parent, self.name, Utils.personal_events, self.edit_callback,self.parent)
None, None, False, # self.parent, self.name, Utils.personal_events,
self.edit_callback, noedit=self.db.readonly) # None, None, False,
# self.edit_callback, noedit=self.db.readonly)
def select(self,obj):
"""
Creates eventref for an existing event.
"""
# select existing event
event = RelLiv.Event()
EventEdit.EventRefEditor(event,None,self.person,self.parent.db,
self.edit_callback,self.parent)
def update(self,obj): def update(self,obj):
store,node = self.list_model.get_selected() store,node = self.list_model.get_selected()
if not node: if not node:
return return
event = self.list_model.get_object(node) event,event_ref = self.list_model.get_object(node)
EventEdit.EventEditor( EventEdit.EventRefEditor(event,event_ref,self.person,self.parent.db,
self.parent, self.name, Utils.personal_events, self.edit_callback,self.parent)
event[1], None, False, # self.parent, self.name, Utils.personal_events,
self.edit_callback, noedit=self.db.readonly) # event[1], None, False,
# self.edit_callback, noedit=self.db.readonly)
def display_data(self,event_tuple): def display_data(self,event_tuple):
(event_ref, event) = event_tuple (event_ref, event) = event_tuple
@ -351,7 +368,8 @@ class EventListBox(ReorderListBox):
has_note = event.get_note() has_note = event.get_note()
has_source = len(event.get_source_references())> 0 has_source = len(event.get_source_references())> 0
etype = event.get_type() etype = event.get_type()
if etype[0] == RelLib.Event.CUSTOM: if etype[0] == RelLib.Event.CUSTOM \
or not Utils.personal_events.has_key(etype[0]):
name = etype[1] name = etype[1]
else: else:
name = Utils.personal_events[etype[0]] name = Utils.personal_events[etype[0]]
@ -369,24 +387,35 @@ class EventListBox(ReorderListBox):
foo.set_place_handle(place.get_handle()) foo.set_place_handle(place.get_handle())
self.data.insert(row,foo.get_handle()) self.data.insert(row,foo.get_handle())
def edit_callback(self,data): ## def edit_callback(self,data):
self.changed = True ## self.changed = True
changed = False ## self.change_list.add(data)
for val in self.data: ## if data not in self.data:
if data.handle == val[1].handle: ## self.data.append(data)
self.change_list.add(val) ## self.redraw()
changed = True ## try:
if not changed: ## self.list_model.select_iter(self.node_map[data])
ref = RelLib.EventRef() ## except:
ref.ref = data.handle ## print "Edit callback failed"
new_data = (ref,data) ## self.changed = True
self.change_list.add(new_data) ## changed = False
self.data.append(new_data) ## event_ref,event = data
self.redraw() ## if event.handle ==
try: ## for val in self.data:
self.list_model.select_iter(self.node_map[new_data]) ## if data.handle == val[1].handle:
except: ## self.change_list.add(val)
print "Edit callback failed" ## changed = True
## if not changed:
## ref = RelLib.EventRef()
## ref.ref = data.handle
## new_data = (ref,data)
## self.change_list.add(new_data)
## self.data.append(new_data)
## self.redraw()
## try:
## self.list_model.select_iter(self.node_map[new_data])
## except:
## print "Edit callback failed"
class NameListBox(ReorderListBox): class NameListBox(ReorderListBox):
@ -443,14 +472,20 @@ class NameListBox(ReorderListBox):
store,node = self.list_model.get_selected() store,node = self.list_model.get_selected()
if node: if node:
NameEdit.NameEditor(self.parent, self.list_model.get_object(node), NameEdit.NameEditor(self.parent, self.list_model.get_object(node),
self.edit_callback, self.window) self.edit_callback, self.parent.window)
def display_data(self,name): def display_data(self,name):
has_note = name.get_note() has_note = name.get_note()
has_source = len(name.get_source_references())> 0 has_source = len(name.get_source_references())> 0
the_type = name.get_type()
if the_type[0] == RelLib.Name.CUSTOM or \
not Utils.name_types.has_key(the_type[0]):
type_name = the_type[1]
else:
type_name = Utils.name_types[the_type[0]]
return [name.get_surname(),name.get_surname_prefix(), return [name.get_surname(),name.get_surname_prefix(),
name.get_first_name(), name.get_suffix(), name.get_first_name(), name.get_suffix(),
name.get_type()[1],has_source,has_note] type_name,has_source,has_note]
def unpickle(self, data): def unpickle(self, data):
foo = pickle.loads(data); foo = pickle.loads(data);

View File

@ -151,7 +151,7 @@ class NameEditor:
self.title_field.set_text(name.get_title()) self.title_field.set_text(name.get_title())
self.suffix_field.set_text(name.get_suffix()) self.suffix_field.set_text(name.get_suffix())
self.prefix_field.set_text(name.get_surname_prefix()) self.prefix_field.set_text(name.get_surname_prefix())
self.type_selector.set_values(name.set_type()) self.type_selector.set_values(name.get_type())
self.patronymic_field.set_text(name.get_patronymic()) self.patronymic_field.set_text(name.get_patronymic())
self.priv.set_active(name.get_privacy()) self.priv.set_active(name.get_privacy())
Utils.bold_label(self.general_label) Utils.bold_label(self.general_label)

View File

@ -17,7 +17,6 @@
<property name="skip_pager_hint">False</property> <property name="skip_pager_hint">False</property>
<property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property> <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
<property name="gravity">GDK_GRAVITY_NORTH_WEST</property> <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
<property name="focus_on_map">True</property>
<property name="has_separator">False</property> <property name="has_separator">False</property>
<signal name="delete_event" handler="on_delete_event"/> <signal name="delete_event" handler="on_delete_event"/>
@ -109,10 +108,6 @@
<property name="xpad">0</property> <property name="xpad">0</property>
<property name="ypad">0</property> <property name="ypad">0</property>
<property name="mnemonic_widget">surname</property> <property name="mnemonic_widget">surname</property>
<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
<property name="width_chars">-1</property>
<property name="single_line_mode">False</property>
<property name="angle">0</property>
</widget> </widget>
<packing> <packing>
<property name="left_attach">1</property> <property name="left_attach">1</property>
@ -138,10 +133,6 @@
<property name="xpad">0</property> <property name="xpad">0</property>
<property name="ypad">0</property> <property name="ypad">0</property>
<property name="mnemonic_widget">givenName</property> <property name="mnemonic_widget">givenName</property>
<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
<property name="width_chars">-1</property>
<property name="single_line_mode">False</property>
<property name="angle">0</property>
</widget> </widget>
<packing> <packing>
<property name="left_attach">1</property> <property name="left_attach">1</property>
@ -167,10 +158,6 @@
<property name="xpad">0</property> <property name="xpad">0</property>
<property name="ypad">0</property> <property name="ypad">0</property>
<property name="mnemonic_widget">prefix</property> <property name="mnemonic_widget">prefix</property>
<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
<property name="width_chars">-1</property>
<property name="single_line_mode">False</property>
<property name="angle">0</property>
</widget> </widget>
<packing> <packing>
<property name="left_attach">5</property> <property name="left_attach">5</property>
@ -196,10 +183,6 @@
<property name="xpad">0</property> <property name="xpad">0</property>
<property name="ypad">0</property> <property name="ypad">0</property>
<property name="mnemonic_widget">title</property> <property name="mnemonic_widget">title</property>
<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
<property name="width_chars">-1</property>
<property name="single_line_mode">False</property>
<property name="angle">0</property>
</widget> </widget>
<packing> <packing>
<property name="left_attach">1</property> <property name="left_attach">1</property>
@ -247,10 +230,6 @@
<property name="yalign">0.5</property> <property name="yalign">0.5</property>
<property name="xpad">0</property> <property name="xpad">0</property>
<property name="ypad">0</property> <property name="ypad">0</property>
<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
<property name="width_chars">-1</property>
<property name="single_line_mode">False</property>
<property name="angle">0</property>
</widget> </widget>
<packing> <packing>
<property name="left_attach">1</property> <property name="left_attach">1</property>
@ -268,8 +247,6 @@
<property name="items" translatable="yes">Female <property name="items" translatable="yes">Female
Male Male
Unknown</property> Unknown</property>
<property name="add_tearoffs">False</property>
<property name="focus_on_click">True</property>
</widget> </widget>
<packing> <packing>
<property name="left_attach">2</property> <property name="left_attach">2</property>
@ -316,10 +293,6 @@ Unknown</property>
<property name="xpad">0</property> <property name="xpad">0</property>
<property name="ypad">0</property> <property name="ypad">0</property>
<property name="mnemonic_widget">suffix</property> <property name="mnemonic_widget">suffix</property>
<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
<property name="width_chars">-1</property>
<property name="single_line_mode">False</property>
<property name="angle">0</property>
</widget> </widget>
<packing> <packing>
<property name="left_attach">3</property> <property name="left_attach">3</property>
@ -344,10 +317,6 @@ Unknown</property>
<property name="yalign">0.5</property> <property name="yalign">0.5</property>
<property name="xpad">0</property> <property name="xpad">0</property>
<property name="ypad">0</property> <property name="ypad">0</property>
<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
<property name="width_chars">-1</property>
<property name="single_line_mode">False</property>
<property name="angle">0</property>
</widget> </widget>
<packing> <packing>
<property name="left_attach">3</property> <property name="left_attach">3</property>
@ -372,10 +341,6 @@ Unknown</property>
<property name="yalign">0.5</property> <property name="yalign">0.5</property>
<property name="xpad">0</property> <property name="xpad">0</property>
<property name="ypad">0</property> <property name="ypad">0</property>
<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
<property name="width_chars">-1</property>
<property name="single_line_mode">False</property>
<property name="angle">0</property>
</widget> </widget>
<packing> <packing>
<property name="left_attach">5</property> <property name="left_attach">5</property>
@ -435,9 +400,6 @@ Unknown</property>
<child> <child>
<widget class="GtkComboBoxEntry" id="ntype"> <widget class="GtkComboBoxEntry" id="ntype">
<property name="visible">True</property> <property name="visible">True</property>
<property name="add_tearoffs">False</property>
<property name="has_frame">True</property>
<property name="focus_on_click">True</property>
</widget> </widget>
<packing> <packing>
<property name="left_attach">6</property> <property name="left_attach">6</property>
@ -508,10 +470,6 @@ Unknown</property>
<property name="yalign">0.5</property> <property name="yalign">0.5</property>
<property name="xpad">0</property> <property name="xpad">0</property>
<property name="ypad">0</property> <property name="ypad">0</property>
<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
<property name="width_chars">-1</property>
<property name="single_line_mode">False</property>
<property name="angle">0</property>
</widget> </widget>
<packing> <packing>
<property name="left_attach">0</property> <property name="left_attach">0</property>
@ -601,10 +559,6 @@ Unknown</property>
<property name="yalign">0.5</property> <property name="yalign">0.5</property>
<property name="xpad">0</property> <property name="xpad">0</property>
<property name="ypad">0</property> <property name="ypad">0</property>
<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
<property name="width_chars">-1</property>
<property name="single_line_mode">False</property>
<property name="angle">0</property>
</widget> </widget>
<packing> <packing>
<property name="left_attach">0</property> <property name="left_attach">0</property>
@ -657,10 +611,6 @@ Unknown</property>
<property name="yalign">0.5</property> <property name="yalign">0.5</property>
<property name="xpad">0</property> <property name="xpad">0</property>
<property name="ypad">0</property> <property name="ypad">0</property>
<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
<property name="width_chars">-1</property>
<property name="single_line_mode">False</property>
<property name="angle">0</property>
</widget> </widget>
<packing> <packing>
<property name="type">label_item</property> <property name="type">label_item</property>
@ -742,9 +692,6 @@ Unknown</property>
<property name="rules_hint">False</property> <property name="rules_hint">False</property>
<property name="reorderable">False</property> <property name="reorderable">False</property>
<property name="enable_search">True</property> <property name="enable_search">True</property>
<property name="fixed_height_mode">False</property>
<property name="hover_selection">False</property>
<property name="hover_expand">False</property>
</widget> </widget>
</child> </child>
</widget> </widget>
@ -789,6 +736,34 @@ Unknown</property>
</packing> </packing>
</child> </child>
<child>
<widget class="GtkButton" id="event_sel">
<property name="visible">True</property>
<property name="tooltip" translatable="yes">Select an existing media object from the database and place it in this gallery</property>
<property name="can_focus">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
<signal name="clicked" handler="on_event_sel_clicked" object="eventList" last_modification_time="Mon, 06 Jun 2005 22:25:51 GMT"/>
<child>
<widget class="GtkImage" id="image2590">
<property name="visible">True</property>
<property name="stock">gtk-index</property>
<property name="icon_size">4</property>
<property name="xalign">0.5</property>
<property name="yalign">0.5</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
</widget>
</child>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">False</property>
</packing>
</child>
<child> <child>
<widget class="GtkButton" id="event_edit"> <widget class="GtkButton" id="event_edit">
<property name="visible">True</property> <property name="visible">True</property>
@ -813,7 +788,7 @@ Unknown</property>
<packing> <packing>
<property name="padding">0</property> <property name="padding">0</property>
<property name="expand">False</property> <property name="expand">False</property>
<property name="fill">True</property> <property name="fill">False</property>
</packing> </packing>
</child> </child>
@ -842,13 +817,9 @@ Unknown</property>
<packing> <packing>
<property name="padding">0</property> <property name="padding">0</property>
<property name="expand">False</property> <property name="expand">False</property>
<property name="fill">True</property> <property name="fill">False</property>
</packing> </packing>
</child> </child>
<child>
<placeholder/>
</child>
</widget> </widget>
<packing> <packing>
<property name="padding">0</property> <property name="padding">0</property>
@ -872,8 +843,6 @@ Unknown</property>
<child> <child>
<widget class="GtkImage" id="image2588"> <widget class="GtkImage" id="image2588">
<property name="visible">True</property> <property name="visible">True</property>
<property name="icon_size">4</property>
<property name="icon_name">gtk-file</property>
<property name="xalign">0.5</property> <property name="xalign">0.5</property>
<property name="yalign">0.5</property> <property name="yalign">0.5</property>
<property name="xpad">0</property> <property name="xpad">0</property>
@ -899,10 +868,6 @@ Unknown</property>
<property name="yalign">0.5</property> <property name="yalign">0.5</property>
<property name="xpad">6</property> <property name="xpad">6</property>
<property name="ypad">0</property> <property name="ypad">0</property>
<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
<property name="width_chars">-1</property>
<property name="single_line_mode">False</property>
<property name="angle">0</property>
</widget> </widget>
<packing> <packing>
<property name="padding">0</property> <property name="padding">0</property>
@ -941,9 +906,6 @@ Unknown</property>
<property name="rules_hint">False</property> <property name="rules_hint">False</property>
<property name="reorderable">False</property> <property name="reorderable">False</property>
<property name="enable_search">True</property> <property name="enable_search">True</property>
<property name="fixed_height_mode">False</property>
<property name="hover_selection">False</property>
<property name="hover_expand">False</property>
</widget> </widget>
</child> </child>
</widget> </widget>
@ -1071,8 +1033,6 @@ Unknown</property>
<child> <child>
<widget class="GtkImage" id="image2580"> <widget class="GtkImage" id="image2580">
<property name="visible">True</property> <property name="visible">True</property>
<property name="icon_size">4</property>
<property name="icon_name">gtk-file</property>
<property name="xalign">0.5</property> <property name="xalign">0.5</property>
<property name="yalign">0.5</property> <property name="yalign">0.5</property>
<property name="xpad">0</property> <property name="xpad">0</property>
@ -1098,10 +1058,6 @@ Unknown</property>
<property name="yalign">0.5</property> <property name="yalign">0.5</property>
<property name="xpad">6</property> <property name="xpad">6</property>
<property name="ypad">0</property> <property name="ypad">0</property>
<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
<property name="width_chars">-1</property>
<property name="single_line_mode">False</property>
<property name="angle">0</property>
</widget> </widget>
<packing> <packing>
<property name="padding">0</property> <property name="padding">0</property>
@ -1151,9 +1107,6 @@ Unknown</property>
<property name="rules_hint">False</property> <property name="rules_hint">False</property>
<property name="reorderable">False</property> <property name="reorderable">False</property>
<property name="enable_search">True</property> <property name="enable_search">True</property>
<property name="fixed_height_mode">False</property>
<property name="hover_selection">False</property>
<property name="hover_expand">False</property>
</widget> </widget>
</child> </child>
</widget> </widget>
@ -1295,8 +1248,6 @@ Unknown</property>
<child> <child>
<widget class="GtkImage" id="image2581"> <widget class="GtkImage" id="image2581">
<property name="visible">True</property> <property name="visible">True</property>
<property name="icon_size">4</property>
<property name="icon_name">gtk-file</property>
<property name="xalign">0.5</property> <property name="xalign">0.5</property>
<property name="yalign">0.5</property> <property name="yalign">0.5</property>
<property name="xpad">0</property> <property name="xpad">0</property>
@ -1322,10 +1273,6 @@ Unknown</property>
<property name="yalign">0.5</property> <property name="yalign">0.5</property>
<property name="xpad">6</property> <property name="xpad">6</property>
<property name="ypad">0</property> <property name="ypad">0</property>
<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
<property name="width_chars">-1</property>
<property name="single_line_mode">False</property>
<property name="angle">0</property>
</widget> </widget>
<packing> <packing>
<property name="padding">0</property> <property name="padding">0</property>
@ -1363,9 +1310,6 @@ Unknown</property>
<property name="rules_hint">False</property> <property name="rules_hint">False</property>
<property name="reorderable">False</property> <property name="reorderable">False</property>
<property name="enable_search">True</property> <property name="enable_search">True</property>
<property name="fixed_height_mode">False</property>
<property name="hover_selection">False</property>
<property name="hover_expand">False</property>
</widget> </widget>
</child> </child>
</widget> </widget>
@ -1493,8 +1437,6 @@ Unknown</property>
<child> <child>
<widget class="GtkImage" id="image2582"> <widget class="GtkImage" id="image2582">
<property name="visible">True</property> <property name="visible">True</property>
<property name="icon_size">4</property>
<property name="icon_name">gtk-file</property>
<property name="xalign">0.5</property> <property name="xalign">0.5</property>
<property name="yalign">0.5</property> <property name="yalign">0.5</property>
<property name="xpad">0</property> <property name="xpad">0</property>
@ -1520,10 +1462,6 @@ Unknown</property>
<property name="yalign">0.5</property> <property name="yalign">0.5</property>
<property name="xpad">6</property> <property name="xpad">6</property>
<property name="ypad">0</property> <property name="ypad">0</property>
<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
<property name="width_chars">-1</property>
<property name="single_line_mode">False</property>
<property name="angle">0</property>
</widget> </widget>
<packing> <packing>
<property name="padding">0</property> <property name="padding">0</property>
@ -1604,10 +1542,6 @@ Unknown</property>
<property name="xpad">0</property> <property name="xpad">0</property>
<property name="ypad">0</property> <property name="ypad">0</property>
<property name="mnemonic_widget">flowed</property> <property name="mnemonic_widget">flowed</property>
<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
<property name="width_chars">-1</property>
<property name="single_line_mode">False</property>
<property name="angle">0</property>
</widget> </widget>
<packing> <packing>
<property name="left_attach">0</property> <property name="left_attach">0</property>
@ -1688,8 +1622,6 @@ Unknown</property>
<child> <child>
<widget class="GtkImage" id="image2583"> <widget class="GtkImage" id="image2583">
<property name="visible">True</property> <property name="visible">True</property>
<property name="icon_size">4</property>
<property name="icon_name">gtk-file</property>
<property name="xalign">0.5</property> <property name="xalign">0.5</property>
<property name="yalign">0.5</property> <property name="yalign">0.5</property>
<property name="xpad">0</property> <property name="xpad">0</property>
@ -1715,10 +1647,6 @@ Unknown</property>
<property name="yalign">0.5</property> <property name="yalign">0.5</property>
<property name="xpad">6</property> <property name="xpad">6</property>
<property name="ypad">0</property> <property name="ypad">0</property>
<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
<property name="width_chars">-1</property>
<property name="single_line_mode">False</property>
<property name="angle">0</property>
</widget> </widget>
<packing> <packing>
<property name="padding">0</property> <property name="padding">0</property>
@ -1755,9 +1683,6 @@ Unknown</property>
<property name="rules_hint">False</property> <property name="rules_hint">False</property>
<property name="reorderable">False</property> <property name="reorderable">False</property>
<property name="enable_search">True</property> <property name="enable_search">True</property>
<property name="fixed_height_mode">False</property>
<property name="hover_selection">False</property>
<property name="hover_expand">False</property>
</widget> </widget>
</child> </child>
</widget> </widget>
@ -1880,8 +1805,6 @@ Unknown</property>
<child> <child>
<widget class="GtkImage" id="image2584"> <widget class="GtkImage" id="image2584">
<property name="visible">True</property> <property name="visible">True</property>
<property name="icon_size">4</property>
<property name="icon_name">gtk-file</property>
<property name="xalign">0.5</property> <property name="xalign">0.5</property>
<property name="yalign">0.5</property> <property name="yalign">0.5</property>
<property name="xpad">0</property> <property name="xpad">0</property>
@ -1907,10 +1830,6 @@ Unknown</property>
<property name="yalign">0.5</property> <property name="yalign">0.5</property>
<property name="xpad">0</property> <property name="xpad">0</property>
<property name="ypad">0</property> <property name="ypad">0</property>
<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
<property name="width_chars">-1</property>
<property name="single_line_mode">False</property>
<property name="angle">0</property>
</widget> </widget>
<packing> <packing>
<property name="padding">0</property> <property name="padding">0</property>
@ -2118,8 +2037,6 @@ Unknown</property>
<child> <child>
<widget class="GtkImage" id="image2585"> <widget class="GtkImage" id="image2585">
<property name="visible">True</property> <property name="visible">True</property>
<property name="icon_size">4</property>
<property name="icon_name">gtk-file</property>
<property name="xalign">0.5</property> <property name="xalign">0.5</property>
<property name="yalign">0.5</property> <property name="yalign">0.5</property>
<property name="xpad">0</property> <property name="xpad">0</property>
@ -2145,10 +2062,6 @@ Unknown</property>
<property name="yalign">0.5</property> <property name="yalign">0.5</property>
<property name="xpad">6</property> <property name="xpad">6</property>
<property name="ypad">0</property> <property name="ypad">0</property>
<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
<property name="width_chars">-1</property>
<property name="single_line_mode">False</property>
<property name="angle">0</property>
</widget> </widget>
<packing> <packing>
<property name="padding">0</property> <property name="padding">0</property>
@ -2192,9 +2105,6 @@ Unknown</property>
<property name="rules_hint">False</property> <property name="rules_hint">False</property>
<property name="reorderable">False</property> <property name="reorderable">False</property>
<property name="enable_search">True</property> <property name="enable_search">True</property>
<property name="fixed_height_mode">False</property>
<property name="hover_selection">False</property>
<property name="hover_expand">False</property>
</widget> </widget>
</child> </child>
</widget> </widget>
@ -2357,8 +2267,6 @@ Unknown</property>
<child> <child>
<widget class="GtkImage" id="image2589"> <widget class="GtkImage" id="image2589">
<property name="visible">True</property> <property name="visible">True</property>
<property name="icon_size">4</property>
<property name="icon_name">gtk-file</property>
<property name="xalign">0.5</property> <property name="xalign">0.5</property>
<property name="yalign">0.5</property> <property name="yalign">0.5</property>
<property name="xpad">0</property> <property name="xpad">0</property>
@ -2384,10 +2292,6 @@ Unknown</property>
<property name="yalign">0.5</property> <property name="yalign">0.5</property>
<property name="xpad">6</property> <property name="xpad">6</property>
<property name="ypad">0</property> <property name="ypad">0</property>
<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
<property name="width_chars">-1</property>
<property name="single_line_mode">False</property>
<property name="angle">0</property>
</widget> </widget>
<packing> <packing>
<property name="padding">0</property> <property name="padding">0</property>
@ -2425,10 +2329,6 @@ Unknown</property>
<property name="xpad">0</property> <property name="xpad">0</property>
<property name="ypad">0</property> <property name="ypad">0</property>
<property name="mnemonic_widget">ldsbapdate</property> <property name="mnemonic_widget">ldsbapdate</property>
<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
<property name="width_chars">-1</property>
<property name="single_line_mode">False</property>
<property name="angle">0</property>
</widget> </widget>
<packing> <packing>
<property name="left_attach">1</property> <property name="left_attach">1</property>
@ -2474,10 +2374,6 @@ Unknown</property>
<property name="xpad">0</property> <property name="xpad">0</property>
<property name="ypad">0</property> <property name="ypad">0</property>
<property name="mnemonic_widget">endowdate</property> <property name="mnemonic_widget">endowdate</property>
<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
<property name="width_chars">-1</property>
<property name="single_line_mode">False</property>
<property name="angle">0</property>
<accessibility> <accessibility>
<atkproperty name="AtkObject::accessible_name" translatable="yes">Date:</atkproperty> <atkproperty name="AtkObject::accessible_name" translatable="yes">Date:</atkproperty>
</accessibility> </accessibility>
@ -2526,10 +2422,6 @@ Unknown</property>
<property name="xpad">0</property> <property name="xpad">0</property>
<property name="ypad">0</property> <property name="ypad">0</property>
<property name="mnemonic_widget">sealdate</property> <property name="mnemonic_widget">sealdate</property>
<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
<property name="width_chars">-1</property>
<property name="single_line_mode">False</property>
<property name="angle">0</property>
</widget> </widget>
<packing> <packing>
<property name="left_attach">1</property> <property name="left_attach">1</property>
@ -2754,10 +2646,6 @@ Unknown</property>
<property name="yalign">0.5</property> <property name="yalign">0.5</property>
<property name="xpad">0</property> <property name="xpad">0</property>
<property name="ypad">0</property> <property name="ypad">0</property>
<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
<property name="width_chars">-1</property>
<property name="single_line_mode">False</property>
<property name="angle">0</property>
</widget> </widget>
<packing> <packing>
<property name="left_attach">3</property> <property name="left_attach">3</property>
@ -2772,8 +2660,6 @@ Unknown</property>
<child> <child>
<widget class="GtkComboBox" id="ldsbaptemple"> <widget class="GtkComboBox" id="ldsbaptemple">
<property name="visible">True</property> <property name="visible">True</property>
<property name="add_tearoffs">False</property>
<property name="focus_on_click">True</property>
</widget> </widget>
<packing> <packing>
<property name="left_attach">4</property> <property name="left_attach">4</property>
@ -2798,10 +2684,6 @@ Unknown</property>
<property name="xpad">0</property> <property name="xpad">0</property>
<property name="ypad">0</property> <property name="ypad">0</property>
<property name="mnemonic_widget">lds_bap_place</property> <property name="mnemonic_widget">lds_bap_place</property>
<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
<property name="width_chars">-1</property>
<property name="single_line_mode">False</property>
<property name="angle">0</property>
<accessibility> <accessibility>
<atkrelation target="lds_bap_place" type="label-for"/> <atkrelation target="lds_bap_place" type="label-for"/>
</accessibility> </accessibility>
@ -2839,8 +2721,6 @@ Unknown</property>
<child> <child>
<widget class="GtkComboBox" id="ldsbapstat"> <widget class="GtkComboBox" id="ldsbapstat">
<property name="visible">True</property> <property name="visible">True</property>
<property name="add_tearoffs">False</property>
<property name="focus_on_click">True</property>
</widget> </widget>
<packing> <packing>
<property name="left_attach">4</property> <property name="left_attach">4</property>
@ -2865,10 +2745,6 @@ Unknown</property>
<property name="yalign">0.5</property> <property name="yalign">0.5</property>
<property name="xpad">0</property> <property name="xpad">0</property>
<property name="ypad">0</property> <property name="ypad">0</property>
<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
<property name="width_chars">-1</property>
<property name="single_line_mode">False</property>
<property name="angle">0</property>
</widget> </widget>
<packing> <packing>
<property name="left_attach">3</property> <property name="left_attach">3</property>
@ -2883,8 +2759,6 @@ Unknown</property>
<child> <child>
<widget class="GtkComboBox" id="endowtemple"> <widget class="GtkComboBox" id="endowtemple">
<property name="visible">True</property> <property name="visible">True</property>
<property name="add_tearoffs">False</property>
<property name="focus_on_click">True</property>
</widget> </widget>
<packing> <packing>
<property name="left_attach">4</property> <property name="left_attach">4</property>
@ -2909,10 +2783,6 @@ Unknown</property>
<property name="yalign">0.5</property> <property name="yalign">0.5</property>
<property name="xpad">0</property> <property name="xpad">0</property>
<property name="ypad">0</property> <property name="ypad">0</property>
<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
<property name="width_chars">-1</property>
<property name="single_line_mode">False</property>
<property name="angle">0</property>
</widget> </widget>
<packing> <packing>
<property name="left_attach">3</property> <property name="left_attach">3</property>
@ -2938,10 +2808,6 @@ Unknown</property>
<property name="xpad">0</property> <property name="xpad">0</property>
<property name="ypad">0</property> <property name="ypad">0</property>
<property name="mnemonic_widget">lds_end_place</property> <property name="mnemonic_widget">lds_end_place</property>
<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
<property name="width_chars">-1</property>
<property name="single_line_mode">False</property>
<property name="angle">0</property>
<accessibility> <accessibility>
<atkrelation target="lds_end_place" type="label-for"/> <atkrelation target="lds_end_place" type="label-for"/>
</accessibility> </accessibility>
@ -2990,10 +2856,6 @@ Unknown</property>
<property name="yalign">0.5</property> <property name="yalign">0.5</property>
<property name="xpad">0</property> <property name="xpad">0</property>
<property name="ypad">0</property> <property name="ypad">0</property>
<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
<property name="width_chars">-1</property>
<property name="single_line_mode">False</property>
<property name="angle">0</property>
</widget> </widget>
<packing> <packing>
<property name="left_attach">3</property> <property name="left_attach">3</property>
@ -3008,8 +2870,6 @@ Unknown</property>
<child> <child>
<widget class="GtkComboBox" id="endowstat"> <widget class="GtkComboBox" id="endowstat">
<property name="visible">True</property> <property name="visible">True</property>
<property name="add_tearoffs">False</property>
<property name="focus_on_click">True</property>
</widget> </widget>
<packing> <packing>
<property name="left_attach">4</property> <property name="left_attach">4</property>
@ -3044,8 +2904,6 @@ Unknown</property>
<child> <child>
<widget class="GtkComboBox" id="sealtemple"> <widget class="GtkComboBox" id="sealtemple">
<property name="visible">True</property> <property name="visible">True</property>
<property name="add_tearoffs">False</property>
<property name="focus_on_click">True</property>
</widget> </widget>
<packing> <packing>
<property name="left_attach">4</property> <property name="left_attach">4</property>
@ -3070,10 +2928,6 @@ Unknown</property>
<property name="yalign">0.5</property> <property name="yalign">0.5</property>
<property name="xpad">0</property> <property name="xpad">0</property>
<property name="ypad">0</property> <property name="ypad">0</property>
<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
<property name="width_chars">-1</property>
<property name="single_line_mode">False</property>
<property name="angle">0</property>
</widget> </widget>
<packing> <packing>
<property name="left_attach">3</property> <property name="left_attach">3</property>
@ -3099,10 +2953,6 @@ Unknown</property>
<property name="xpad">0</property> <property name="xpad">0</property>
<property name="ypad">0</property> <property name="ypad">0</property>
<property name="mnemonic_widget">lds_seal_place</property> <property name="mnemonic_widget">lds_seal_place</property>
<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
<property name="width_chars">-1</property>
<property name="single_line_mode">False</property>
<property name="angle">0</property>
<accessibility> <accessibility>
<atkrelation target="lds_seal_place" type="label-for"/> <atkrelation target="lds_seal_place" type="label-for"/>
</accessibility> </accessibility>
@ -3151,10 +3001,6 @@ Unknown</property>
<property name="yalign">0.5</property> <property name="yalign">0.5</property>
<property name="xpad">0</property> <property name="xpad">0</property>
<property name="ypad">0</property> <property name="ypad">0</property>
<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
<property name="width_chars">-1</property>
<property name="single_line_mode">False</property>
<property name="angle">0</property>
</widget> </widget>
<packing> <packing>
<property name="left_attach">3</property> <property name="left_attach">3</property>
@ -3169,8 +3015,6 @@ Unknown</property>
<child> <child>
<widget class="GtkComboBox" id="sealstat"> <widget class="GtkComboBox" id="sealstat">
<property name="visible">True</property> <property name="visible">True</property>
<property name="add_tearoffs">False</property>
<property name="focus_on_click">True</property>
</widget> </widget>
<packing> <packing>
<property name="left_attach">4</property> <property name="left_attach">4</property>
@ -3215,10 +3059,6 @@ Unknown</property>
<property name="yalign">0.5</property> <property name="yalign">0.5</property>
<property name="xpad">0</property> <property name="xpad">0</property>
<property name="ypad">0</property> <property name="ypad">0</property>
<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
<property name="width_chars">-1</property>
<property name="single_line_mode">False</property>
<property name="angle">0</property>
</widget> </widget>
<packing> <packing>
<property name="left_attach">0</property> <property name="left_attach">0</property>
@ -3243,10 +3083,6 @@ Unknown</property>
<property name="yalign">0.5</property> <property name="yalign">0.5</property>
<property name="xpad">0</property> <property name="xpad">0</property>
<property name="ypad">0</property> <property name="ypad">0</property>
<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
<property name="width_chars">-1</property>
<property name="single_line_mode">False</property>
<property name="angle">0</property>
</widget> </widget>
<packing> <packing>
<property name="left_attach">0</property> <property name="left_attach">0</property>
@ -3271,10 +3107,6 @@ Unknown</property>
<property name="yalign">0.5</property> <property name="yalign">0.5</property>
<property name="xpad">0</property> <property name="xpad">0</property>
<property name="ypad">0</property> <property name="ypad">0</property>
<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
<property name="width_chars">-1</property>
<property name="single_line_mode">False</property>
<property name="angle">0</property>
</widget> </widget>
<packing> <packing>
<property name="left_attach">0</property> <property name="left_attach">0</property>
@ -3300,10 +3132,6 @@ Unknown</property>
<property name="xpad">0</property> <property name="xpad">0</property>
<property name="ypad">0</property> <property name="ypad">0</property>
<property name="mnemonic_widget">sealparents</property> <property name="mnemonic_widget">sealparents</property>
<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
<property name="width_chars">-1</property>
<property name="single_line_mode">False</property>
<property name="angle">0</property>
</widget> </widget>
<packing> <packing>
<property name="left_attach">1</property> <property name="left_attach">1</property>
@ -3318,8 +3146,6 @@ Unknown</property>
<child> <child>
<widget class="GtkComboBox" id="sealparents"> <widget class="GtkComboBox" id="sealparents">
<property name="visible">True</property> <property name="visible">True</property>
<property name="add_tearoffs">False</property>
<property name="focus_on_click">True</property>
</widget> </widget>
<packing> <packing>
<property name="left_attach">2</property> <property name="left_attach">2</property>
@ -3367,8 +3193,6 @@ Unknown</property>
<child> <child>
<widget class="GtkImage" id="image2587"> <widget class="GtkImage" id="image2587">
<property name="visible">True</property> <property name="visible">True</property>
<property name="icon_size">4</property>
<property name="icon_name">gtk-file</property>
<property name="xalign">0.5</property> <property name="xalign">0.5</property>
<property name="yalign">0.5</property> <property name="yalign">0.5</property>
<property name="xpad">0</property> <property name="xpad">0</property>
@ -3394,10 +3218,6 @@ Unknown</property>
<property name="yalign">0.5</property> <property name="yalign">0.5</property>
<property name="xpad">6</property> <property name="xpad">6</property>
<property name="ypad">0</property> <property name="ypad">0</property>
<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
<property name="width_chars">-1</property>
<property name="single_line_mode">False</property>
<property name="angle">0</property>
</widget> </widget>
<packing> <packing>
<property name="padding">0</property> <property name="padding">0</property>

File diff suppressed because it is too large Load Diff