7342: Split details column in events gramplet

This commit is contained in:
Nick Hall 2014-02-28 15:58:06 +00:00
parent 35ed90b138
commit 9645892b5e

View File

@ -20,13 +20,16 @@
# #
from gramps.gui.editors import EditEvent from gramps.gui.editors import EditEvent
from gramps.gen.lib import EventRoleType
from gramps.gui.listmodel import ListModel, NOSORT from gramps.gui.listmodel import ListModel, NOSORT
from gramps.gen.plug import Gramplet from gramps.gen.plug import Gramplet
from gramps.gen.const import GRAMPS_LOCALE as glocale from gramps.gen.const import GRAMPS_LOCALE as glocale
_ = glocale.translation.gettext _ = glocale.translation.gettext
from gramps.gen.display.name import displayer as name_displayer from gramps.gen.display.name import displayer as name_displayer
from gramps.gen.datehandler import get_date from gramps.gen.datehandler import get_date
from gramps.gen.utils.db import get_birth_or_fallback, get_marriage_or_fallback from gramps.gen.utils.db import (get_participant_from_event,
get_birth_or_fallback,
get_marriage_or_fallback)
from gramps.gen.errors import WindowActiveError from gramps.gen.errors import WindowActiveError
from gi.repository import Gtk from gi.repository import Gtk
from gramps.gen.config import config from gramps.gen.config import config
@ -52,13 +55,14 @@ class Events(Gramplet):
top = Gtk.TreeView() top = Gtk.TreeView()
titles = [('', NOSORT, 50,), titles = [('', NOSORT, 50,),
(_('Type'), 1, 100), (_('Type'), 1, 100),
(_('Details'), 2, 200), (_('Main Participants'), 2, 200),
(_('Date'), 3, 100), (_('Date'), 3, 100),
('', NOSORT, 50), ('', NOSORT, 50),
(_('Age'), 4, 100), (_('Age'), 4, 100),
('', NOSORT, 50), ('', NOSORT, 50),
(_('Place'), 5, 400), (_('Place'), 5, 400),
(_('Role'), 6, 100)] (_('Description'), 6, 150),
(_('Role'), 7, 100)]
self.model = ListModel(top, titles, event_func=self.edit_event) self.model = ListModel(top, titles, event_func=self.edit_event)
return top return top
@ -75,18 +79,26 @@ class Events(Gramplet):
handle = event.get_place_handle() handle = event.get_place_handle()
if handle: if handle:
place = self.dbstate.db.get_place_from_handle(handle).get_title() place = self.dbstate.db.get_place_from_handle(handle).get_title()
if spouse:
details = name_displayer.display(spouse) participants = ''
else: if int(event_ref.get_role()) == EventRoleType.FAMILY:
details = event.get_description() if spouse:
participants = name_displayer.display(spouse)
if int(event_ref.get_role()) not in (EventRoleType.PRIMARY,
EventRoleType.FAMILY):
participants = Utils.get_participant_from_event(self.dbstate.db,
event_ref.ref)
self.model.add((event.get_handle(), self.model.add((event.get_handle(),
str(event.get_type()), str(event.get_type()),
details, participants,
event_date, event_date,
event_sort, event_sort,
person_age, person_age,
person_age_sort, person_age_sort,
place, place,
event.get_description(),
str(event_ref.get_role()))) str(event_ref.get_role())))
def column_age(self, event): def column_age(self, event):