* src/gramps.glade (Marriage): Re-work dialog similar to EditPerson.
* src/Utils.py (family_event_roles): Add mapping. * src/RelLib.py (EventRef): Add FAMILY role. * src/Marriage.py: Start using Listbox, so far for Events only. * src/ListBox.py: Support both person and family primaries. * src/EventEdit.py: Support both person and family primaries. * src/EditPerson.py (on_apply_person_clicked): Do not commit event, as this is done in the editor. svn: r4809
This commit is contained in:
parent
778000cd38
commit
35935f491f
@ -9,6 +9,15 @@
|
|||||||
* src/EventView.py (Module): Remove extra column.
|
* src/EventView.py (Module): Remove extra column.
|
||||||
* src/EventEdit.py (EventEditor.__init__): Remove obsolete code.
|
* src/EventEdit.py (EventEditor.__init__): Remove obsolete code.
|
||||||
|
|
||||||
|
* src/gramps.glade (Marriage): Re-work dialog similar to EditPerson.
|
||||||
|
* src/Utils.py (family_event_roles): Add mapping.
|
||||||
|
* src/RelLib.py (EventRef): Add FAMILY role.
|
||||||
|
* src/Marriage.py: Start using Listbox, so far for Events only.
|
||||||
|
* src/ListBox.py: Support both person and family primaries.
|
||||||
|
* src/EventEdit.py: Support both person and family primaries.
|
||||||
|
* src/EditPerson.py (on_apply_person_clicked): Do not commit
|
||||||
|
event, as this is done in the editor.
|
||||||
|
|
||||||
2005-06-08 Martin Hawlisch <Martin.Hawlisch@gmx.de>
|
2005-06-08 Martin Hawlisch <Martin.Hawlisch@gmx.de>
|
||||||
* src/EventView.py (column_names): Add missing column
|
* src/EventView.py (column_names): Add missing column
|
||||||
* src/RepositoryView.py (column_names): Add missing columns
|
* src/RepositoryView.py (column_names): Add missing columns
|
||||||
|
@ -1036,8 +1036,8 @@ class EditPerson:
|
|||||||
self.db.commit_person(self.person, trans)
|
self.db.commit_person(self.person, trans)
|
||||||
n = self.person.get_primary_name().get_regular_name()
|
n = self.person.get_primary_name().get_regular_name()
|
||||||
|
|
||||||
for (event_ref,event) in self.event_box.get_changed_objects():
|
#for (event_ref,event) in self.event_box.get_changed_objects():
|
||||||
self.db.commit_event(event,trans)
|
# self.db.commit_event(event,trans)
|
||||||
|
|
||||||
self.db.transaction_commit(trans,_("Edit Person (%s)") % n)
|
self.db.transaction_commit(trans,_("Edit Person (%s)") % n)
|
||||||
if self.callback:
|
if self.callback:
|
||||||
|
@ -465,21 +465,25 @@ class EventRefEditor:
|
|||||||
"on_eer_delete_event" : self.on_delete_event,
|
"on_eer_delete_event" : self.on_delete_event,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
if self.referent.__class__.__name__ == 'Person':
|
||||||
|
default_type = RelLib.Event.BIRTH
|
||||||
|
default_role = RelLib.EventRef.PRIMARY
|
||||||
|
ev_dict = Utils.personal_events
|
||||||
|
role_dict = Utils.event_roles
|
||||||
|
elif self.referent.__class__.__name__ == 'Family':
|
||||||
|
default_type = RelLib.Event.MARRIAGE
|
||||||
|
default_role = RelLib.EventRef.FAMILY
|
||||||
|
ev_dict = Utils.family_events
|
||||||
|
role_dict = Utils.family_event_roles
|
||||||
|
|
||||||
self.role_selector = AutoComp.StandardCustomSelector(
|
self.role_selector = AutoComp.StandardCustomSelector(
|
||||||
Utils.event_roles,self.role_combo,
|
role_dict,self.role_combo,
|
||||||
RelLib.EventRef.CUSTOM,RelLib.EventRef.PRIMARY)
|
RelLib.EventRef.CUSTOM,default_role)
|
||||||
|
|
||||||
AutoComp.fill_entry(self.place_field,self.pmap.keys())
|
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(
|
self.type_selector = AutoComp.StandardCustomSelector(
|
||||||
Utils.personal_events,self.type_combo,
|
ev_dict,self.type_combo,
|
||||||
RelLib.Event.CUSTOM,default_type)
|
RelLib.Event.CUSTOM,default_type)
|
||||||
|
|
||||||
if self.event:
|
if self.event:
|
||||||
@ -488,7 +492,7 @@ class EventRefEditor:
|
|||||||
else:
|
else:
|
||||||
trans = self.db.transaction_begin()
|
trans = self.db.transaction_begin()
|
||||||
self.event = RelLib.Event()
|
self.event = RelLib.Event()
|
||||||
self.event.set_type((default_type,default_str))
|
self.event.set_type((default_type,ev_dict[default_type]))
|
||||||
self.db.add_event(self.event,trans)
|
self.db.add_event(self.event,trans)
|
||||||
self.db.transaction_commit(trans,_("Add Event"))
|
self.db.transaction_commit(trans,_("Add Event"))
|
||||||
self.date = Date.Date(None)
|
self.date = Date.Date(None)
|
||||||
@ -496,7 +500,7 @@ class EventRefEditor:
|
|||||||
|
|
||||||
if not self.event_ref:
|
if not self.event_ref:
|
||||||
self.event_ref = RelLib.EventRef()
|
self.event_ref = RelLib.EventRef()
|
||||||
self.event_ref.set_role((RelLib.EventRef.PRIMARY,_('Primary')))
|
self.event_ref.set_role((default_role,role_dict[default_role]))
|
||||||
self.event_ref.set_reference_handle(self.event.get_handle())
|
self.event_ref.set_reference_handle(self.event.get_handle())
|
||||||
|
|
||||||
self.srcreflist = self.event.get_source_references()
|
self.srcreflist = self.event.get_source_references()
|
||||||
@ -538,6 +542,10 @@ class EventRefEditor:
|
|||||||
Utils.bold_label(self.gallery_label)
|
Utils.bold_label(self.gallery_label)
|
||||||
|
|
||||||
self.add_itself_to_menu()
|
self.add_itself_to_menu()
|
||||||
|
try:
|
||||||
|
self.window.set_transient_for(self.parent.window)
|
||||||
|
except AttributeError:
|
||||||
|
pass
|
||||||
self.window.show()
|
self.window.show()
|
||||||
|
|
||||||
def on_delete_event(self,obj,b):
|
def on_delete_event(self,obj,b):
|
||||||
@ -608,7 +616,7 @@ class EventRefEditor:
|
|||||||
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)
|
||||||
self.close(None)
|
self.close(None)
|
||||||
|
|
||||||
if self.update:
|
if self.update:
|
||||||
|
@ -58,13 +58,20 @@ import Utils
|
|||||||
|
|
||||||
class ListBox:
|
class ListBox:
|
||||||
"""
|
"""
|
||||||
The ListBox manages the lists contained by the EditPerson dialog.
|
The ListBox manages the lists contained by the EditPerson or Marriage
|
||||||
It manages the add, update, and delete buttons, along with the
|
dialogs. It manages the add, update, and delete buttons, along with the
|
||||||
handling of inline editing.
|
handling of inline editing.
|
||||||
|
|
||||||
|
The primary argument is either Person or Family object.
|
||||||
"""
|
"""
|
||||||
def __init__(self, parent, person, obj, label, button_list, titles):
|
def __init__(self, parent, primary, obj, label, button_list, titles):
|
||||||
self.person = person
|
self.primary = primary
|
||||||
self.name = NameDisplay.displayer.display(person)
|
if self.primary.__class__.__name__ == 'Person':
|
||||||
|
self.name = NameDisplay.displayer.display(primary)
|
||||||
|
elif self.primary.__class__.__name__ == 'Family':
|
||||||
|
self.name = Utils.family_name(primary,parent.db)
|
||||||
|
else:
|
||||||
|
self.name = ""
|
||||||
self.label = label
|
self.label = label
|
||||||
self.db = parent.db
|
self.db = parent.db
|
||||||
self.parent = parent
|
self.parent = parent
|
||||||
@ -162,9 +169,9 @@ class ListBox:
|
|||||||
|
|
||||||
class ReorderListBox(ListBox):
|
class ReorderListBox(ListBox):
|
||||||
|
|
||||||
def __init__(self,parent,person,obj,label,button_list,evalues, dnd_type):
|
def __init__(self,parent,primary,obj,label,button_list,evalues, dnd_type):
|
||||||
|
|
||||||
ListBox.__init__(self,parent,person,obj,label,button_list,evalues)
|
ListBox.__init__(self,parent,primary,obj,label,button_list,evalues)
|
||||||
|
|
||||||
self.dnd_type = dnd_type
|
self.dnd_type = dnd_type
|
||||||
|
|
||||||
@ -180,7 +187,7 @@ class ReorderListBox(ListBox):
|
|||||||
|
|
||||||
bits_per = 8; # we're going to pass a string
|
bits_per = 8; # we're going to pass a string
|
||||||
pickled = pickle.dumps(node[0]);
|
pickled = pickle.dumps(node[0]);
|
||||||
data = str((self.dnd_type.drag_type, self.person.get_handle(), pickled));
|
data = str((self.dnd_type.drag_type, self.primary.get_handle(), pickled));
|
||||||
sel_data.set(sel_data.target, bits_per, data)
|
sel_data.set(sel_data.target, bits_per, data)
|
||||||
|
|
||||||
def unpickle(self, data):
|
def unpickle(self, data):
|
||||||
@ -192,10 +199,10 @@ class ReorderListBox(ListBox):
|
|||||||
if sel_data and sel_data.data:
|
if sel_data and sel_data.data:
|
||||||
exec 'data = %s' % sel_data.data
|
exec 'data = %s' % sel_data.data
|
||||||
exec 'mytype = "%s"' % data[0]
|
exec 'mytype = "%s"' % data[0]
|
||||||
exec 'person = "%s"' % data[1]
|
exec 'primary = "%s"' % data[1]
|
||||||
if mytype != self.dnd_type.drag_type:
|
if mytype != self.dnd_type.drag_type:
|
||||||
return
|
return
|
||||||
elif person == self.person.get_handle():
|
elif primary == self.primary.get_handle():
|
||||||
self.move_element(self.list_model.get_selected_row(),row)
|
self.move_element(self.list_model.get_selected_row(),row)
|
||||||
else:
|
else:
|
||||||
self.unpickle(data[2])
|
self.unpickle(data[2])
|
||||||
@ -274,31 +281,38 @@ class EventListBox(ReorderListBox):
|
|||||||
|
|
||||||
titles = ['Event', 'Description','Date','Place','Source','Note']
|
titles = ['Event', 'Description','Date','Place','Source','Note']
|
||||||
|
|
||||||
def __init__(self,parent,person,obj,label,button_list):
|
def __init__(self,parent,primary,obj,label,button_list):
|
||||||
|
|
||||||
self.data = []
|
self.data = []
|
||||||
self.person = person
|
self.primary = primary
|
||||||
self.parent = parent
|
self.parent = parent
|
||||||
birth_ref = person.get_birth_ref()
|
if self.primary.__class__.__name__ == 'Person':
|
||||||
death_ref = person.get_death_ref()
|
birth_ref = primary.get_birth_ref()
|
||||||
if birth_ref:
|
death_ref = primary.get_death_ref()
|
||||||
self.data.append((birth_ref,
|
if birth_ref:
|
||||||
|
self.data.append((birth_ref,
|
||||||
parent.db.get_event_from_handle(birth_ref.ref)))
|
parent.db.get_event_from_handle(birth_ref.ref)))
|
||||||
if death_ref:
|
if death_ref:
|
||||||
self.data.append((death_ref,
|
self.data.append((death_ref,
|
||||||
parent.db.get_event_from_handle(death_ref.ref)))
|
parent.db.get_event_from_handle(death_ref.ref)))
|
||||||
for event_ref in person.get_event_ref_list():
|
self.ev_dict = Utils.personal_events
|
||||||
|
self.role_dict = Utils.event_roles
|
||||||
|
elif self.primary.__class__.__name__ == 'Family':
|
||||||
|
self.ev_dict = Utils.family_events
|
||||||
|
self.role_dict = Utils.family_event_roles
|
||||||
|
|
||||||
|
for event_ref in primary.get_event_ref_list():
|
||||||
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)))
|
||||||
|
|
||||||
ev_custom_str = Utils.personal_events[RelLib.Event.CUSTOM]
|
ev_custom_str = self.ev_dict[RelLib.Event.CUSTOM]
|
||||||
eventnames = filter(lambda x: x != ev_custom_str,
|
eventnames = filter(lambda x: x != ev_custom_str,
|
||||||
Utils.personal_events.values())
|
self.ev_dict.values())
|
||||||
eventnames.sort(locale.strcoll)
|
eventnames.sort(locale.strcoll)
|
||||||
|
|
||||||
role_custom_str = Utils.event_roles[RelLib.EventRef.CUSTOM]
|
role_custom_str = self.role_dict[RelLib.EventRef.CUSTOM]
|
||||||
rolenames = filter(lambda x: x != role_custom_str,
|
rolenames = filter(lambda x: x != role_custom_str,
|
||||||
Utils.event_roles.values())
|
self.role_dict.values())
|
||||||
|
|
||||||
evalues = [
|
evalues = [
|
||||||
# Title Sort Col Size, Type Argument
|
# Title Sort Col Size, Type Argument
|
||||||
@ -311,13 +325,13 @@ class EventListBox(ReorderListBox):
|
|||||||
(_('Note'), NOSORT, 50, TOGGLE, None, None),
|
(_('Note'), NOSORT, 50, TOGGLE, None, None),
|
||||||
]
|
]
|
||||||
|
|
||||||
ReorderListBox.__init__(self, parent, person, obj, label,
|
ReorderListBox.__init__(self, parent, primary, obj, label,
|
||||||
button_list, evalues, DdTargets.EVENT)
|
button_list, evalues, DdTargets.EVENT)
|
||||||
|
|
||||||
self.ev_name_map,self.ev_val_map = self.build_maps(
|
self.ev_name_map,self.ev_val_map = self.build_maps(
|
||||||
RelLib.Event.CUSTOM,Utils.personal_events)
|
RelLib.Event.CUSTOM,self.ev_dict)
|
||||||
self.ref_name_map,self.ref_val_map = self.build_maps(
|
self.ref_name_map,self.ref_val_map = self.build_maps(
|
||||||
RelLib.EventRef.CUSTOM,Utils.personal_events)
|
RelLib.EventRef.CUSTOM,self.role_dict)
|
||||||
|
|
||||||
def set_type(self,index,value):
|
def set_type(self,index,value):
|
||||||
val = self.ev_name_map.get(value,RelLib.Event.CUSTOM)
|
val = self.ev_name_map.get(value,RelLib.Event.CUSTOM)
|
||||||
@ -349,11 +363,8 @@ 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.EventRefEditor(None,None,self.person,self.parent.db,
|
EventEdit.EventRefEditor(None,None,self.primary,self.parent.db,
|
||||||
self.edit_callback,self.parent)
|
self.edit_callback,self.parent)
|
||||||
# self.parent, self.name, Utils.personal_events,
|
|
||||||
# None, None, False,
|
|
||||||
# self.edit_callback, noedit=self.db.readonly)
|
|
||||||
|
|
||||||
def select(self,obj):
|
def select(self,obj):
|
||||||
"""
|
"""
|
||||||
@ -365,7 +376,7 @@ class EventListBox(ReorderListBox):
|
|||||||
self.parent.window)
|
self.parent.window)
|
||||||
event = sel_event.run()
|
event = sel_event.run()
|
||||||
if event:
|
if event:
|
||||||
EventEdit.EventRefEditor(event,None,self.person,self.parent.db,
|
EventEdit.EventRefEditor(event,None,self.primary,self.parent.db,
|
||||||
self.edit_callback,self.parent)
|
self.edit_callback,self.parent)
|
||||||
|
|
||||||
def update(self,obj):
|
def update(self,obj):
|
||||||
@ -373,11 +384,8 @@ class EventListBox(ReorderListBox):
|
|||||||
if not node:
|
if not node:
|
||||||
return
|
return
|
||||||
event_ref,event = self.list_model.get_object(node)
|
event_ref,event = self.list_model.get_object(node)
|
||||||
EventEdit.EventRefEditor(event,event_ref,self.person,self.parent.db,
|
EventEdit.EventRefEditor(event,event_ref,self.primary,self.parent.db,
|
||||||
self.edit_callback,self.parent)
|
self.edit_callback,self.parent)
|
||||||
# self.parent, self.name, Utils.personal_events,
|
|
||||||
# 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
|
||||||
@ -390,16 +398,16 @@ class EventListBox(ReorderListBox):
|
|||||||
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]):
|
or not self.ev_dict.has_key(etype[0]):
|
||||||
name = etype[1]
|
name = etype[1]
|
||||||
else:
|
else:
|
||||||
name = Utils.personal_events[etype[0]]
|
name = self.ev_dict[etype[0]]
|
||||||
ref_role = event_ref.get_role()
|
ref_role = event_ref.get_role()
|
||||||
if ref_role[0] == RelLib.EventRef.CUSTOM \
|
if ref_role[0] == RelLib.EventRef.CUSTOM \
|
||||||
or not Utils.event_roles.has_key(ref_role[0]):
|
or not self.role_dict.has_key(ref_role[0]):
|
||||||
role = ref_role[1]
|
role = ref_role[1]
|
||||||
else:
|
else:
|
||||||
role = Utils.event_roles[ref_role[0]]
|
role = self.role_dict[ref_role[0]]
|
||||||
return [name, event.get_description(), event.get_date(),
|
return [name, event.get_description(), event.get_date(),
|
||||||
pname, role, has_source, has_note]
|
pname, role, has_source, has_note]
|
||||||
|
|
||||||
|
@ -48,6 +48,7 @@ import const
|
|||||||
import Utils
|
import Utils
|
||||||
import AutoComp
|
import AutoComp
|
||||||
import ListModel
|
import ListModel
|
||||||
|
import ListBox
|
||||||
import RelLib
|
import RelLib
|
||||||
import ImageSelect
|
import ImageSelect
|
||||||
import DateHandler
|
import DateHandler
|
||||||
@ -121,16 +122,16 @@ class Marriage:
|
|||||||
"on_addphoto_clicked" : self.gallery.on_add_media_clicked,
|
"on_addphoto_clicked" : self.gallery.on_add_media_clicked,
|
||||||
"on_selectphoto_clicked" : self.gallery.on_select_media_clicked,
|
"on_selectphoto_clicked" : self.gallery.on_select_media_clicked,
|
||||||
"on_close_marriage_editor" : self.on_close_marriage_editor,
|
"on_close_marriage_editor" : self.on_close_marriage_editor,
|
||||||
"on_delete_event" : self.on_delete_event,
|
#"on_delete_event" : self.on_delete_event,
|
||||||
"on_lds_src_clicked" : self.lds_src_clicked,
|
"on_lds_src_clicked" : self.lds_src_clicked,
|
||||||
"on_lds_note_clicked" : self.lds_note_clicked,
|
"on_lds_note_clicked" : self.lds_note_clicked,
|
||||||
"on_deletephoto_clicked" : self.gallery.on_delete_media_clicked,
|
"on_deletephoto_clicked" : self.gallery.on_delete_media_clicked,
|
||||||
"on_edit_photo_clicked" : self.gallery.on_edit_media_clicked,
|
"on_edit_photo_clicked" : self.gallery.on_edit_media_clicked,
|
||||||
"on_edit_properties_clicked": self.gallery.popup_change_description,
|
"on_edit_properties_clicked": self.gallery.popup_change_description,
|
||||||
"on_marriageAddBtn_clicked" : self.on_add_clicked,
|
#"on_marriageAddBtn_clicked" : self.on_add_clicked,
|
||||||
"on_event_update_clicked" : self.on_event_update_clicked,
|
#"on_event_update_clicked" : self.on_event_update_clicked,
|
||||||
"on_attr_update_clicked" : self.on_update_attr_clicked,
|
"on_attr_update_clicked" : self.on_update_attr_clicked,
|
||||||
"on_marriageDeleteBtn_clicked" : self.on_delete_clicked,
|
#"on_marriageDeleteBtn_clicked" : self.on_delete_clicked,
|
||||||
"on_switch_page" : self.on_switch_page
|
"on_switch_page" : self.on_switch_page
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -148,22 +149,21 @@ class Marriage:
|
|||||||
|
|
||||||
Utils.set_title_label(self.top,self.title)
|
Utils.set_title_label(self.top,self.title)
|
||||||
|
|
||||||
self.event_list = self.get_widget("marriageEventList")
|
self.event_ref_list = self.get_widget("marriageEventList")
|
||||||
|
|
||||||
if gtk.gdk.screen_height() > 700:
|
if gtk.gdk.screen_height() > 700:
|
||||||
self.event_list.set_size_request(500,250)
|
self.event_ref_list.set_size_request(500,250)
|
||||||
else:
|
else:
|
||||||
self.event_list.set_size_request(500,-1)
|
self.event_ref_list.set_size_request(500,-1)
|
||||||
|
|
||||||
|
|
||||||
# widgets
|
# widgets
|
||||||
self.complete = self.get_widget('complete')
|
self.complete = self.get_widget('complete')
|
||||||
self.complete.set_sensitive(mode)
|
self.complete.set_sensitive(mode)
|
||||||
self.date_field = self.get_widget("marriageDate")
|
#self.date_field = self.get_widget("marriageDate")
|
||||||
self.place_field = self.get_widget("marriagePlace")
|
#self.place_field = self.get_widget("marriagePlace")
|
||||||
self.cause_field = self.get_widget("marriageCause")
|
#self.cause_field = self.get_widget("marriageCause")
|
||||||
self.name_field = self.get_widget("marriageEventName")
|
#self.name_field = self.get_widget("marriageEventName")
|
||||||
self.descr_field = self.get_widget("marriageDescription")
|
#self.descr_field = self.get_widget("marriageDescription")
|
||||||
self.type_field = self.get_widget("marriage_type")
|
self.type_field = self.get_widget("marriage_type")
|
||||||
self.type_field.set_sensitive(mode)
|
self.type_field.set_sensitive(mode)
|
||||||
self.notes_field = self.get_widget("marriageNotes")
|
self.notes_field = self.get_widget("marriageNotes")
|
||||||
@ -173,8 +173,12 @@ class Marriage:
|
|||||||
self.attr_list = self.get_widget("attr_list")
|
self.attr_list = self.get_widget("attr_list")
|
||||||
self.attr_type = self.get_widget("attr_type")
|
self.attr_type = self.get_widget("attr_type")
|
||||||
self.attr_value = self.get_widget("attr_value")
|
self.attr_value = self.get_widget("attr_value")
|
||||||
self.event_src_field = self.get_widget("event_srcinfo")
|
#self.event_src_field = self.get_widget("event_srcinfo")
|
||||||
self.event_conf_field = self.get_widget("event_conf")
|
#self.event_conf_field = self.get_widget("event_conf")
|
||||||
|
event_add_btn = self.get_widget("marriage_add")
|
||||||
|
event_edit_btn = self.get_widget("marriage_edit")
|
||||||
|
event_delete_btn = self.get_widget("marriage_del")
|
||||||
|
event_sel_btn = self.get_widget("marriage_sel")
|
||||||
self.attr_src_field = self.get_widget("attr_srcinfo")
|
self.attr_src_field = self.get_widget("attr_srcinfo")
|
||||||
self.attr_conf_field = self.get_widget("attr_conf")
|
self.attr_conf_field = self.get_widget("attr_conf")
|
||||||
self.lds_date = self.get_widget("lds_date")
|
self.lds_date = self.get_widget("lds_date")
|
||||||
@ -201,7 +205,7 @@ class Marriage:
|
|||||||
self.preform = self.get_widget("mar_preform")
|
self.preform = self.get_widget("mar_preform")
|
||||||
self.preform.set_sensitive(mode)
|
self.preform.set_sensitive(mode)
|
||||||
|
|
||||||
self.ereflist = family.get_event_ref_list()[:]
|
#self.ereflist = family.get_event_ref_list()[:]
|
||||||
self.alist = family.get_attribute_list()[:]
|
self.alist = family.get_attribute_list()[:]
|
||||||
self.lists_changed = 0
|
self.lists_changed = 0
|
||||||
|
|
||||||
@ -210,16 +214,22 @@ class Marriage:
|
|||||||
# set initial data
|
# set initial data
|
||||||
self.gallery.load_images()
|
self.gallery.load_images()
|
||||||
|
|
||||||
etitles = [(_('Event'),-1,100),(_('Date'),-1,125),(_('Place'),-1,150)]
|
#etitles = [(_('Event'),-1,100),(_('Date'),-1,125),(_('Place'),-1,150)]
|
||||||
atitles = [(_('Attribute'),-1,150),(_('Value'),-1,150)]
|
atitles = [(_('Attribute'),-1,150),(_('Value'),-1,150)]
|
||||||
|
|
||||||
self.etree = ListModel.ListModel(self.event_list, etitles,
|
#self.etree = ListModel.ListModel(self.event_list, etitles,
|
||||||
self.on_select_row,
|
# self.on_select_row,
|
||||||
self.on_event_update_clicked)
|
# self.on_event_update_clicked)
|
||||||
self.atree = ListModel.ListModel(self.attr_list, atitles,
|
self.atree = ListModel.ListModel(self.attr_list, atitles,
|
||||||
self.on_attr_list_select_row,
|
self.on_attr_list_select_row,
|
||||||
self.on_update_attr_clicked)
|
self.on_update_attr_clicked)
|
||||||
|
|
||||||
|
# event display
|
||||||
|
self.event_box = ListBox.EventListBox(
|
||||||
|
self, family, self.event_ref_list, self.events_label,
|
||||||
|
[event_add_btn,event_edit_btn,event_delete_btn,event_sel_btn])
|
||||||
|
self.event_box.redraw()
|
||||||
|
|
||||||
self.type_selector = AutoComp.StandardCustomSelector( \
|
self.type_selector = AutoComp.StandardCustomSelector( \
|
||||||
Utils.family_relations,self.type_field,
|
Utils.family_relations,self.type_field,
|
||||||
RelLib.Family.CUSTOM,RelLib.Name.MARRIED)
|
RelLib.Family.CUSTOM,RelLib.Name.MARRIED)
|
||||||
@ -264,17 +274,17 @@ class Marriage:
|
|||||||
else:
|
else:
|
||||||
Utils.unbold_label(self.lds_label)
|
Utils.unbold_label(self.lds_label)
|
||||||
|
|
||||||
self.event_list.drag_dest_set(gtk.DEST_DEFAULT_ALL,
|
#self.event_list.drag_dest_set(gtk.DEST_DEFAULT_ALL,
|
||||||
[DdTargets.FAMILY_EVENT.target()],
|
# [DdTargets.FAMILY_EVENT.target()],
|
||||||
gtk.gdk.ACTION_COPY)
|
# gtk.gdk.ACTION_COPY)
|
||||||
self.event_list.drag_source_set(gtk.gdk.BUTTON1_MASK,
|
#self.event_list.drag_source_set(gtk.gdk.BUTTON1_MASK,
|
||||||
[DdTargets.FAMILY_EVENT.target()],
|
# [DdTargets.FAMILY_EVENT.target()],
|
||||||
gtk.gdk.ACTION_COPY)
|
# gtk.gdk.ACTION_COPY)
|
||||||
self.event_list.connect('drag_data_get',
|
#self.event_list.connect('drag_data_get',
|
||||||
self.ev_source_drag_data_get)
|
# self.ev_source_drag_data_get)
|
||||||
self.event_list.connect('drag_data_received',
|
#self.event_list.connect('drag_data_received',
|
||||||
self.ev_dest_drag_data_received)
|
# self.ev_dest_drag_data_received)
|
||||||
self.event_list.connect('drag_begin', self.ev_drag_begin)
|
#self.event_list.connect('drag_begin', self.ev_drag_begin)
|
||||||
|
|
||||||
self.attr_list.drag_dest_set(gtk.DEST_DEFAULT_ALL,
|
self.attr_list.drag_dest_set(gtk.DEST_DEFAULT_ALL,
|
||||||
[DdTargets.FAMILY_ATTRIBUTE.target()],
|
[DdTargets.FAMILY_ATTRIBUTE.target()],
|
||||||
@ -303,7 +313,7 @@ class Marriage:
|
|||||||
self.top.get_widget('add_src'), self.top.get_widget('edit_src'),
|
self.top.get_widget('add_src'), self.top.get_widget('edit_src'),
|
||||||
self.top.get_widget('del_src'), self.db.readonly)
|
self.top.get_widget('del_src'), self.db.readonly)
|
||||||
|
|
||||||
self.redraw_event_list()
|
#self.redraw_event_list()
|
||||||
self.redraw_attr_list()
|
self.redraw_attr_list()
|
||||||
self.add_itself_to_winsmenu()
|
self.add_itself_to_winsmenu()
|
||||||
self.top.get_widget('ok').set_sensitive(not self.db.readonly)
|
self.top.get_widget('ok').set_sensitive(not self.db.readonly)
|
||||||
@ -524,7 +534,8 @@ class Marriage:
|
|||||||
selection_data.set(selection_data.target, bits_per, data)
|
selection_data.set(selection_data.target, bits_per, data)
|
||||||
|
|
||||||
def update_lists(self):
|
def update_lists(self):
|
||||||
self.family.set_event_ref_list(self.ereflist)
|
eref_list = [event_ref for (event_ref,event) in self.event_box.data]
|
||||||
|
self.family.set_event_ref_list(eref_list)
|
||||||
self.family.set_attribute_list(self.alist)
|
self.family.set_attribute_list(self.alist)
|
||||||
|
|
||||||
def attr_edit_callback(self,attr):
|
def attr_edit_callback(self,attr):
|
||||||
@ -848,6 +859,8 @@ class Marriage:
|
|||||||
list.insert(dest,obj)
|
list.insert(dest,obj)
|
||||||
|
|
||||||
def on_switch_page(self,obj,a,page):
|
def on_switch_page(self,obj,a,page):
|
||||||
|
if page == 0:
|
||||||
|
self.event_box.redraw()
|
||||||
text = unicode(self.notes_buffer.get_text(self.notes_buffer.get_start_iter(),
|
text = unicode(self.notes_buffer.get_text(self.notes_buffer.get_start_iter(),
|
||||||
self.notes_buffer.get_end_iter(),False))
|
self.notes_buffer.get_end_iter(),False))
|
||||||
if text:
|
if text:
|
||||||
|
@ -4177,6 +4177,7 @@ class EventRef(BaseObject,PrivacyBase,NoteBase):
|
|||||||
BRIDE = 5
|
BRIDE = 5
|
||||||
GROOM = 6
|
GROOM = 6
|
||||||
WITNESS = 7
|
WITNESS = 7
|
||||||
|
FAMILY = 8
|
||||||
|
|
||||||
def __init__(self,source=None):
|
def __init__(self,source=None):
|
||||||
"""
|
"""
|
||||||
|
@ -215,6 +215,12 @@ event_roles = {
|
|||||||
RelLib.EventRef.WITNESS : _("Witness"),
|
RelLib.EventRef.WITNESS : _("Witness"),
|
||||||
}
|
}
|
||||||
|
|
||||||
|
family_event_roles = {
|
||||||
|
RelLib.EventRef.UNKNOWN : _("Unknown"),
|
||||||
|
RelLib.EventRef.CUSTOM : _("Custom"),
|
||||||
|
RelLib.EventRef.FAMILY : _("Family"),
|
||||||
|
}
|
||||||
|
|
||||||
repository_types = {
|
repository_types = {
|
||||||
RelLib.Repository.UNKNOWN : _("Unknown"),
|
RelLib.Repository.UNKNOWN : _("Unknown"),
|
||||||
RelLib.Repository.CUSTOM : _("Custom"),
|
RelLib.Repository.CUSTOM : _("Custom"),
|
||||||
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user