diff --git a/src/Merge/_MergePerson.py b/src/Merge/_MergePerson.py
index 51b9f458b..c92f642c7 100644
--- a/src/Merge/_MergePerson.py
+++ b/src/Merge/_MergePerson.py
@@ -26,7 +26,6 @@
#
#-------------------------------------------------------------------------
import gtk
-from gtk import glade
import pango
#-------------------------------------------------------------------------
@@ -61,24 +60,26 @@ class PersonCompare(ManagedWindow.ManagedWindow):
ManagedWindow.ManagedWindow.__init__(self, uistate, [], self.__class__)
- self.glade = glade.XML(const.MERGE_GLADE, "merge")
- window = self.glade.get_widget('merge')
- self.text1 = self.glade.get_widget('text1')
- self.text2 = self.glade.get_widget('text2')
+ self.glade = gtk.Builder()
+ self.glade.add_from_file(const.MERGE_GLADE)
+ window = self.glade.get_object('merge')
+ window.show()
+ self.text1 = self.glade.get_object('text1')
+ self.text2 = self.glade.get_object('text2')
self.db = dbstate.db
self.p1 = person1
self.p2 = person2
self.update = update
- self.set_window(window, self.glade.get_widget('title'),
+ self.set_window(window, self.glade.get_object('merge_title'),
_("Compare People"))
self.display(self.text1.get_buffer(), person1)
self.display(self.text2.get_buffer(), person2)
- self.glade.get_widget('cancel').connect('clicked', self.close)
- self.glade.get_widget('close').connect('clicked', self.merge)
- self.glade.get_widget('help').connect('clicked', self.help)
+ self.glade.get_object('merge_cancel').connect('clicked', self.close)
+ self.glade.get_object('close').connect('clicked', self.merge)
+ self.glade.get_object('merge_help').connect('clicked', self.help)
def help(self, obj):
"""Display the relevant portion of GRAMPS manual"""
@@ -97,7 +98,7 @@ class PersonCompare(ManagedWindow.ManagedWindow):
"people, you must first break the relationship between "
"them."))
else:
- if self.glade.get_widget('select1').get_active():
+ if self.glade.get_object('select1').get_active():
merge = MergePeople(self.db, self.p1, self.p2)
else:
merge = MergePeople(self.db, self.p2, self.p1)
@@ -123,20 +124,25 @@ class PersonCompare(ManagedWindow.ManagedWindow):
title.set_property('weight', pango.WEIGHT_BOLD)
title.set_property('scale', pango.SCALE_LARGE)
self.add(tobj, title, name_displayer.display(person))
- self.add(tobj, normal, "%s:\t%s" % (_('ID'), person.get_gramps_id()))
- self.add(tobj, normal, "%s:\t%s" % (_('Gender'), sex[person.get_gender()]))
+ self.add(tobj, normal, "%s:\t%s" % (_('ID'),
+ person.get_gramps_id()))
+ self.add(tobj, normal, "%s:\t%s" % (_('Gender'),
+ sex[person.get_gender()]))
bref = person.get_birth_ref()
if bref:
- self.add(tobj, normal, "%s:\t%s" % (_('Birth'), self.get_event_info(bref.ref)))
+ self.add(tobj, normal, "%s:\t%s" % (_('Birth'),
+ self.get_event_info(bref.ref)))
dref = person.get_death_ref()
if dref:
- self.add(tobj, normal, "%s:\t%s" % (_('Death'), self.get_event_info(dref.ref)))
+ self.add(tobj, normal, "%s:\t%s" % (_('Death'),
+ self.get_event_info(dref.ref)))
nlist = person.get_alternate_names()
if len(nlist) > 0:
self.add(tobj, title, _("Alternate Names"))
for name in nlist:
- self.add(tobj, normal, name_displayer.display_name(name))
+ self.add(tobj, normal,
+ name_displayer.display_name(name))
elist = person.get_event_ref_list()
if len(elist) > 0:
@@ -145,7 +151,8 @@ class PersonCompare(ManagedWindow.ManagedWindow):
event_handle = event_ref.ref
name = str(
self.db.get_event_from_handle(event_handle).get_type())
- self.add(tobj, normal, "%s:\t%s" % (name, self.get_event_info(event_handle)))
+ self.add(tobj, normal, "%s:\t%s" %
+ (name, self.get_event_info(event_handle)))
plist = person.get_parent_family_handle_list()
if len(plist) > 0:
@@ -170,16 +177,19 @@ class PersonCompare(ManagedWindow.ManagedWindow):
spouse_id = ReportUtils.find_spouse(person, family)
if spouse_id:
spouse = self.db.get_person_from_handle(spouse_id)
- self.add(tobj, indent, "%s:\t%s" % (_('Spouse'), name_of(spouse)))
+ self.add(tobj, indent, "%s:\t%s" % (_('Spouse'),
+ name_of(spouse)))
relstr = str(family.get_relationship())
self.add(tobj, indent, "%s:\t%s" % (_('Type'), relstr))
event = ReportUtils.find_marriage(self.db, family)
if event:
self.add(tobj, indent, "%s:\t%s" % (
- _('Marriage'), self.get_event_info(event.get_handle())))
+ _('Marriage'),
+ self.get_event_info(event.get_handle())))
for child_ref in family.get_child_ref_list():
child = self.db.get_person_from_handle(child_ref.ref)
- self.add(tobj, indent, "%s:\t%s" % (_('Child'), name_of(child)))
+ self.add(tobj, indent, "%s:\t%s" % (_('Child'),
+ name_of(child)))
else:
self.add(tobj, normal, _("No spouses or children found"))
@@ -216,15 +226,9 @@ class PersonCompare(ManagedWindow.ManagedWindow):
date = DateHandler.get_date(event)
place = self.place_name(event)
if date:
- if place:
- return "%s, %s" % (date, place)
- else:
- return date
+ return "%s, %s" % (date, place) if place else date
else:
- if place:
- return place
- else:
- return ""
+ return place if place else ""
else:
return ""
@@ -280,20 +284,21 @@ class MergePeopleUI(ManagedWindow.ManagedWindow):
ManagedWindow.ManagedWindow.__init__(self, uistate, [], self.__class__)
- glade_xml = glade.XML(const.MERGE_GLADE, 'merge_people')
- window = glade_xml.get_widget('merge_people')
+ glade_xml = gtk.Builder()
+ glade_xml.add_from_file(const.MERGE_GLADE)
+ window = glade_xml.get_object('merge_people')
- self.set_window(window, glade_xml.get_widget('title'), _("Merge People"))
+ self.set_window(window, glade_xml.get_object('people_title'), _("Merge People"))
- p1 = glade_xml.get_widget('person1')
- p2 = glade_xml.get_widget('person2')
+ p1 = glade_xml.get_object('person1')
+ p2 = glade_xml.get_object('person2')
n1 = name_of(person1)
n2 = name_of(person2)
p1.set_label(n1)
p2.set_label(n2)
- glade_xml.get_widget('help').connect('clicked', self.help)
+ glade_xml.get_object('people_help').connect('clicked', self.help)
ret = gtk.RESPONSE_HELP
while ret == gtk.RESPONSE_HELP:
@@ -433,13 +438,16 @@ class MergePeople:
self.p2.get_attribute_list())
# copy addresses
- new.set_address_list(self.p1.get_address_list() + self.p2.get_address_list())
+ new.set_address_list(self.p1.get_address_list() +
+ self.p2.get_address_list())
# copy urls
- new.set_url_list(self.p1.get_url_list() + self.p2.get_url_list())
+ new.set_url_list(self.p1.get_url_list() +
+ self.p2.get_url_list())
# merge LDS
- new.set_lds_ord_list(self.p1.get_lds_ord_list() + self.p2.get_lds_ord_list())
+ new.set_lds_ord_list(self.p1.get_lds_ord_list() +
+ self.p2.get_lds_ord_list())
# privacy
new.set_privacy(self.p1.get_privacy() or self.p2.get_privacy())
@@ -455,7 +463,8 @@ class MergePeople:
new.add_media_reference(photo)
# note
- new.set_note_list(self.p1.get_note_list() + self.p2.get_note_list())
+ new.set_note_list(self.p1.get_note_list() +
+ self.p2.get_note_list())
def merge_gramps_ids(self, new):
"""
@@ -491,7 +500,8 @@ class MergePeople:
if not p2_name.is_equal(p1_name):
new.add_alternate_name(p2_name)
- for name in self.p1.get_alternate_names() + self.p2.get_alternate_names():
+ for name in (self.p1.get_alternate_names() +
+ self.p2.get_alternate_names()):
if name.is_equal(p1_name):
break
for item in new.get_alternate_names():
@@ -641,10 +651,12 @@ class MergePeople:
if tgt_family:
# The target family is already a family in the person's
# family list.
- if tgt_family.get_handle() in self.p1.get_family_handle_list():
+ if tgt_family.get_handle() in \
+ self.p1.get_family_handle_list():
if __debug__:
print "Merging existing family"
- self.merge_existing_family(new, src_family, tgt_family, trans)
+ self.merge_existing_family(new, src_family,
+ tgt_family, trans)
continue
# This is the case the family is not already in the person's
@@ -656,7 +668,8 @@ class MergePeople:
# change parents of the family to point to the new
# family
- self.adjust_family_pointers(tgt_family, src_family, trans)
+ self.adjust_family_pointers(tgt_family, src_family,
+ trans)
new.remove_family_handle(src_handle)
self.db.remove_family(src_handle, trans)
@@ -740,7 +753,9 @@ class MergePeople:
while node:
# data[2] == father_handle field, data[2] == mother_handle field
(thandle, data) = node
- if data[2] == fhandle and data[3] == mhandle and thandle != family_handle:
+ if (data[2] == fhandle and
+ data[3] == mhandle and
+ thandle != family_handle):
myfamily = gen.lib.Family()
myfamily.unserialize(data)
break
@@ -768,12 +783,14 @@ class MergePeople:
if father and src_family_handle in father.get_family_handle_list():
father.remove_family_handle(src_family_handle)
if __debug__:
- print "Removed family %s from father %s" % (src_family_handle, father_id)
+ print "Removed family %s from father %s" % \
+ (src_family_handle, father_id)
self.db.commit_person(father, trans)
if mother and src_family_handle in mother.get_family_handle_list():
mother.remove_family_handle(src_family_handle)
if __debug__:
- print "Removed family %s from mother %s" % (src_family_handle, mother_id)
+ print "Removed family %s from mother %s" % \
+ (src_family_handle, mother_id)
self.db.commit_person(mother, trans)
self.merge_family_pair(tgt_family, src_family, trans)
@@ -799,8 +816,8 @@ class MergePeople:
def merge_family_pair(self, tgt_family, src_family, trans):
- tgt_family_child_handles = [ref.ref
- for ref in tgt_family.get_child_ref_list()]
+ tgt_family_child_handles = \
+ [ref.ref for ref in tgt_family.get_child_ref_list()]
# copy children from source to target
for child_ref in src_family.get_child_ref_list():
child_handle = child_ref.ref
@@ -813,7 +830,8 @@ class MergePeople:
i = 0
for fam in parents[:]:
if fam[0] == src_family.get_handle():
- parents[i] = (tgt_family.get_handle(), fam[1], fam[2])
+ parents[i] = (tgt_family.get_handle(),
+ fam[1], fam[2])
i += 1
self.db.commit_person(child, trans)
@@ -833,7 +851,8 @@ class MergePeople:
tgt_family.add_attribute(xdata)
# merge family notes
- tgt_family.set_note_list(tgt_family.get_note_list() + src_family.get_note_list())
+ tgt_family.set_note_list(tgt_family.get_note_list() +
+ src_family.get_note_list())
# merge family top-level sources
@@ -891,7 +910,8 @@ class MergePeople:
def remove_marriage(self, family, person, trans):
if person:
person.remove_family_handle(family.get_handle())
- if family.get_father_handle() is None and family.get_mother_handle() is None:
+ if (family.get_father_handle() is
+ family.get_mother_handle() is None):
self.delete_empty_family(family, trans)
def delete_empty_family(self, family, trans):
diff --git a/src/Merge/_MergePlace.py b/src/Merge/_MergePlace.py
index b1607830b..36025909b 100644
--- a/src/Merge/_MergePlace.py
+++ b/src/Merge/_MergePlace.py
@@ -33,7 +33,8 @@
# GNOME
#
#-------------------------------------------------------------------------
-from gtk import glade
+import gtk
+
#-------------------------------------------------------------------------
#
# GRAMPS modules
@@ -71,22 +72,23 @@ class MergePlaces(ManagedWindow.ManagedWindow):
self.p1 = self.db.get_place_from_handle(self.new_handle)
self.p2 = self.db.get_place_from_handle(self.old_handle)
- self.glade = glade.XML(const.MERGE_GLADE,"merge_places","gramps")
- self.set_window(self.glade.get_widget("merge_places"),
- self.glade.get_widget('title'),
+ self.glade = gtk.Builder()
+ self.glade.add_from_file(const.MERGE_GLADE)
+ self.set_window(self.glade.get_object('merge_places'),
+ self.glade.get_object('place_title'),
_("Merge Places"))
- title1_text = self.glade.get_widget("title1_text")
- title2_text = self.glade.get_widget("title2_text")
- self.title3_entry = self.glade.get_widget("title3_text")
+ title1_text = self.glade.get_object("title1_text")
+ title2_text = self.glade.get_object("title2_text")
+ self.title3_entry = self.glade.get_object("title3_text")
title1_text.set_text(self.p1.get_title())
title2_text.set_text(self.p2.get_title())
self.title3_entry.set_text(self.p1.get_title())
- self.glade.get_widget('cancel').connect('clicked', self.close_window)
- self.glade.get_widget('ok').connect('clicked', self.merge)
- self.glade.get_widget('help').connect('clicked', self.help)
+ self.glade.get_object('place_cancel').connect('clicked', self.close_window)
+ self.glade.get_object('place_ok').connect('clicked', self.merge)
+ self.glade.get_object('place_help').connect('clicked', self.help)
self.show()
@@ -104,11 +106,11 @@ class MergePlaces(ManagedWindow.ManagedWindow):
"""
Performs the merge of the places when the merge button is clicked.
"""
- t2active = self.glade.get_widget("title2").get_active()
+ t2active = self.glade.get_object("place2").get_active()
if t2active:
self.p1.set_title(self.p2.get_title())
- elif self.glade.get_widget("title3").get_active():
+ elif self.glade.get_object("place3").get_active():
self.p1.set_title(unicode(self.title3_entry.get_text()))
# Set longitude
@@ -132,16 +134,19 @@ class MergePlaces(ManagedWindow.ManagedWindow):
self.p1.add_source_reference(source)
# Add notes from P2 to P1
- self.p1.set_note_list(self.p1.get_note_list() + self.p2.get_note_list())
+ self.p1.set_note_list(self.p1.get_note_list() +
+ self.p2.get_note_list())
if t2active:
- lst = [self.p1.get_main_location()] + self.p1.get_alternate_locations()
+ lst = [self.p1.get_main_location()] + \
+ self.p1.get_alternate_locations()
self.p1.set_main_location(self.p2.get_main_location())
for l in lst:
if not l.is_empty():
self.p1.add_alternate_locations(l)
else:
- lst = [self.p2.get_main_location()] + self.p2.get_alternate_locations()
+ lst = [self.p2.get_main_location()] + \
+ self.p2.get_alternate_locations()
for l in lst:
if not l.is_empty():
self.p1.add_alternate_locations(l)
@@ -157,19 +162,22 @@ class MergePlaces(ManagedWindow.ManagedWindow):
for handle in self.db.get_person_handles(sort_handles=False):
person = self.db.get_person_from_handle(handle)
if person.has_handle_reference('Place',self.old_handle):
- person.replace_handle_reference('Place',self.old_handle,self.new_handle)
+ person.replace_handle_reference('Place',
+ self.old_handle,self.new_handle)
self.db.commit_person(person,trans)
# families
for handle in self.db.get_family_handles():
family = self.db.get_family_from_handle(handle)
if family.has_handle_reference('Place',self.old_handle):
- family.replace_handle_reference('Place',self.old_handle,self.new_handle)
+ family.replace_handle_reference('Place',
+ self.old_handle,self.new_handle)
self.db.commit_family(family,trans)
# events
for handle in self.db.get_event_handles():
event = self.db.get_event_from_handle(handle)
if event.has_handle_reference('Place',self.old_handle):
- event.replace_handle_reference('Place',self.old_handle,self.new_handle)
+ event.replace_handle_reference('Place',
+ self.old_handle,self.new_handle)
self.db.commit_event(event,trans)
self.db.transaction_commit(trans,_("Merge Places"))
diff --git a/src/Merge/_MergeSource.py b/src/Merge/_MergeSource.py
index 272182614..0df709d61 100644
--- a/src/Merge/_MergeSource.py
+++ b/src/Merge/_MergeSource.py
@@ -31,7 +31,7 @@
# GNOME
#
#-------------------------------------------------------------------------
-from gtk import glade
+import gtk
#-------------------------------------------------------------------------
#
@@ -72,40 +72,41 @@ class MergeSources(ManagedWindow.ManagedWindow):
self.s1 = self.db.get_source_from_handle(self.new_handle)
self.s2 = self.db.get_source_from_handle(self.old_handle)
- self.glade = glade.XML(const.MERGE_GLADE,"merge_sources","gramps")
+ self.glade = gtk.Builder()
+ self.glade.add_from_file(const.MERGE_GLADE)
- self.set_window(self.glade.get_widget("merge_sources"),
- self.glade.get_widget('title'),
+ self.set_window(self.glade.get_object('merge_sources'),
+ self.glade.get_object('source_title'),
_("Merge Sources"))
- self.title1 = self.glade.get_widget("title1")
- self.title2 = self.glade.get_widget("title2")
+ self.title1 = self.glade.get_object("title1")
+ self.title2 = self.glade.get_object("title2")
self.title1.set_text(self.s1.get_title())
self.title2.set_text(self.s2.get_title())
- self.author1 = self.glade.get_widget("author1")
- self.author2 = self.glade.get_widget("author2")
+ self.author1 = self.glade.get_object("author1")
+ self.author2 = self.glade.get_object("author2")
self.author1.set_text(self.s1.get_author())
self.author2.set_text(self.s2.get_author())
- self.abbrev1 = self.glade.get_widget("abbrev1")
- self.abbrev2 = self.glade.get_widget("abbrev2")
+ self.abbrev1 = self.glade.get_object("abbrev1")
+ self.abbrev2 = self.glade.get_object("abbrev2")
self.abbrev1.set_text(self.s1.get_abbreviation())
self.abbrev2.set_text(self.s2.get_abbreviation())
- self.pub1 = self.glade.get_widget("pub1")
- self.pub2 = self.glade.get_widget("pub2")
+ self.pub1 = self.glade.get_object("pub1")
+ self.pub2 = self.glade.get_object("pub2")
self.pub1.set_text(self.s1.get_publication_info())
self.pub2.set_text(self.s2.get_publication_info())
- self.gramps1 = self.glade.get_widget("gramps1")
- self.gramps2 = self.glade.get_widget("gramps2")
+ self.gramps1 = self.glade.get_object("gramps1")
+ self.gramps2 = self.glade.get_object("gramps2")
self.gramps1.set_text(self.s1.get_gramps_id())
self.gramps2.set_text(self.s2.get_gramps_id())
- self.glade.get_widget('ok').connect('clicked',self.merge)
- self.glade.get_widget('cancel').connect('clicked',self.close_window)
- self.glade.get_widget('help').connect('clicked',self.help)
+ self.glade.get_object('source_ok').connect('clicked',self.merge)
+ self.glade.get_object('source_cancel').connect('clicked',self.close_window)
+ self.glade.get_object('source_help').connect('clicked',self.help)
self.show()
def close_window(self, obj):
@@ -120,11 +121,11 @@ class MergeSources(ManagedWindow.ManagedWindow):
Performs the merge of the sources when the merge button is clicked.
"""
- use_title1 = self.glade.get_widget("title_btn1").get_active()
- use_author1 = self.glade.get_widget("author_btn1").get_active()
- use_abbrev1 = self.glade.get_widget("abbrev_btn1").get_active()
- use_pub1 = self.glade.get_widget("pub_btn1").get_active()
- use_gramps1 = self.glade.get_widget("gramps_btn1").get_active()
+ use_title1 = self.glade.get_object("title_btn1").get_active()
+ use_author1 = self.glade.get_object("author_btn1").get_active()
+ use_abbrev1 = self.glade.get_object("abbrev_btn1").get_active()
+ use_pub1 = self.glade.get_object("pub_btn1").get_active()
+ use_gramps1 = self.glade.get_object("gramps_btn1").get_active()
if not use_title1:
self.s1.set_title(self.s2.get_title())
@@ -166,42 +167,48 @@ class MergeSources(ManagedWindow.ManagedWindow):
for handle in self.db.get_person_handles(sort_handles=False):
person = self.db.get_person_from_handle(handle)
if person.has_source_reference(self.old_handle):
- person.replace_source_references(self.old_handle,self.new_handle)
+ person.replace_source_references(self.old_handle,
+ self.new_handle)
self.db.commit_person(person,trans)
# family
for handle in self.db.get_family_handles():
family = self.db.get_family_from_handle(handle)
if family.has_source_reference(self.old_handle):
- family.replace_source_references(self.old_handle,self.new_handle)
+ family.replace_source_references(self.old_handle,
+ self.new_handle)
self.db.commit_family(family,trans)
# events
for handle in self.db.get_event_handles():
event = self.db.get_event_from_handle(handle)
if event.has_source_reference(self.old_handle):
- event.replace_source_references(self.old_handle,self.new_handle)
+ event.replace_source_references(self.old_handle,
+ self.new_handle)
self.db.commit_event(event,trans)
# sources
for handle in self.db.get_source_handles():
source = self.db.get_source_from_handle(handle)
if source.has_source_reference(self.old_handle):
- source.replace_source_references(self.old_handle,self.new_handle)
+ source.replace_source_references(self.old_handle,
+ self.new_handle)
self.db.commit_source(source,trans)
# places
for handle in self.db.get_place_handles():
place = self.db.get_place_from_handle(handle)
if place.has_source_reference(self.old_handle):
- place.replace_source_references(self.old_handle,self.new_handle)
+ place.replace_source_references(self.old_handle,
+ self.new_handle)
self.db.commit_place(place,trans)
# media
for handle in self.db.get_media_object_handles():
obj = self.db.get_object_from_handle(handle)
if obj.has_source_reference(self.old_handle):
- obj.replace_source_references(self.old_handle,self.new_handle)
+ obj.replace_source_references(self.old_handle,
+ self.new_handle)
self.db.commit_media_object(obj,trans)
self.db.transaction_commit(trans,_("Merge Sources"))
diff --git a/src/glade/mergedata.glade b/src/glade/mergedata.glade
index 932946459..ba6ba120d 100644
--- a/src/glade/mergedata.glade
+++ b/src/glade/mergedata.glade
@@ -1,1465 +1,1129 @@
-
-
-
-
-
-
-
- GTK_WINDOW_TOPLEVEL
- GTK_WIN_POS_NONE
- True
- 450
- True
- False
- True
- False
- False
- GDK_WINDOW_TYPE_HINT_DIALOG
- GDK_GRAVITY_NORTH_WEST
- True
- False
- False
-
-
-
- True
- False
- 8
-
-
-
- True
- GTK_BUTTONBOX_END
-
-
-
- True
- True
- True
- gtk-cancel
- True
- GTK_RELIEF_NORMAL
- True
- 0
-
-
-
-
-
-
- True
- True
- True
- gtk-ok
- True
- GTK_RELIEF_NORMAL
- True
- 0
-
-
-
-
-
-
- True
- True
- True
- gtk-help
- True
- GTK_RELIEF_NORMAL
- True
- -11
-
-
-
-
-
- 0
- False
- True
- GTK_PACK_END
-
-
-
-
-
- True
- False
- 0
-
-
-
- True
-
- False
- False
- GTK_JUSTIFY_CENTER
- False
- False
- 0.5
- 0.5
- 0
- 0
- PANGO_ELLIPSIZE_NONE
- -1
- False
- 0
-
-
- 6
- False
- False
-
-
-
-
-
- 6
- True
- 4
- 3
- False
- 6
- 6
-
-
-
- True
- True
- True
- True
- 0
-
- True
- *
- False
-
-
- 2
- 3
- 3
- 4
-
-
-
-
-
-
- True
-
- False
- False
- GTK_JUSTIFY_CENTER
- False
- False
- 0
- 0.5
- 0
- 0
- PANGO_ELLIPSIZE_NONE
- -1
- False
- 0
-
-
- 2
- 3
- 1
- 2
- fill
-
-
-
-
-
-
- True
-
- False
- False
- GTK_JUSTIFY_CENTER
- False
- False
- 0
- 0.5
- 0
- 0
- PANGO_ELLIPSIZE_NONE
- -1
- False
- 0
-
-
- 2
- 3
- 2
- 3
- fill
-
-
-
-
-
-
- True
- <b>Title selection</b>
- False
- True
- GTK_JUSTIFY_LEFT
- False
- False
- 0
- 0.5
- 0
- 0
- PANGO_ELLIPSIZE_NONE
- -1
- False
- 0
-
-
- 0
- 3
- 0
- 1
- fill
-
-
-
-
-
-
- True
- True
- Place 1
- True
- GTK_RELIEF_NORMAL
- True
- True
- False
- True
-
-
- 1
- 2
- 1
- 2
- fill
-
-
-
-
-
-
- True
- True
- Place 2
- True
- GTK_RELIEF_NORMAL
- True
- False
- False
- True
- title1
-
-
- 1
- 2
- 2
- 3
- fill
-
-
-
-
-
-
- True
- True
- Other
- True
- GTK_RELIEF_NORMAL
- True
- False
- False
- True
- title1
-
-
- 1
- 2
- 3
- 4
- fill
-
-
-
-
-
- 0
- True
- True
-
-
-
-
- 0
- True
- True
-
-
-
-
-
-
-
- True
-
- GTK_WINDOW_TOPLEVEL
- GTK_WIN_POS_NONE
- True
- 700
- 500
- True
- False
- True
- False
- False
- GDK_WINDOW_TYPE_HINT_DIALOG
- GDK_GRAVITY_NORTH_WEST
- True
- False
- False
-
-
-
- True
- False
- 8
-
-
-
- True
- GTK_BUTTONBOX_END
-
-
-
- True
- True
- True
- gtk-cancel
- True
- GTK_RELIEF_NORMAL
- True
- 0
-
-
-
-
-
-
- True
- False
- True
- True
- Merge and _edit
- True
- GTK_RELIEF_NORMAL
- True
- 0
-
-
-
-
-
-
- True
- True
- True
- _Merge and close
- True
- GTK_RELIEF_NORMAL
- True
- 0
-
-
-
-
-
-
- True
- True
- True
- gtk-help
- True
- GTK_RELIEF_NORMAL
- True
- -11
-
-
-
-
-
- 0
- False
- True
- GTK_PACK_END
-
-
-
-
-
- True
- False
- 0
-
-
-
- True
-
- False
- False
- GTK_JUSTIFY_CENTER
- False
- False
- 0.5
- 0.5
- 0
- 0
- PANGO_ELLIPSIZE_NONE
- -1
- False
- 0
-
-
- 10
- False
- False
-
-
-
-
-
- True
- 2
- 2
- False
- 0
- 5
-
-
-
- True
- True
- GTK_POLICY_AUTOMATIC
- GTK_POLICY_AUTOMATIC
- GTK_SHADOW_IN
- GTK_CORNER_TOP_LEFT
-
-
-
- True
- True
- False
- False
- True
- GTK_JUSTIFY_LEFT
- GTK_WRAP_NONE
- True
- 10
- 10
- 0
- 10
- 10
- 0
-
-
-
-
-
- 0
- 1
- 0
- 1
-
-
-
-
-
- True
- True
- GTK_POLICY_AUTOMATIC
- GTK_POLICY_AUTOMATIC
- GTK_SHADOW_IN
- GTK_CORNER_TOP_LEFT
-
-
-
- True
- True
- False
- False
- True
- GTK_JUSTIFY_LEFT
- GTK_WRAP_NONE
- True
- 10
- 10
- 0
- 10
- 10
- 0
-
-
-
-
-
- 1
- 2
- 0
- 1
- fill
-
-
-
-
-
- True
- True
- Select
- True
- GTK_RELIEF_NORMAL
- True
- False
- False
- True
-
-
- 1
- 2
- 1
- 2
-
-
-
-
-
-
-
- True
- True
- Select
- True
- GTK_RELIEF_NORMAL
- True
- True
- False
- True
- select2
-
-
- 0
- 1
- 1
- 2
-
-
-
-
-
-
- 0
- True
- True
-
-
-
-
- 0
- True
- True
-
-
-
-
-
-
-
- True
-
- GTK_WINDOW_TOPLEVEL
- GTK_WIN_POS_NONE
- False
- 500
- True
- False
- True
- False
- False
- GDK_WINDOW_TYPE_HINT_DIALOG
- GDK_GRAVITY_NORTH_WEST
- True
- False
- False
-
-
-
- True
- False
- 0
-
-
-
- True
- GTK_BUTTONBOX_END
-
-
-
- True
- True
- True
- gtk-cancel
- True
- GTK_RELIEF_NORMAL
- True
- -6
-
-
-
-
-
- True
- True
- True
- gtk-ok
- True
- GTK_RELIEF_NORMAL
- True
- -5
-
-
-
-
-
- True
- True
- True
- gtk-help
- True
- GTK_RELIEF_NORMAL
- True
- -11
-
-
-
-
- 0
- False
- True
- GTK_PACK_END
-
-
-
-
-
- 6
- True
- 7
- 7
- False
- 6
- 6
-
-
-
- True
- <b>Source 1</b>
- False
- True
- GTK_JUSTIFY_LEFT
- False
- False
- 0
- 0.5
- 0
- 0
- PANGO_ELLIPSIZE_NONE
- -1
- False
- 0
-
-
- 0
- 3
- 1
- 2
- fill
-
-
-
-
-
-
- True
- <b>Source 2</b>
- False
- True
- GTK_JUSTIFY_LEFT
- False
- False
- 0
- 0.5
- 0
- 0
- PANGO_ELLIPSIZE_NONE
- -1
- False
- 0
-
-
- 4
- 7
- 1
- 2
- fill
-
-
-
-
-
-
- True
- True
- Title:
- True
- GTK_RELIEF_NORMAL
- True
- False
- False
- True
-
-
- 1
- 2
- 2
- 3
- fill
-
-
-
-
-
-
- True
- True
- Title:
- True
- GTK_RELIEF_NORMAL
- True
- False
- False
- True
- title_btn1
-
-
- 5
- 6
- 2
- 3
- fill
-
-
-
-
-
-
- True
- True
- Author:
- True
- GTK_RELIEF_NORMAL
- True
- False
- False
- True
-
-
- 1
- 2
- 3
- 4
- fill
-
-
-
-
-
-
- True
- True
- Author:
- True
- GTK_RELIEF_NORMAL
- True
- False
- False
- True
- author_btn1
-
-
- 5
- 6
- 3
- 4
- fill
-
-
-
-
-
-
- True
- True
- Abbreviation:
- True
- GTK_RELIEF_NORMAL
- True
- False
- False
- True
-
-
- 1
- 2
- 4
- 5
- fill
-
-
-
-
-
-
- True
- True
- Abbreviation:
- True
- GTK_RELIEF_NORMAL
- True
- False
- False
- True
- abbrev_btn1
-
-
- 5
- 6
- 4
- 5
- fill
-
-
-
-
-
-
- True
- True
- Publication:
- True
- GTK_RELIEF_NORMAL
- True
- False
- False
- True
-
-
- 1
- 2
- 5
- 6
- fill
-
-
-
-
-
-
- True
- True
- Publication:
- True
- GTK_RELIEF_NORMAL
- True
- False
- False
- True
- pub_btn1
-
-
- 5
- 6
- 5
- 6
- fill
-
-
-
-
-
-
- True
- True
- GRAMPS ID:
- True
- GTK_RELIEF_NORMAL
- True
- False
- False
- True
-
-
- 1
- 2
- 6
- 7
- fill
-
-
-
-
-
-
- True
- True
- GRAMPS ID:
- True
- GTK_RELIEF_NORMAL
- True
- False
- False
- True
- gramps_btn1
-
-
- 5
- 6
- 6
- 7
- fill
-
-
-
-
-
-
- True
-
- False
- True
- GTK_JUSTIFY_LEFT
- False
- False
- 0.5
- 0.5
- 0
- 0
- PANGO_ELLIPSIZE_NONE
- -1
- False
- 0
-
-
- 0
- 7
- 0
- 1
-
-
-
-
-
-
- True
- True
- False
- True
- 0
-
- True
- ●
- False
-
-
- 2
- 3
- 2
- 3
-
-
-
-
-
-
- True
- True
- False
- True
- 0
-
- True
- ●
- False
-
-
- 6
- 7
- 2
- 3
-
-
-
-
-
-
- True
- True
- False
- True
- 0
-
- True
- ●
- False
-
-
- 2
- 3
- 3
- 4
-
-
-
-
-
-
- True
- True
- False
- True
- 0
-
- True
- ●
- False
-
-
- 6
- 7
- 3
- 4
-
-
-
-
-
-
- True
- True
- False
- True
- 0
-
- True
- ●
- False
-
-
- 2
- 3
- 4
- 5
-
-
-
-
-
-
- True
- True
- False
- True
- 0
-
- True
- ●
- False
-
-
- 6
- 7
- 4
- 5
-
-
-
-
-
-
- True
- True
- False
- True
- 0
-
- True
- ●
- False
-
-
- 2
- 3
- 5
- 6
-
-
-
-
-
-
- True
- True
- False
- True
- 0
-
- True
- ●
- False
-
-
- 6
- 7
- 5
- 6
-
-
-
-
-
-
- True
- True
- False
- True
- 0
-
- True
- ●
- False
-
-
- 2
- 3
- 6
- 7
-
-
-
-
-
-
- True
- True
- False
- True
- 0
-
- True
- ●
- False
-
-
- 6
- 7
- 6
- 7
-
-
-
-
-
- 0
- True
- True
-
-
-
-
-
-
-
- True
-
- GTK_WINDOW_TOPLEVEL
- GTK_WIN_POS_NONE
- True
- 300
- True
- False
- True
- False
- False
- GDK_WINDOW_TYPE_HINT_DIALOG
- GDK_GRAVITY_NORTH_WEST
- True
- False
- False
-
-
-
- True
- False
- 8
-
-
-
- True
- GTK_BUTTONBOX_END
-
-
-
- True
- True
- True
- gtk-cancel
- True
- GTK_RELIEF_NORMAL
- True
- -6
-
-
-
-
-
- True
- True
- True
- gtk-ok
- True
- GTK_RELIEF_NORMAL
- True
- -5
-
-
-
-
-
- True
- True
- True
- gtk-help
- True
- GTK_RELIEF_NORMAL
- True
- -11
-
-
-
-
- 0
- False
- True
- GTK_PACK_END
-
-
-
-
-
- 12
- True
- False
- 6
-
-
-
- True
-
- False
- False
- GTK_JUSTIFY_LEFT
- False
- False
- 0.5
- 0.5
- 0
- 0
- PANGO_ELLIPSIZE_NONE
- -1
- False
- 0
-
-
- 0
- False
- False
-
-
-
-
-
- True
- Select the person that will provide the primary data for the merged person.
- False
- False
- GTK_JUSTIFY_LEFT
- True
- False
- 0.5
- 0.5
- 0
- 0
- PANGO_ELLIPSIZE_NONE
- -1
- False
- 0
-
-
- 6
- False
- False
-
-
-
-
-
- True
- 2
- 2
- False
- 0
- 0
-
-
-
- True
-
- False
- False
- GTK_JUSTIFY_CENTER
- False
- False
- 0
- 0.5
- 0
- 0
- PANGO_ELLIPSIZE_NONE
- -1
- False
- 0
-
-
- 1
- 2
- 0
- 1
- fill
-
-
-
-
-
-
- True
-
- False
- False
- GTK_JUSTIFY_CENTER
- False
- False
- 0
- 0.5
- 0
- 0
- PANGO_ELLIPSIZE_NONE
- -1
- False
- 0
-
-
- 1
- 2
- 1
- 2
- fill
-
-
-
-
-
-
- True
- True
-
- True
- GTK_RELIEF_NORMAL
- True
- True
- False
- True
-
-
- 0
- 1
- 0
- 1
- 5
- 5
- fill
-
-
-
-
-
-
- True
- True
-
- True
- GTK_RELIEF_NORMAL
- True
- False
- False
- True
- person1
-
-
- 0
- 1
- 1
- 2
- 5
- 5
- fill
-
-
-
-
-
- 0
- True
- True
-
-
-
-
- 0
- True
- True
-
-
-
-
-
-
-
+
+
+
+
+
+
+ True
+ 700
+ 500
+ dialog
+ False
+
+
+ True
+ 8
+
+
+ True
+
+
+ True
+ center
+
+
+ False
+ False
+ 10
+ 0
+
+
+
+
+ True
+ 2
+ 2
+ 5
+
+
+ True
+ True
+ automatic
+ automatic
+ in
+
+
+ True
+ True
+ 10
+ 10
+ False
+ 10
+ 10
+
+
+
+
+
+
+ True
+ True
+ automatic
+ automatic
+ in
+
+
+ True
+ True
+ 10
+ 10
+ False
+ 10
+ 10
+
+
+
+
+ 1
+ 2
+ GTK_FILL
+
+
+
+
+ Select
+ True
+ True
+ False
+ True
+ True
+
+
+ 1
+ 2
+ 1
+ 2
+
+
+
+
+
+
+ Select
+ True
+ True
+ False
+ True
+ True
+ True
+ select2
+
+
+ 1
+ 2
+
+
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+ True
+ end
+
+
+ gtk-cancel
+ True
+ True
+ True
+ False
+ True
+
+
+
+ False
+ False
+ 0
+
+
+
+
+ Merge and _edit
+ True
+ False
+ True
+ True
+ False
+ True
+
+
+
+ False
+ False
+ 1
+
+
+
+
+ _Merge and close
+ True
+ True
+ True
+ False
+ True
+
+
+
+ False
+ False
+ 2
+
+
+
+
+ gtk-help
+ True
+ True
+ True
+ False
+ True
+
+
+
+ False
+ False
+ 3
+
+
+
+
+ False
+ end
+ 0
+
+
+
+
+
+ merge_cancel
+ edit
+ close
+ merge_help
+
+
+
+ 500
+ dialog
+ False
+
+
+ True
+
+
+ True
+ 6
+ 7
+ 7
+ 6
+ 6
+
+
+ True
+ 0
+ <b>Source 1</b>
+ True
+
+
+ 3
+ 1
+ 2
+ GTK_FILL
+
+
+
+
+
+ True
+ 0
+ <b>Source 2</b>
+ True
+
+
+ 4
+ 7
+ 1
+ 2
+ GTK_FILL
+
+
+
+
+
+ Title:
+ True
+ True
+ False
+ True
+ True
+
+
+ 1
+ 2
+ 2
+ 3
+ GTK_FILL
+
+
+
+
+
+ Title:
+ True
+ True
+ False
+ True
+ True
+ title_btn1
+
+
+ 5
+ 6
+ 2
+ 3
+ GTK_FILL
+
+
+
+
+
+ Author:
+ True
+ True
+ False
+ True
+ True
+
+
+ 1
+ 2
+ 3
+ 4
+ GTK_FILL
+
+
+
+
+
+ Author:
+ True
+ True
+ False
+ True
+ True
+ author_btn1
+
+
+ 5
+ 6
+ 3
+ 4
+ GTK_FILL
+
+
+
+
+
+ Abbreviation:
+ True
+ True
+ False
+ True
+ True
+
+
+ 1
+ 2
+ 4
+ 5
+ GTK_FILL
+
+
+
+
+
+ Abbreviation:
+ True
+ True
+ False
+ True
+ True
+ abbrev_btn1
+
+
+ 5
+ 6
+ 4
+ 5
+ GTK_FILL
+
+
+
+
+
+ Publication:
+ True
+ True
+ False
+ True
+ True
+
+
+ 1
+ 2
+ 5
+ 6
+ GTK_FILL
+
+
+
+
+
+ Publication:
+ True
+ True
+ False
+ True
+ True
+ pub_btn1
+
+
+ 5
+ 6
+ 5
+ 6
+ GTK_FILL
+
+
+
+
+
+ GRAMPS ID:
+ True
+ True
+ False
+ True
+ True
+
+
+ 1
+ 2
+ 6
+ 7
+ GTK_FILL
+
+
+
+
+
+ GRAMPS ID:
+ True
+ True
+ False
+ True
+ True
+ gramps_btn1
+
+
+ 5
+ 6
+ 6
+ 7
+ GTK_FILL
+
+
+
+
+
+ True
+ True
+
+
+ 7
+
+
+
+
+
+ True
+ True
+ False
+ ●
+
+
+ 2
+ 3
+ 2
+ 3
+
+
+
+
+
+ True
+ True
+ False
+ ●
+
+
+ 6
+ 7
+ 2
+ 3
+
+
+
+
+
+ True
+ True
+ False
+ ●
+
+
+ 2
+ 3
+ 3
+ 4
+
+
+
+
+
+ True
+ True
+ False
+ ●
+
+
+ 6
+ 7
+ 3
+ 4
+
+
+
+
+
+ True
+ True
+ False
+ ●
+
+
+ 2
+ 3
+ 4
+ 5
+
+
+
+
+
+ True
+ True
+ False
+ ●
+
+
+ 6
+ 7
+ 4
+ 5
+
+
+
+
+
+ True
+ True
+ False
+ ●
+
+
+ 2
+ 3
+ 5
+ 6
+
+
+
+
+
+ True
+ True
+ False
+ ●
+
+
+ 6
+ 7
+ 5
+ 6
+
+
+
+
+
+ True
+ True
+ False
+ ●
+
+
+ 2
+ 3
+ 6
+ 7
+
+
+
+
+
+ True
+ True
+ False
+ ●
+
+
+ 6
+ 7
+ 6
+ 7
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+
+
+
+
+ True
+ end
+
+
+ gtk-cancel
+ True
+ True
+ True
+ False
+ True
+
+
+ False
+ False
+ 0
+
+
+
+
+ gtk-ok
+ True
+ True
+ True
+ False
+ True
+
+
+ False
+ False
+ 1
+
+
+
+
+ gtk-help
+ True
+ True
+ True
+ False
+ True
+
+
+ False
+ False
+ 2
+
+
+
+
+ False
+ end
+ 0
+
+
+
+
+
+ source_cancel
+ source_ok
+ source_help
+
+
+
+ True
+ 300
+ dialog
+ False
+
+
+ True
+ 8
+
+
+ True
+ 12
+ 6
+
+
+ True
+
+
+ False
+ False
+ 0
+
+
+
+
+ True
+ Select the person that will provide the primary data for the merged person.
+ True
+
+
+ False
+ False
+ 6
+ 1
+
+
+
+
+ True
+ 2
+ 2
+
+
+ True
+ 0
+ center
+
+
+ 1
+ 2
+ GTK_FILL
+
+
+
+
+
+ True
+ 0
+ center
+
+
+ 1
+ 2
+ 1
+ 2
+ GTK_FILL
+
+
+
+
+
+ True
+ True
+ False
+ True
+ True
+ True
+
+
+ GTK_FILL
+
+ 5
+ 5
+
+
+
+
+ True
+ True
+ False
+ True
+ True
+ person1
+
+
+ 1
+ 2
+ GTK_FILL
+
+ 5
+ 5
+
+
+
+
+ 2
+
+
+
+
+ 1
+
+
+
+
+ True
+ end
+
+
+ gtk-cancel
+ True
+ True
+ True
+ False
+ True
+
+
+ False
+ False
+ 0
+
+
+
+
+ gtk-ok
+ True
+ True
+ True
+ False
+ True
+
+
+ False
+ False
+ 1
+
+
+
+
+ gtk-help
+ True
+ True
+ True
+ False
+ True
+
+
+ False
+ False
+ 2
+
+
+
+
+ False
+ end
+ 0
+
+
+
+
+
+ button15
+ button16
+ people_help
+
+
+