7137: Fix updating of events gramplets
This commit is contained in:
parent
7eb68e0c2f
commit
6d0c5d4e0e
@ -23,6 +23,7 @@ from gramps.gui.editors import EditEvent
|
|||||||
from gramps.gen.lib import EventRoleType
|
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.gui.dbguielement import DbGUIElement
|
||||||
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
|
||||||
@ -36,7 +37,12 @@ from gramps.gen.config import config
|
|||||||
|
|
||||||
age_precision = config.get('preferences.age-display-precision')
|
age_precision = config.get('preferences.age-display-precision')
|
||||||
|
|
||||||
class Events(Gramplet):
|
class Events(Gramplet, DbGUIElement):
|
||||||
|
|
||||||
|
def __init__(self, gui, nav_group=0):
|
||||||
|
Gramplet.__init__(self, gui, nav_group)
|
||||||
|
DbGUIElement.__init__(self, self.dbstate.db)
|
||||||
|
|
||||||
"""
|
"""
|
||||||
Displays the events for a person or family.
|
Displays the events for a person or family.
|
||||||
"""
|
"""
|
||||||
@ -46,6 +52,19 @@ class Events(Gramplet):
|
|||||||
self.gui.get_container_widget().add(self.gui.WIDGET)
|
self.gui.get_container_widget().add(self.gui.WIDGET)
|
||||||
self.gui.WIDGET.show()
|
self.gui.WIDGET.show()
|
||||||
|
|
||||||
|
def _connect_db_signals(self):
|
||||||
|
"""
|
||||||
|
called on init of DbGUIElement, connect to db as required.
|
||||||
|
"""
|
||||||
|
self.callman.register_callbacks({'event-update': self.changed})
|
||||||
|
self.callman.connect_all(keys=['event'])
|
||||||
|
|
||||||
|
def changed(self, handle):
|
||||||
|
"""
|
||||||
|
Called when a registered event is updated.
|
||||||
|
"""
|
||||||
|
self.update()
|
||||||
|
|
||||||
def build_gui(self):
|
def build_gui(self):
|
||||||
"""
|
"""
|
||||||
Build the GUI interface.
|
Build the GUI interface.
|
||||||
@ -70,6 +89,7 @@ class Events(Gramplet):
|
|||||||
"""
|
"""
|
||||||
Add an event to the model.
|
Add an event to the model.
|
||||||
"""
|
"""
|
||||||
|
self.callman.register_handles({'event': [event_ref.ref]})
|
||||||
event = self.dbstate.db.get_event_from_handle(event_ref.ref)
|
event = self.dbstate.db.get_event_from_handle(event_ref.ref)
|
||||||
event_date = get_date(event)
|
event_date = get_date(event)
|
||||||
event_sort = '%012d' % event.get_date_object().get_sort_value()
|
event_sort = '%012d' % event.get_date_object().get_sort_value()
|
||||||
@ -170,6 +190,7 @@ class PersonEvents(Events):
|
|||||||
active_handle = self.get_active('Person')
|
active_handle = self.get_active('Person')
|
||||||
|
|
||||||
self.model.clear()
|
self.model.clear()
|
||||||
|
self.callman.unregister_all()
|
||||||
if active_handle:
|
if active_handle:
|
||||||
self.display_person(active_handle)
|
self.display_person(active_handle)
|
||||||
else:
|
else:
|
||||||
@ -231,6 +252,7 @@ class FamilyEvents(Events):
|
|||||||
active_handle = self.get_active('Family')
|
active_handle = self.get_active('Family')
|
||||||
|
|
||||||
self.model.clear()
|
self.model.clear()
|
||||||
|
self.callman.unregister_all()
|
||||||
if active_handle:
|
if active_handle:
|
||||||
self.display_family(active_handle)
|
self.display_family(active_handle)
|
||||||
else:
|
else:
|
||||||
|
Loading…
Reference in New Issue
Block a user