From b1c44ad45ec8f751eaf222bd6f8e9c8b976d34ac Mon Sep 17 00:00:00 2001 From: Vassilii Khachaturov Date: Fri, 25 Feb 2011 17:24:11 +0000 Subject: [PATCH] Fix bug #4687: session log gramplet - overzealous l10n of signal names breaks clickable link handlers * No longer translate "link_type" passed to GuiGramplet.link, this is an internal constant name never exposed to the user. * Add a warning to GuiGramplet.on_button_press, in case an unknown link type is encountered during the event processing * Applied changes to my patch as suggested during the CR by dsblank svn: r16714 --- src/gui/widgets/grampletpane.py | 2 ++ src/plugins/gramplet/SessionLogGramplet.py | 22 ++++++++++++---------- 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/src/gui/widgets/grampletpane.py b/src/gui/widgets/grampletpane.py index 78f34c37e..924626736 100644 --- a/src/gui/widgets/grampletpane.py +++ b/src/gui/widgets/grampletpane.py @@ -676,6 +676,8 @@ class GuiGramplet(object): 'attribute_match', handle) return True + else: # overzealous l10n while setting the link? + warn( "Unknown link type " + link_type, RuntimeWarning, 2) return False # did not handle event class GridGramplet(GuiGramplet): diff --git a/src/plugins/gramplet/SessionLogGramplet.py b/src/plugins/gramplet/SessionLogGramplet.py index c6c8cd0e8..71e1e1580 100644 --- a/src/plugins/gramplet/SessionLogGramplet.py +++ b/src/plugins/gramplet/SessionLogGramplet.py @@ -42,32 +42,34 @@ class LogGramplet(Gramplet): def db_changed(self): self.append_text(_("Opened data base -----------\n")) + # List of translated strings used here (translated in self.log ). + _('Added'), _('Deleted'), _('Edited') # Dead code for l10n self.dbstate.db.connect('person-add', - lambda handles: self.log(_('Person'), _('Added'), handles)) + lambda handles: self.log('Person', 'Added', handles)) self.dbstate.db.connect('person-delete', - lambda handles: self.log(_('Person'), _('Deleted'), handles)) + lambda handles: self.log('Person', 'Deleted', handles)) self.dbstate.db.connect('person-update', - lambda handles: self.log(_('Person'), _('Edited'), handles)) + lambda handles: self.log('Person', 'Edited', handles)) self.dbstate.db.connect('family-add', - lambda handles: self.log(_('Family'), _('Added'), handles)) + lambda handles: self.log('Family', 'Added', handles)) self.dbstate.db.connect('family-delete', - lambda handles: self.log(_('Family'), _('Deleted'), handles)) + lambda handles: self.log('Family', 'Deleted', handles)) self.dbstate.db.connect('family-update', - lambda handles: self.log(_('Family'), _('Added'), handles)) + lambda handles: self.log('Family', 'Edited', handles)) def active_changed(self, handle): - self.log(_('Person'), _('Selected'), [handle]) + self.log('Person', 'Selected', [handle]) def log(self, ltype, action, handles): for handle in set(handles): if self.last_log == (ltype, action, handle): continue self.last_log = (ltype, action, handle) - self.append_text("%s: " % action) - if ltype == _("Person"): + self.append_text("%s: " % _(action)) + if ltype == 'Person': person = self.dbstate.db.get_person_from_handle(handle) name = name_displayer.display(person) - elif ltype == _("Family"): + elif ltype == 'Family': family = self.dbstate.db.get_family_from_handle(handle) father_name = _("unknown") mother_name = _("unknown")