diff --git a/gramps/gen/lib/note.py b/gramps/gen/lib/note.py index 05a4d7506..5161891fd 100644 --- a/gramps/gen/lib/note.py +++ b/gramps/gen/lib/note.py @@ -161,7 +161,14 @@ class Note(BasicPrimaryObject): :returns: List of (classname, handle) tuples for referenced objects. :rtype: list """ - return self.get_referenced_tag_handles() + reflist = [] + for dom, obj, prop, hndl in self.get_links(): + if dom != "gramps" or prop != "handle": + continue + else: + reflist.append((obj, hndl)) + reflist.extend(self.get_referenced_tag_handles()) + return reflist def merge(self, acquisition): """ diff --git a/gramps/gui/editors/displaytabs/backrefmodel.py b/gramps/gui/editors/displaytabs/backrefmodel.py index a8044493f..a3a922497 100644 --- a/gramps/gui/editors/displaytabs/backrefmodel.py +++ b/gramps/gui/editors/displaytabs/backrefmodel.py @@ -134,6 +134,15 @@ class BackRefModel(Gtk.ListStore): name = p.get_name() gid = p.gramps_id handle = p.handle + elif dtype == 'Note': + p = self.db.get_note_from_handle(ref[1]) + if not p: + continue + name = " ".join(p.get().split()) + if len(name) > 80: + name = name[:80] + "..." + gid = p.gramps_id + handle = p.handle else: p = self.db.get_media_from_handle(ref[1]) if not p: diff --git a/gramps/gui/utils.py b/gramps/gui/utils.py index d6346fb9d..ba5315924 100644 --- a/gramps/gui/utils.py +++ b/gramps/gui/utils.py @@ -569,12 +569,14 @@ def get_link_color(context): return rgb_to_hex((col.red, col.green, col.blue)) + def edit_object(dbstate, uistate, reftype, ref): """ Invokes the appropriate editor for an object type and given handle. """ from .editors import (EditEvent, EditPerson, EditFamily, EditSource, - EditPlace, EditMedia, EditRepository, EditCitation) + EditPlace, EditMedia, EditRepository, EditCitation, + EditNote) if reftype == 'Person': try: @@ -642,6 +644,13 @@ def edit_object(dbstate, uistate, reftype, ref): EditRepository(dbstate, uistate, [], repo) except WindowActiveError: pass + elif reftype == 'Note': + try: + note = dbstate.db.get_note_from_handle(ref) + EditNote(dbstate, uistate, [], note) + except WindowActiveError: + pass + #------------------------------------------------------------------------- #