49 lines
1.8 KiB
Diff
49 lines
1.8 KiB
Diff
58a59
|
|
> from ..display import display_url
|
|
96a98
|
|
> self.person_label.set_use_markup(True)
|
|
103a106
|
|
> self.person_label.connect('activate_link', self.on_person_label_activate_link)
|
|
122c125,126
|
|
< self.person_label.set_text(name_displayer.display(p))
|
|
---
|
|
> self.person_label.set_markup("<a href='gramps://Person/handle/" + p.get_handle() + "'>" + name_displayer.display(p) + "</a>")
|
|
> # self.person_label.set_text(name_displayer.display(p))
|
|
169c173,174
|
|
< self.person_label.set_text(name_displayer.display(person))
|
|
---
|
|
> self.person_label.set_markup("<a href='gramps://Person/handle/" + person.get_handle() + "'>" + name_displayer.display(person) + "</a>")
|
|
> # self.person_label.set_text(name_displayer.display(person))
|
|
170a176,206
|
|
>
|
|
> def find_parent_with_attr(self, attr="dbstate"):
|
|
> """
|
|
> """
|
|
> # Find a parent with attr:
|
|
> obj = self
|
|
> while obj:
|
|
> if hasattr(obj, attr):
|
|
> break
|
|
> obj = obj.get_parent()
|
|
> return obj
|
|
>
|
|
> def on_person_label_activate_link(self, widget, uri):
|
|
> """
|
|
> Handle the standard gtk interface for activate_link.
|
|
> """
|
|
> # this is stupid
|
|
> if uri.startswith("gramps://"):
|
|
> # if in a window:
|
|
> win_obj = self.find_parent_with_attr(attr="dbstate")
|
|
> if win_obj:
|
|
> # Edit the object:
|
|
> obj_class, prop, value = uri[9:].split("/")
|
|
> from ..editors import EditObject
|
|
> EditObject(win_obj.dbstate,
|
|
> win_obj.uistate,
|
|
> win_obj.track,
|
|
> obj_class, prop, value)
|
|
> return
|
|
>
|
|
> display_url(uri)
|