display person thumbnails in Edit Family view

This commit is contained in:
Michael Becker 2023-05-04 08:00:06 -04:00
parent 3af6db4ea7
commit cd43981921
2 changed files with 284 additions and 192 deletions

49
gramps/gui/editors/editfamily.py Normal file → Executable file
View File

@ -82,6 +82,9 @@ from gramps.gen.utils.id import create_id
from gramps.gen.const import URL_MANUAL_SECT1
from ..dbguielement import DbGUIElement
from gramps.gen.utils.file import media_path_full
from gramps.gui.widgets import Photo
#-------------------------------------------------------------------------
#
# Constants
@ -589,6 +592,9 @@ class EditFamily(EditPrimary):
self.mname = self.top.get_object('mname')
self.fname = self.top.get_object('fname')
self.mimg = self.top.get_object('mimg')
self.fimg = self.top.get_object('fimg')
self.mbutton_index = self.top.get_object('mbutton_index')
self.mbutton_add = self.top.get_object('mbutton_add')
@ -803,7 +809,7 @@ class EditFamily(EditPrimary):
self.top.get_object('vbox').pack_start(notebook, True, True, 0)
def update_father(self, handle):
self.load_parent(handle, self.fname, self.fbirth, self.fbirth_label,
self.load_parent(handle, self.fname, self.fimg, self.fbirth, self.fbirth_label,
self.fdeath, self.fdeath_label,
self.fbutton_index, self.fbutton_add,
self.fbutton_del, self.fbutton_edit)
@ -813,7 +819,7 @@ class EditFamily(EditPrimary):
self.on_drag_fatherdata_received)
def update_mother(self, handle):
self.load_parent(handle, self.mname, self.mbirth, self.mbirth_label,
self.load_parent(handle, self.mname, self.mimg, self.mbirth, self.mbirth_label,
self.mdeath, self.mdeath_label,
self.mbutton_index, self.mbutton_add,
self.mbutton_del, self.mbutton_edit)
@ -975,7 +981,7 @@ class EditFamily(EditPrimary):
except WindowActiveError:
pass
def load_parent(self, handle, name_obj, birth_obj, birth_label, death_obj,
def load_parent(self, handle, name_obj, img_obj, birth_obj, birth_label, death_obj,
death_label, btn_index, btn_add, btn_del, btn_edit):
# is a parent used here:
is_used = handle is not None
@ -1006,6 +1012,9 @@ class EditFamily(EditPrimary):
btn_add.hide()
btn_del.show()
btn_edit.show()
if img_obj:
load_person_image(self, person, img_obj)
else:
name = ""
birth = None
@ -1281,3 +1290,37 @@ def button_activated(event, mouse_button):
return True
else:
return False
def destroy_cb(widget, data):
"""
Callback for gtk_container_foreach
"""
widget.destroy()
def load_person_image(self, person, photo_container):
"""
Load the primary image if it exists.
"""
photo = Photo(True)
photo.show()
photo_container.foreach(destroy_cb, None)
photo_container.add(photo)
media_list = person.get_media_list()
if media_list:
media_ref = media_list[0]
object_handle = media_ref.get_reference_handle()
obj = self.dbstate.db.get_media_from_handle(object_handle)
full_path = media_path_full(self.dbstate.db, obj.get_path())
mime_type = obj.get_mime_type()
if mime_type and mime_type.startswith("image"):
photo.set_image(full_path, mime_type, media_ref.get_rectangle())
photo.set_uistate(self.uistate, object_handle)
else:
photo.set_image(None)
photo.set_uistate(None, None)
else:
photo.set_image(None)
photo.set_uistate(None, None)

427
gramps/gui/glade/editfamily.glade Normal file → Executable file
View File

@ -1,33 +1,33 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.18.3 -->
<!-- Generated with glade 3.38.2 -->
<interface>
<requires lib="gtk+" version="3.10"/>
<requires lib="grampswidgets" version="0.0"/>
<object class="GtkDialog" id="editfamily">
<property name="can_focus">False</property>
<property name="type_hint">dialog</property>
<property name="can-focus">False</property>
<property name="type-hint">dialog</property>
<child internal-child="vbox">
<object class="GtkBox" id="dialog-vbox17">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="can-focus">False</property>
<property name="orientation">vertical</property>
<child internal-child="action_area">
<object class="GtkButtonBox" id="dialog-action_area17">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="layout_style">end</property>
<property name="can-focus">False</property>
<property name="layout-style">end</property>
<child>
<object class="GtkButton" id="cancel">
<property name="label" translatable="yes">_Cancel</property>
<property name="use_action_appearance">False</property>
<property name="use-action-appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="can_default">True</property>
<property name="receives_default">True</property>
<property name="has_tooltip">True</property>
<property name="tooltip_markup">Abandon changes and close window</property>
<property name="tooltip_text" translatable="yes">Abandon changes and close window</property>
<property name="use_underline">True</property>
<property name="can-focus">True</property>
<property name="can-default">True</property>
<property name="receives-default">True</property>
<property name="has-tooltip">True</property>
<property name="tooltip-markup">Abandon changes and close window</property>
<property name="tooltip-text" translatable="yes">Abandon changes and close window</property>
<property name="use-underline">True</property>
</object>
<packing>
<property name="expand">False</property>
@ -38,16 +38,16 @@
<child>
<object class="GtkButton" id="ok">
<property name="label" translatable="yes">_OK</property>
<property name="use_action_appearance">False</property>
<property name="use-action-appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="can_default">True</property>
<property name="has_default">True</property>
<property name="receives_default">True</property>
<property name="has_tooltip">True</property>
<property name="tooltip_markup">Accept changes and close window</property>
<property name="tooltip_text" translatable="yes">Accept changes and close window</property>
<property name="use_underline">True</property>
<property name="can-focus">True</property>
<property name="can-default">True</property>
<property name="has-default">True</property>
<property name="receives-default">True</property>
<property name="has-tooltip">True</property>
<property name="tooltip-markup">Accept changes and close window</property>
<property name="tooltip-text" translatable="yes">Accept changes and close window</property>
<property name="use-underline">True</property>
</object>
<packing>
<property name="expand">False</property>
@ -58,17 +58,17 @@
<child>
<object class="GtkButton" id="button119">
<property name="label" translatable="yes">_Help</property>
<property name="use_action_appearance">False</property>
<property name="use-action-appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="can_default">True</property>
<property name="receives_default">True</property>
<property name="use_underline">True</property>
<property name="can-focus">True</property>
<property name="can-default">True</property>
<property name="receives-default">True</property>
<property name="use-underline">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="pack_type">end</property>
<property name="pack-type">end</property>
<property name="position">2</property>
</packing>
</child>
@ -76,86 +76,87 @@
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="pack_type">end</property>
<property name="pack-type">end</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkEventBox" id="eventboxtop">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="visible_window">False</property>
<property name="can-focus">False</property>
<property name="visible-window">False</property>
<child>
<object class="GtkBox" id="vbox">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="border_width">6</property>
<property name="can-focus">False</property>
<property name="border-width">6</property>
<property name="orientation">vertical</property>
<property name="spacing">4</property>
<child>
<object class="GtkBox" id="hbox121">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="can-focus">False</property>
<child>
<object class="GtkEventBox" id="ftable_event_box">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="visible_window">False</property>
<property name="can-focus">False</property>
<property name="visible-window">False</property>
<child>
<!-- n-columns=4 n-rows=4 -->
<object class="GtkGrid" id="ftable">
<property name="width_request">132</property>
<property name="width-request">132</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="border_width">6</property>
<property name="row_spacing">6</property>
<property name="column_spacing">12</property>
<property name="can-focus">False</property>
<property name="border-width">6</property>
<property name="row-spacing">6</property>
<property name="column-spacing">12</property>
<child>
<object class="GtkLabel" id="label577">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="can-focus">False</property>
<property name="halign">start</property>
<property name="margin_left">6</property>
<property name="margin-left">6</property>
<property name="label" translatable="yes">Name:</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">1</property>
<property name="left-attach">1</property>
<property name="top-attach">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="label578">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="can-focus">False</property>
<property name="halign">start</property>
<property name="margin_left">6</property>
<property name="margin-left">6</property>
<property name="label" translatable="yes">Birth:</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">2</property>
<property name="left-attach">1</property>
<property name="top-attach">2</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="label579">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="can-focus">False</property>
<property name="halign">start</property>
<property name="margin_left">6</property>
<property name="margin-left">6</property>
<property name="label" translatable="yes">Death:</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">3</property>
<property name="left-attach">1</property>
<property name="top-attach">3</property>
</packing>
</child>
<child>
<object class="GtkBox" id="hbox146">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="can-focus">False</property>
<child>
<object class="GtkLabel" id="label589">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="can-focus">False</property>
<property name="halign">start</property>
<property name="label" translatable="yes">Father/partner1</property>
<attributes>
@ -170,16 +171,16 @@
</child>
<child>
<object class="GtkButton" id="fbutton_index">
<property name="use_action_appearance">False</property>
<property name="use-action-appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="relief">none</property>
<child>
<object class="GtkImage" id="image2671">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="icon_name">gtk-index</property>
<property name="can-focus">False</property>
<property name="icon-name">gtk-index</property>
<child internal-child="accessible">
<object class="AtkObject" id="image2671-atkobject">
<property name="AtkObject::accessible-description" translatable="yes">Selector</property>
@ -202,16 +203,16 @@
</child>
<child>
<object class="GtkButton" id="fbutton_add">
<property name="use_action_appearance">False</property>
<property name="use-action-appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="relief">none</property>
<child>
<object class="GtkImage" id="image2697">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="icon_name">list-add</property>
<property name="can-focus">False</property>
<property name="icon-name">list-add</property>
<child internal-child="accessible">
<object class="AtkObject" id="image2697-atkobject">
<property name="AtkObject::accessible-description" translatable="yes">Add</property>
@ -233,16 +234,16 @@
</child>
<child>
<object class="GtkButton" id="fbutton_del">
<property name="use_action_appearance">False</property>
<property name="use-action-appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="relief">none</property>
<child>
<object class="GtkImage" id="image2724">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="icon_name">list-remove</property>
<property name="can-focus">False</property>
<property name="icon-name">list-remove</property>
<child internal-child="accessible">
<object class="AtkObject" id="image2724-atkobject">
<property name="AtkObject::accessible-description" translatable="yes">Remove</property>
@ -264,16 +265,16 @@
</child>
<child>
<object class="GtkButton" id="fbutton_edit">
<property name="use_action_appearance">False</property>
<property name="use-action-appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="relief">none</property>
<child>
<object class="GtkImage" id="image2725">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="icon_name">gtk-edit</property>
<property name="can-focus">False</property>
<property name="icon-name">gtk-edit</property>
<child internal-child="accessible">
<object class="AtkObject" id="image2725-atkobject">
<property name="AtkObject::accessible-description" translatable="yes">Edition</property>
@ -296,48 +297,71 @@
</child>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">0</property>
<property name="left-attach">1</property>
<property name="top-attach">0</property>
<property name="width">2</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="fbirth">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="can-focus">False</property>
<property name="halign">start</property>
<property name="hexpand">True</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">2</property>
<property name="left-attach">2</property>
<property name="top-attach">2</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="fdeath">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="can-focus">False</property>
<property name="halign">start</property>
<property name="hexpand">True</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">3</property>
<property name="left-attach">2</property>
<property name="top-attach">3</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="fname">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="can-focus">False</property>
<property name="halign">start</property>
<property name="hexpand">True</property>
<property name="ellipsize">end</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">1</property>
<property name="left-attach">2</property>
<property name="top-attach">1</property>
</packing>
</child>
<child>
<object class="GtkBox" id="fimg">
<property name="visible">True</property>
<property name="can-focus">False</property>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">0</property>
<property name="height">4</property>
</packing>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
</object>
</child>
</object>
@ -353,87 +377,88 @@
<child>
<object class="GtkEventBox" id="mtable_event_box">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="visible_window">False</property>
<property name="can-focus">False</property>
<property name="visible-window">False</property>
<child>
<!-- n-columns=4 n-rows=4 -->
<object class="GtkGrid" id="mtable">
<property name="width_request">132</property>
<property name="width-request">132</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="border_width">6</property>
<property name="row_spacing">6</property>
<property name="column_spacing">12</property>
<property name="can-focus">False</property>
<property name="border-width">6</property>
<property name="row-spacing">6</property>
<property name="column-spacing">12</property>
<child>
<object class="GtkLabel" id="label565">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="can-focus">False</property>
<property name="halign">start</property>
<property name="margin_left">6</property>
<property name="margin-left">6</property>
<property name="label" translatable="yes">Name:</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">1</property>
<property name="left-attach">1</property>
<property name="top-attach">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="label567">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="can-focus">False</property>
<property name="halign">start</property>
<property name="margin_left">6</property>
<property name="margin-left">6</property>
<property name="label" translatable="yes">Birth:</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">2</property>
<property name="left-attach">1</property>
<property name="top-attach">2</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="label568">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="can-focus">False</property>
<property name="halign">start</property>
<property name="margin_left">6</property>
<property name="margin-left">6</property>
<property name="label" translatable="yes">Death:</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">3</property>
<property name="left-attach">1</property>
<property name="top-attach">3</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="mdeath">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="can-focus">False</property>
<property name="halign">start</property>
<property name="hexpand">True</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">3</property>
<property name="left-attach">2</property>
<property name="top-attach">3</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="mbirth">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="can-focus">False</property>
<property name="halign">start</property>
<property name="hexpand">True</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">2</property>
<property name="left-attach">2</property>
<property name="top-attach">2</property>
</packing>
</child>
<child>
<object class="GtkBox" id="hbox147">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="can-focus">False</property>
<child>
<object class="GtkLabel" id="label574">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="can-focus">False</property>
<property name="halign">start</property>
<property name="label" translatable="yes">Mother/partner2</property>
<attributes>
@ -448,16 +473,16 @@
</child>
<child>
<object class="GtkButton" id="mbutton_index">
<property name="use_action_appearance">False</property>
<property name="use-action-appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="relief">none</property>
<child>
<object class="GtkImage" id="image2670">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="icon_name">gtk-index</property>
<property name="can-focus">False</property>
<property name="icon-name">gtk-index</property>
<child internal-child="accessible">
<object class="AtkObject" id="image2670-atkobject">
<property name="AtkObject::accessible-description" translatable="yes">Selector</property>
@ -479,16 +504,16 @@
</child>
<child>
<object class="GtkButton" id="mbutton_add">
<property name="use_action_appearance">False</property>
<property name="use-action-appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="relief">none</property>
<child>
<object class="GtkImage" id="image2698">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="icon_name">list-add</property>
<property name="can-focus">False</property>
<property name="icon-name">list-add</property>
<child internal-child="accessible">
<object class="AtkObject" id="image2698-atkobject">
<property name="AtkObject::accessible-description" translatable="yes">Add</property>
@ -510,19 +535,19 @@
</child>
<child>
<object class="GtkToggleButton" id="private">
<property name="use_action_appearance">False</property>
<property name="use-action-appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="has_tooltip">True</property>
<property name="tooltip_markup">Indicates if the record is private</property>
<property name="tooltip_text" translatable="yes">Indicates if the record is private</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="has-tooltip">True</property>
<property name="tooltip-markup">Indicates if the record is private</property>
<property name="tooltip-text" translatable="yes">Indicates if the record is private</property>
<property name="relief">none</property>
<child>
<object class="GtkImage" id="image2672">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="icon_name">dialog-password</property>
<property name="can-focus">False</property>
<property name="icon-name">dialog-password</property>
<child internal-child="accessible">
<object class="AtkObject" id="image2672-atkobject">
<property name="AtkObject::accessible-name" translatable="yes">Privacy</property>
@ -535,22 +560,22 @@
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="pack_type">end</property>
<property name="pack-type">end</property>
<property name="position">3</property>
</packing>
</child>
<child>
<object class="GtkButton" id="mbutton_del">
<property name="use_action_appearance">False</property>
<property name="use-action-appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="relief">none</property>
<child>
<object class="GtkImage" id="image2726">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="icon_name">list-remove</property>
<property name="can-focus">False</property>
<property name="icon-name">list-remove</property>
<child internal-child="accessible">
<object class="AtkObject" id="image2726-atkobject">
<property name="AtkObject::accessible-description" translatable="yes">Remove</property>
@ -572,16 +597,16 @@
</child>
<child>
<object class="GtkButton" id="mbutton_edit">
<property name="use_action_appearance">False</property>
<property name="use-action-appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="relief">none</property>
<child>
<object class="GtkImage" id="image2727">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="icon_name">gtk-edit</property>
<property name="can-focus">False</property>
<property name="icon-name">gtk-edit</property>
<child internal-child="accessible">
<object class="AtkObject" id="image2727-atkobject">
<property name="AtkObject::accessible-description" translatable="yes">Edition</property>
@ -604,24 +629,47 @@
</child>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">0</property>
<property name="left-attach">1</property>
<property name="top-attach">0</property>
<property name="width">2</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="mname">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="can-focus">False</property>
<property name="halign">start</property>
<property name="hexpand">True</property>
<property name="ellipsize">end</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">1</property>
<property name="left-attach">2</property>
<property name="top-attach">1</property>
</packing>
</child>
<child>
<object class="GtkBox" id="mimg">
<property name="visible">True</property>
<property name="can-focus">False</property>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">0</property>
<property name="height">4</property>
</packing>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
</object>
</child>
</object>
@ -639,16 +687,17 @@
</packing>
</child>
<child>
<!-- n-columns=4 n-rows=3 -->
<object class="GtkGrid" id="info">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="border_width">6</property>
<property name="row_spacing">6</property>
<property name="column_spacing">12</property>
<property name="can-focus">False</property>
<property name="border-width">6</property>
<property name="row-spacing">6</property>
<property name="column-spacing">12</property>
<child>
<object class="GtkLabel" id="label542">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="can-focus">False</property>
<property name="halign">start</property>
<property name="label" translatable="yes">Relationship Information</property>
<attributes>
@ -656,24 +705,24 @@
</attributes>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">0</property>
<property name="left-attach">0</property>
<property name="top-attach">0</property>
<property name="width">4</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="label229">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="can-focus">False</property>
<property name="halign">start</property>
<property name="margin_left">6</property>
<property name="margin-left">6</property>
<property name="label" translatable="yes">_ID:</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">gid</property>
<property name="use-underline">True</property>
<property name="mnemonic-widget">gid</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">1</property>
<property name="left-attach">0</property>
<property name="top-attach">1</property>
</packing>
</child>
<child>
@ -686,67 +735,67 @@
<property name="width_chars">6</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">1</property>
<property name="left-attach">1</property>
<property name="top-attach">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="label202">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="can-focus">False</property>
<property name="halign">start</property>
<property name="label" translatable="yes">_Type:</property>
<property name="use_underline">True</property>
<property name="use-underline">True</property>
<property name="justify">center</property>
<property name="mnemonic_widget">marriage_type</property>
<property name="mnemonic-widget">marriage_type</property>
</object>
<packing>
<property name="left_attach">2</property>
<property name="top_attach">1</property>
<property name="left-attach">2</property>
<property name="top-attach">1</property>
</packing>
</child>
<child>
<object class="GtkComboBox" id="marriage_type">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="tooltip_text" translatable="yes">The relationship type, eg 'Married' or 'Unmarried'. Use Events for more details.</property>
<property name="can-focus">False</property>
<property name="tooltip-text" translatable="yes">The relationship type, eg 'Married' or 'Unmarried'. Use Events for more details.</property>
<property name="hexpand">True</property>
<property name="has_entry">True</property>
<property name="has-entry">True</property>
<child internal-child="entry">
<object class="GtkEntry" id="marriage_type-entry">
<property name="can_focus">True</property>
<property name="overwrite_mode">True</property>
<property name="can-focus">True</property>
<property name="overwrite-mode">True</property>
</object>
</child>
</object>
<packing>
<property name="left_attach">3</property>
<property name="top_attach">1</property>
<property name="left-attach">3</property>
<property name="top-attach">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="label1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="can-focus">False</property>
<property name="halign">start</property>
<property name="margin_left">6</property>
<property name="margin-left">6</property>
<property name="label" translatable="yes">_Tags:</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">tag_button</property>
<property name="use-underline">True</property>
<property name="mnemonic-widget">tag_button</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">2</property>
<property name="left-attach">0</property>
<property name="top-attach">2</property>
</packing>
</child>
<child>
<object class="GtkBox" id="hbox1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="can-focus">False</property>
<child>
<object class="GtkLabel" id="tag_label">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="can-focus">False</property>
<property name="hexpand">True</property>
</object>
<packing>
@ -757,11 +806,11 @@
</child>
<child>
<object class="GtkButton" id="tag_button">
<property name="use_action_appearance">False</property>
<property name="use-action-appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="tooltip_text" translatable="yes">Edit the tag list</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="tooltip-text" translatable="yes">Edit the tag list</property>
<child>
<placeholder/>
</child>
@ -782,8 +831,8 @@
</child>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">2</property>
<property name="left-attach">1</property>
<property name="top-attach">2</property>
<property name="width">3</property>
</packing>
</child>