Updates to relationship calculator, disabling menus, saving sidebar/filters

svn: r1190
This commit is contained in:
Don Allingham 2002-11-16 23:22:33 +00:00
parent aac28fa291
commit 65f8f4c87b
8 changed files with 772 additions and 748 deletions

Binary file not shown.

View File

@ -981,7 +981,7 @@ def save_view(val):
set_bool("/apps/gramps/view",val)
def get_view():
return get_bool("/apps/gramps/view",1)
return get_bool("/apps/gramps/view")
def save_filter(val):
set_bool("/apps/gramps/filter",val)

View File

@ -18,16 +18,31 @@
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
#-------------------------------------------------------------------------
#
# Standard python modules
#
#-------------------------------------------------------------------------
import string
#-------------------------------------------------------------------------
#
# GNOME
#
#-------------------------------------------------------------------------
import gtk.glade
#-------------------------------------------------------------------------
#
# GRAMPS modules
#
#-------------------------------------------------------------------------
import RelLib
import Utils
import GrampsCfg
import ListModel
import const
from intl import gettext
_ = gettext
import string
import gtk.glade
from intl import gettext as _
#-------------------------------------------------------------------------
#
@ -129,8 +144,12 @@ class MergePeople:
self.set_field(self.glade.get_widget("mother1"),mother1)
self.set_field(self.glade.get_widget("mother2"),mother2)
self.build_spouse_list(person1,self.glade.get_widget('spouse1'))
self.build_spouse_list(person2,self.glade.get_widget('spouse2'))
sp1_list = [('-',0,100)]
self.sp1 = ListModel.ListModel(self.glade.get_widget('spouse1'),sp1_list)
self.sp2 = ListModel.ListModel(self.glade.get_widget('spouse2'),sp1_list)
self.build_spouse_list(person1,self.sp1)
self.build_spouse_list(person2,self.sp2)
if name1 != name2:
self.altname.set_sensitive(1)
@ -154,28 +173,25 @@ class MergePeople:
self.altdeath.set_active(0)
def build_spouse_list(self,person,widget):
plist = person.getFamilyList()
length = min(len(plist),3)
widget.clear()
for index in range(0,3):
if index < length and plist[index]:
if person.getGender() == RelLib.Person.male:
spouse = plist[index].getMother()
else:
spouse = plist[index].getFather()
for fam in person.getFamilyList():
if person.getGender() == RelLib.Person.male:
spouse = fam.getMother()
else:
spouse = fam.getFather()
if spouse == None:
name = "unknown"
else:
sname = GrampsCfg.nameof(spouse)
name = "%s (%s)" % (sname,spouse.getId())
widget.append([name])
if spouse == None:
name = "unknown"
else:
sname = GrampsCfg.nameof(spouse)
name = "%s [%s]" % (sname,spouse.getId())
print name, widget
widget.add([name])
def set_field(self,widget,value):
"""Sets the string of the entry field at positions it a space 0"""
widget.set_text(value)
widget.set_position(0)
def place_name(self,event):
place = event.getPlace()

View File

@ -146,8 +146,14 @@ class Gramps:
"""
self.gtop = gtk.glade.XML(const.gladeFile, "gramps")
self.report_button = self.gtop.get_widget("reports")
self.tool_button = self.gtop.get_widget("tools")
self.sidebar = self.gtop.get_widget('side_event')
self.filterbar = self.gtop.get_widget('filterbar')
self.tool_button.set_sensitive(0)
self.report_button.set_sensitive(0)
set_panel(self.sidebar)
set_panel(self.gtop.get_widget('side_people'))
set_panel(self.gtop.get_widget('side_family'))
@ -415,21 +421,24 @@ class Gramps:
def on_filter_activate(self,obj):
self.enable_filter(obj.get_active())
# GrampsCfg.save_filter(val)
GrampsCfg.save_filter(obj.get_active())
def build_plugin_menus(self):
export_menu = self.gtop.get_widget("export1")
import_menu = self.gtop.get_widget("import1")
report_menu = self.gtop.get_widget("reports_menu")
tools_menu = self.gtop.get_widget("tools_menu")
self.report_menu = self.gtop.get_widget("reports_menu")
self.tools_menu = self.gtop.get_widget("tools_menu")
self.report_menu.set_sensitive(0)
self.tools_menu.set_sensitive(0)
Plugins.load_plugins(const.docgenDir)
Plugins.load_plugins(os.path.expanduser("~/.gramps/docgen"))
Plugins.load_plugins(const.pluginsDir)
Plugins.load_plugins(os.path.expanduser("~/.gramps/plugins"))
Plugins.build_report_menu(report_menu,self.menu_report)
Plugins.build_tools_menu(tools_menu,self.menu_tools)
Plugins.build_report_menu(self.report_menu,self.menu_report)
Plugins.build_tools_menu(self.tools_menu,self.menu_tools)
Plugins.build_export_menu(export_menu,self.export_callback)
Plugins.build_import_menu(import_menu,self.import_callback)
@ -726,7 +735,7 @@ class Gramps:
self.displayError(_("%s is not a directory") % filename)
return
self.statusbar.set_status(_("Loading %s ...") % filename)
self.status_text(_("Loading %s ...") % filename)
if self.load_database(filename) == 1:
if filename[-1] == '/':
@ -734,7 +743,7 @@ class Gramps:
name = os.path.basename(filename)
self.topWindow.set_title("%s - GRAMPS" % name)
else:
self.statusbar.set_status("")
self.status_text("")
GrampsCfg.save_last_file("")
def on_ok_button2_clicked(self,obj):
@ -752,7 +761,7 @@ class Gramps:
filename = os.path.normpath(filename)
autosave = "%s/autosave.gramps" % filename
self.statusbar.set_status(_("Saving %s ...") % filename)
self.status_text(_("Saving %s ...") % filename)
Utils.clearModified()
Utils.clear_timer()
@ -793,7 +802,7 @@ class Gramps:
filename = filename[:-1]
name = os.path.basename(filename)
self.topWindow.set_title("%s - GRAMPS" % name)
self.statusbar.set_status("")
self.status_text("")
self.statusbar.set_progress_percentage(0.0)
if os.path.exists(autosave):
try:
@ -812,12 +821,12 @@ class Gramps:
filename = "%s/autosave.gramps" % (self.db.getSavePath())
self.statusbar.set_status(_("autosaving..."));
self.status_text(_("autosaving..."));
try:
self.db.save(filename,self.quick_progress)
self.statusbar.set_status(_("autosave complete"));
self.status_text(_("autosave complete"));
except (IOError,OSError),msg:
self.statusbar.set_status("%s - %s" % (_("autosave failed"),msg))
self.status_text("%s - %s" % (_("autosave failed"),msg))
except:
import traceback
traceback.print_exc()
@ -825,10 +834,8 @@ class Gramps:
def load_selected_people(self,obj):
"""Display the selected people in the EditPerson display"""
list_store, iter = self.person_selection.get_selected()
if iter:
id = list_store.get_value(iter,1)
self.load_person(self.db.getPerson(id))
if self.active_person:
self.load_person(self.active_person)
def load_active_person(self,obj):
self.load_person(self.active_person)
@ -915,14 +922,24 @@ class Gramps:
def change_active_person(self,person):
self.active_person = person
self.modify_statusbar()
if person:
self.report_menu.set_sensitive(1)
self.tools_menu.set_sensitive(1)
self.report_button.set_sensitive(1)
self.tool_button.set_sensitive(1)
else:
self.report_menu.set_sensitive(0)
self.tools_menu.set_sensitive(0)
self.report_button.set_sensitive(0)
self.tool_button.set_sensitive(0)
def modify_statusbar(self):
if self.active_person == None:
self.statusbar.set_status("")
self.status_text("")
else:
pname = GrampsCfg.nameof(self.active_person)
name = "[%s] %s" % (self.active_person.getId(),pname)
self.statusbar.set_status(name)
self.status_text(name)
return 0
def on_child_list_row_move(self,clist,fm,to):
@ -1230,6 +1247,11 @@ class Gramps:
while gtk.events_pending():
gtk.mainiteration()
def status_text(self,text):
self.statusbar.set_status(text)
while gtk.events_pending():
gtk.mainiteration()
def quick_progress(self,value):
gtk.threads_enter()
self.statusbar.set_progress_percentage(value)
@ -1307,6 +1329,7 @@ class Gramps:
def load_revision(self,f,name,revision):
filename = "%s/%s" % (name,self.db.get_base())
self.status_text(_('Loading %s...' % name))
if ReadXML.loadRevision(self.db,f,filename,revision,self.load_progress) == 0:
return 0
return self.post_load(name)
@ -1318,9 +1341,10 @@ class Gramps:
def displayError(self,msg):
ErrorDialog(msg)
self.statusbar.set_status("")
self.status_text("")
def apply_filter(self):
self.status_text(_("Updating display"))
datacomp = self.DataFilter.compare
for key in self.db.getPersonKeys():
@ -1348,6 +1372,7 @@ class Gramps:
if self.id2col.has_key(key):
(model,iter,page) = self.id2col[key]
model.remove(iter)
self.modify_statusbar()
def on_home_clicked(self,obj):
temp = self.db.getDefaultPerson()
@ -1361,7 +1386,7 @@ class Gramps:
if self.active_person:
self.bookmarks.add(self.active_person)
name = GrampsCfg.nameof(self.active_person)
self.statusbar.set_status(_("%s has been bookmarked") % name)
self.status_text(_("%s has been bookmarked") % name)
gtk.timeout_add(5000,self.modify_statusbar)
else:
WarningDialog(_("Bookmark could not be set because no one was selected"))

View File

@ -20,17 +20,32 @@
"Database Processing/Merge people"
#-------------------------------------------------------------------------
#
# GRAMPS modules
#
#-------------------------------------------------------------------------
import RelLib
import Utils
import soundex
import GrampsCfg
import ListModel
import MergeData
from intl import gettext as _
#-------------------------------------------------------------------------
#
# standard python models
#
#-------------------------------------------------------------------------
import string
import os
import MergeData
#-------------------------------------------------------------------------
#
# GNOME libraries
#
#-------------------------------------------------------------------------
from gnome.ui import *
import gtk
import gtk.glade
@ -119,10 +134,9 @@ class Merge:
self.show()
def progress_update(self,val):
pass
# self.progress.set_value(val)
# while gtk.events_pending():
# gtk.mainiteration()
self.progress.set_value(val)
while gtk.events_pending():
gtk.mainiteration()
def find_potentials(self,thresh):
@ -197,12 +211,11 @@ class Merge:
"destroy_passed_object" : Utils.destroy_passed_object,
"on_do_merge_clicked" : self.on_do_merge_clicked,
})
self.mlist.connect('button-press-event',self.button_press_event)
self.list = ListModel.ListModel(self.mlist,
[(_('Rating'),75,0),
(_('First Person'),200,1),
(_('Second Person'),200,2)])
mtitles = [(_('Rating'),3,75),(_('First Person'),1,200),
(_('Second Person'),2,200),('',-1,0)]
self.list = ListModel.ListModel(self.mlist,mtitles,
event_func=self.on_do_merge_clicked)
self.redraw()
@ -218,32 +231,21 @@ class Merge:
if p1 == p2:
continue
list.append((c,p1,p2.getId()))
list.sort()
list.reverse()
index = 0
self.match_map = {}
self.list.clear()
for (c,p1,p2) in list:
c = "%5.2f" % c
pn1 = self.db.getPerson(p1)
pn2 = self.db.getPerson(p2)
self.list.add([c, name_of(pn1), name_of(pn2)])
self.match_map[index] = (p1,p2)
index = index + 1
def button_press_event(self,obj,event):
if event.button != 1 or event.type != gtk.gdk._2BUTTON_PRESS:
return
self.on_do_merge_clicked(obj)
c1 = "%5.2f" % c
c2 = "%5.2f" % (100-c)
pn1 = self.db.getPerson(p1).getPrimaryName().getName()
pn2 = self.db.getPerson(p2).getPrimaryName().getName()
self.list.add([c, pn1, pn2,c2],(p1,p2))
def on_do_merge_clicked(self,obj):
store,iter = self.list.selection.get_selected()
if not iter:
return
row = self.list.model.get_path(iter)
(p1,p2) = self.match_map[row[0]]
(p1,p2) = self.list.get_object(iter)
pn1 = self.db.getPerson(p1)
pn2 = self.db.getPerson(p2)
MergeData.MergePeople(self.db,pn1,pn2,self.on_update)

View File

@ -42,7 +42,7 @@ def filter(person,index,list,map):
if person == None:
return
list.append(person)
map[person] = index
map[person.getId()] = index
family = person.getMainParents()
if family != None:
@ -340,7 +340,7 @@ class RelCalc:
for person in firstList:
if person in secondList:
new_rank = firstMap[person]
new_rank = firstMap[person.getId()]
if new_rank < rank:
rank = new_rank
common = [ person ]
@ -357,15 +357,15 @@ class RelCalc:
if length == 1:
person = common[0]
secondRel = firstMap[person]
firstRel = secondMap[person]
secondRel = firstMap[person.getId()]
firstRel = secondMap[person.getId()]
name = person.getPrimaryName().getRegularName()
commontext = " " + _("Their common ancestor is %s.") % name
elif length == 2:
p1 = common[0]
p2 = common[1]
secondRel = firstMap[p1]
firstRel = secondMap[p1]
secondRel = firstMap[p1.getId()]
firstRel = secondMap[p1.getId()]
commontext = " " + _("Their common ancestors are %s and %s.") % \
(p1.getPrimaryName().getRegularName(),\
p2.getPrimaryName().getRegularName())
@ -373,8 +373,8 @@ class RelCalc:
index = 0
commontext = " " + _("Their common ancestors are : ")
for person in common:
secondRel = firstMap[person]
firstRel = secondMap[person]
secondRel = firstMap[person.getId()]
firstRel = secondMap[person.getId()]
if index != 0:
commontext = commontext + ", "
commontext = commontext + person.getPrimaryName().getRegularName()
@ -414,15 +414,11 @@ class RelCalc:
else:
text = get_cousin(firstName,secondName,secondRel-1,firstRel-secondRel)
text1 = self.glade.get_widget("text1")
text1.set_point(0)
length = text1.get_length()
text1.forward_delete(length)
text1 = self.glade.get_widget("text1").get_buffer()
if firstRel == 0 or secondRel == 0:
text1.insert_defaults(text)
text1.set_text(text)
else:
text1.insert_defaults(text + commontext)
text1.set_word_wrap(1)
text1.set_text(text + commontext)
#-------------------------------------------------------------------------
#

View File

@ -1,481 +1,478 @@
<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd" >
<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd">
<glade-interface>
<widget class="GtkWindow" id="message">
<property name="title" translatable="yes">Merge People - GRAMPS</property>
<property name="type">GTK_WINDOW_DIALOG</property>
<property name="modal">yes</property>
<property name="allow_shrink">no</property>
<property name="allow_grow">yes</property>
<property name="window-position">GTK_WIN_POS_NONE</property>
<property name="visible">yes</property>
<child>
<widget class="GtkVBox" id="vbox2">
<property name="homogeneous">no</property>
<property name="spacing">0</property>
<property name="visible">yes</property>
<widget class="GtkWindow" id="message">
<property name="visible">True</property>
<property name="title" translatable="yes">Merge People - GRAMPS</property>
<property name="type">GTK_WINDOW_TOPLEVEL</property>
<property name="window_position">GTK_WIN_POS_NONE</property>
<property name="modal">True</property>
<property name="resizable">True</property>
<property name="destroy_with_parent">False</property>
<child>
<widget class="GtkLabel" id="mergeTitle">
<property name="label" translatable="yes">Determining Possible Merges</property>
<property name="justify">GTK_JUSTIFY_CENTER</property>
<property name="wrap">no</property>
<property name="xalign">0.5</property>
<property name="yalign">0.5</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
<property name="visible">yes</property>
</widget>
<packing>
<property name="padding">10</property>
<property name="expand">no</property>
<property name="fill">no</property>
</packing>
</child>
<child>
<widget class="GtkVBox" id="vbox2">
<property name="visible">True</property>
<property name="homogeneous">False</property>
<property name="spacing">0</property>
<child>
<widget class="GtkHSeparator" id="hseparator6">
<property name="visible">yes</property>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">no</property>
<property name="fill">yes</property>
</packing>
</child>
<child>
<widget class="GtkLabel" id="mergeTitle">
<property name="visible">True</property>
<property name="label" translatable="yes">Determining Possible Merges</property>
<property name="use_underline">False</property>
<property name="use_markup">False</property>
<property name="justify">GTK_JUSTIFY_CENTER</property>
<property name="wrap">False</property>
<property name="selectable">False</property>
<property name="xalign">0.5</property>
<property name="yalign">0.5</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
</widget>
<packing>
<property name="padding">10</property>
<property name="expand">False</property>
<property name="fill">False</property>
</packing>
</child>
<child>
<widget class="GtkLabel" id="label44">
<property name="label" translatable="yes">Please be patient. This may take a while.</property>
<property name="justify">GTK_JUSTIFY_CENTER</property>
<property name="wrap">yes</property>
<property name="xalign">0.5</property>
<property name="yalign">0.5</property>
<property name="xpad">10</property>
<property name="ypad">0</property>
<property name="visible">yes</property>
</widget>
<packing>
<property name="padding">20</property>
<property name="expand">no</property>
<property name="fill">no</property>
</packing>
</child>
<child>
<widget class="GtkHSeparator" id="hseparator6">
<property name="visible">True</property>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">True</property>
</packing>
</child>
<child>
<widget class="GtkHBox" id="hbox4">
<property name="homogeneous">no</property>
<property name="spacing">0</property>
<property name="visible">yes</property>
<child>
<widget class="GtkLabel" id="label44">
<property name="visible">True</property>
<property name="label" translatable="yes">Please be patient. This may take a while.</property>
<property name="use_underline">False</property>
<property name="use_markup">False</property>
<property name="justify">GTK_JUSTIFY_CENTER</property>
<property name="wrap">True</property>
<property name="selectable">False</property>
<property name="xalign">0.5</property>
<property name="yalign">0.5</property>
<property name="xpad">10</property>
<property name="ypad">0</property>
</widget>
<packing>
<property name="padding">20</property>
<property name="expand">False</property>
<property name="fill">False</property>
</packing>
</child>
<child>
<placeholder />
</child>
<child>
<widget class="GtkHBox" id="hbox4">
<property name="visible">True</property>
<property name="homogeneous">False</property>
<property name="spacing">0</property>
<child>
<widget class="GtkProgressBar" id="progressbar1">
<property name="bar_style">GTK_PROGRESS_CONTINUOUS</property>
<property name="orientation">GTK_PROGRESS_LEFT_TO_RIGHT</property>
<property name="activity_mode">no</property>
<property name="show_text">no</property>
<property name="format" translatable="yes">%P %%</property>
<property name="text_xalign">0.5</property>
<property name="text_yalign">0.5</property>
<property name="visible">yes</property>
<property name="adjustment">0 0 100 1 10 10</property>
</widget>
<packing>
<property name="padding">20</property>
<property name="expand">yes</property>
<property name="fill">yes</property>
</packing>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder />
</child>
</widget>
<packing>
<property name="padding">20</property>
<property name="expand">no</property>
<property name="fill">no</property>
</packing>
</child>
</widget>
</child>
</widget>
<widget class="GtkDialog" id="mergelist">
<property name="title" translatable="yes">Merge List - GRAMPS</property>
<property name="type">GTK_WINDOW_TOPLEVEL</property>
<property name="modal">no</property>
<property name="allow_shrink">no</property>
<property name="allow_grow">yes</property>
<property name="visible">yes</property>
<property name="window-position">GTK_WIN_POS_NONE</property>
<child>
<widget class="GtkProgressBar" id="progressbar1">
<property name="visible">True</property>
<property name="orientation">GTK_PROGRESS_LEFT_TO_RIGHT</property>
<property name="fraction">0</property>
<property name="pulse_step">0.1</property>
<property name="activity_mode">False</property>
<property name="show_text">False</property>
<property name="text_xalign">0.5</property>
<property name="text_yalign">0.5</property>
</widget>
<packing>
<property name="padding">20</property>
<property name="expand">True</property>
<property name="fill">True</property>
</packing>
</child>
<child internal-child="vbox">
<widget class="GtkVBox" id="dialog-vbox3">
<property name="homogeneous">no</property>
<property name="spacing">8</property>
<property name="visible">yes</property>
<child>
<placeholder/>
</child>
</widget>
<packing>
<property name="padding">20</property>
<property name="expand">False</property>
<property name="fill">False</property>
</packing>
</child>
</widget>
</child>
</widget>
<child internal-child="action_area">
<widget class="GtkHButtonBox" id="dialog-action_area3">
<property name="layout_style">GTK_BUTTONBOX_END</property>
<property name="spacing">8</property>
<property name="visible">yes</property>
<widget class="GtkDialog" id="mergelist">
<property name="visible">True</property>
<property name="title" translatable="yes">Merge List - GRAMPS</property>
<property name="type">GTK_WINDOW_TOPLEVEL</property>
<property name="window_position">GTK_WIN_POS_NONE</property>
<property name="modal">False</property>
<property name="resizable">True</property>
<property name="destroy_with_parent">False</property>
<property name="has_separator">True</property>
<child>
<widget class="GtkButton" id="button7">
<property name="can_default">yes</property>
<property name="can_focus">yes</property>
<property name="label" translatable="yes">Merge</property>
<property name="visible">yes</property>
<child internal-child="vbox">
<widget class="GtkVBox" id="dialog-vbox3">
<property name="visible">True</property>
<property name="homogeneous">False</property>
<property name="spacing">8</property>
<signal name="clicked" handler="on_do_merge_clicked" />
</widget>
</child>
<child internal-child="action_area">
<widget class="GtkHButtonBox" id="dialog-action_area3">
<property name="visible">True</property>
<property name="layout_style">GTK_BUTTONBOX_END</property>
<child>
<widget class="GtkButton" id="button9">
<property name="can_default">yes</property>
<property name="can_focus">yes</property>
<property name="visible">yes</property>
<property name="label">gtk-close</property>
<property name="use_stock">yes</property>
<property name="use_underline">yes</property>
<child>
<widget class="GtkButton" id="button7">
<property name="visible">True</property>
<property name="can_default">True</property>
<property name="can_focus">True</property>
<property name="label" translatable="yes">Merge</property>
<property name="use_underline">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="response_id">0</property>
<signal name="clicked" handler="on_do_merge_clicked"/>
</widget>
</child>
<signal name="clicked" handler="destroy_passed_object" object="mergelist" />
</widget>
</child>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">no</property>
<property name="fill">yes</property>
<property name="pack_type">GTK_PACK_END</property>
</packing>
</child>
<child>
<widget class="GtkButton" id="button9">
<property name="visible">True</property>
<property name="can_default">True</property>
<property name="can_focus">True</property>
<property name="label">gtk-close</property>
<property name="use_stock">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="response_id">0</property>
<signal name="clicked" handler="destroy_passed_object" object="mergelist"/>
</widget>
</child>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="pack_type">GTK_PACK_END</property>
</packing>
</child>
<child>
<widget class="GtkVBox" id="vbox5">
<property name="homogeneous">no</property>
<property name="spacing">0</property>
<property name="visible">yes</property>
<child>
<widget class="GtkVBox" id="vbox5">
<property name="visible">True</property>
<property name="homogeneous">False</property>
<property name="spacing">0</property>
<child>
<widget class="GtkLabel" id="label59">
<property name="label" translatable="yes">Potential Merges</property>
<property name="justify">GTK_JUSTIFY_CENTER</property>
<property name="wrap">no</property>
<property name="xalign">0.5</property>
<property name="yalign">0.5</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
<property name="visible">yes</property>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">no</property>
<property name="fill">no</property>
</packing>
</child>
<child>
<widget class="GtkLabel" id="label59">
<property name="visible">True</property>
<property name="label" translatable="yes">Potential Merges</property>
<property name="use_underline">False</property>
<property name="use_markup">False</property>
<property name="justify">GTK_JUSTIFY_CENTER</property>
<property name="wrap">False</property>
<property name="selectable">False</property>
<property name="xalign">0.5</property>
<property name="yalign">0.5</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">False</property>
</packing>
</child>
<child>
<widget class="GtkHSeparator" id="hseparator9">
<property name="visible">yes</property>
</widget>
<packing>
<property name="padding">10</property>
<property name="expand">no</property>
<property name="fill">yes</property>
</packing>
</child>
<child>
<widget class="GtkHSeparator" id="hseparator9">
<property name="visible">True</property>
</widget>
<packing>
<property name="padding">10</property>
<property name="expand">False</property>
<property name="fill">True</property>
</packing>
</child>
<child>
<widget class="GtkScrolledWindow" id="scrolledwindow3">
<property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
<property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
<property name="shadow_type">GTK_SHADOW_IN</property>
<property name="visible">yes</property>
<child>
<widget class="GtkScrolledWindow" id="scrolledwindow3">
<property name="visible">True</property>
<property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
<property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
<property name="shadow_type">GTK_SHADOW_IN</property>
<property name="window_placement">GTK_CORNER_TOP_LEFT</property>
<child>
<widget class="GtkTreeView" id="mlist">
<property name="can_focus">yes</property>
<property name="headers-visible">yes</property>
<property name="width-request">600</property>
<property name="height-request">300</property>
<property name="visible">yes</property>
<child>
<widget class="GtkTreeView" id="mlist">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="headers_visible">True</property>
<property name="rules_hint">True</property>
<property name="reorderable">False</property>
<property name="enable_search">True</property>
</widget>
</child>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">True</property>
<property name="fill">True</property>
</packing>
</child>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">True</property>
<property name="fill">True</property>
</packing>
</child>
</widget>
</child>
</widget>
<child>
<widget class="GtkLabel" id="label56">
<property name="child_name">CList:title</property>
<property name="label" translatable="yes">Rating</property>
<property name="justify">GTK_JUSTIFY_CENTER</property>
<property name="wrap">no</property>
<property name="xalign">0.5</property>
<property name="yalign">0.5</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
<property name="visible">yes</property>
</widget>
</child>
<widget class="GtkDialog" id="dialog">
<property name="visible">True</property>
<property name="title" translatable="yes">Merge People - GRAMPS</property>
<property name="type">GTK_WINDOW_TOPLEVEL</property>
<property name="window_position">GTK_WIN_POS_NONE</property>
<property name="modal">False</property>
<property name="resizable">True</property>
<property name="destroy_with_parent">False</property>
<property name="has_separator">True</property>
<child>
<widget class="GtkLabel" id="label57">
<property name="child_name">CList:title</property>
<property name="label" translatable="yes">Person 1</property>
<property name="justify">GTK_JUSTIFY_CENTER</property>
<property name="wrap">no</property>
<property name="xalign">0.5</property>
<property name="yalign">0.5</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
<property name="visible">yes</property>
</widget>
</child>
<child internal-child="vbox">
<widget class="GtkVBox" id="dialog-vbox4">
<property name="visible">True</property>
<property name="homogeneous">False</property>
<property name="spacing">8</property>
<child>
<widget class="GtkLabel" id="label58">
<property name="child_name">CList:title</property>
<property name="label" translatable="yes">Person 2</property>
<property name="justify">GTK_JUSTIFY_CENTER</property>
<property name="wrap">no</property>
<property name="xalign">0.5</property>
<property name="yalign">0.5</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
<property name="visible">yes</property>
</widget>
</child>
</widget>
</child>
<child internal-child="action_area">
<widget class="GtkHButtonBox" id="dialog-action_area4">
<property name="visible">True</property>
<property name="layout_style">GTK_BUTTONBOX_END</property>
<child internal-child="hscrollbar">
<widget class="GtkHScrollbar" id="convertwidget1">
<property name="update_policy">GTK_UPDATE_CONTINUOUS</property>
<property name="visible">yes</property>
</widget>
</child>
<child>
<widget class="GtkButton" id="button10">
<property name="visible">True</property>
<property name="can_default">True</property>
<property name="can_focus">True</property>
<property name="label">gtk-ok</property>
<property name="use_stock">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="response_id">0</property>
<signal name="clicked" handler="on_merge_ok_clicked" object="dialog"/>
</widget>
</child>
<child internal-child="vscrollbar">
<widget class="GtkVScrollbar" id="convertwidget2">
<property name="update_policy">GTK_UPDATE_CONTINUOUS</property>
<property name="visible">yes</property>
</widget>
</child>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">yes</property>
<property name="fill">yes</property>
</packing>
</child>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">yes</property>
<property name="fill">yes</property>
</packing>
</child>
</widget>
<packing>
<property name="padding">4</property>
<property name="expand">yes</property>
<property name="fill">yes</property>
</packing>
</child>
</widget>
<widget class="GtkDialog" id="dialog">
<property name="title" translatable="yes">Merge People - GRAMPS</property>
<property name="type">GTK_WINDOW_TOPLEVEL</property>
<property name="modal">no</property>
<property name="allow_shrink">no</property>
<property name="allow_grow">no</property>
<property name="visible">yes</property>
<property name="window-position">GTK_WIN_POS_NONE</property>
<child>
<widget class="GtkButton" id="button12">
<property name="visible">True</property>
<property name="can_default">True</property>
<property name="can_focus">True</property>
<property name="label">gtk-cancel</property>
<property name="use_stock">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="response_id">0</property>
<signal name="clicked" handler="destroy_passed_object" object="dialog"/>
</widget>
</child>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="pack_type">GTK_PACK_END</property>
</packing>
</child>
<child internal-child="vbox">
<widget class="GtkVBox" id="dialog-vbox4">
<property name="homogeneous">no</property>
<property name="spacing">8</property>
<property name="visible">yes</property>
<child>
<widget class="GtkVBox" id="vbox6">
<property name="visible">True</property>
<property name="homogeneous">False</property>
<property name="spacing">0</property>
<child internal-child="action_area">
<widget class="GtkHButtonBox" id="dialog-action_area4">
<property name="layout_style">GTK_BUTTONBOX_END</property>
<property name="spacing">8</property>
<property name="visible">yes</property>
<child>
<widget class="GtkLabel" id="label45">
<property name="visible">True</property>
<property name="label" translatable="yes">Merge People</property>
<property name="use_underline">False</property>
<property name="use_markup">False</property>
<property name="justify">GTK_JUSTIFY_CENTER</property>
<property name="wrap">False</property>
<property name="selectable">False</property>
<property name="xalign">0.5</property>
<property name="yalign">0.5</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">False</property>
</packing>
</child>
<child>
<widget class="GtkButton" id="button10">
<property name="can_default">yes</property>
<property name="can_focus">yes</property>
<property name="visible">yes</property>
<property name="label">gtk-ok</property>
<property name="use_stock">yes</property>
<property name="use_underline">yes</property>
<child>
<widget class="GtkHSeparator" id="hseparator7">
<property name="visible">True</property>
</widget>
<packing>
<property name="padding">5</property>
<property name="expand">True</property>
<property name="fill">True</property>
</packing>
</child>
<signal name="clicked" handler="on_merge_ok_clicked" object="dialog" />
</widget>
</child>
<child>
<widget class="GtkFrame" id="frame2">
<property name="border_width">8</property>
<property name="visible">True</property>
<property name="label_xalign">0</property>
<property name="label_yalign">0.5</property>
<property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
<child>
<widget class="GtkButton" id="button12">
<property name="can_default">yes</property>
<property name="can_focus">yes</property>
<property name="visible">yes</property>
<property name="label">gtk-cancel</property>
<property name="use_stock">yes</property>
<property name="use_underline">yes</property>
<child>
<widget class="GtkOptionMenu" id="menu">
<property name="border_width">5</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="history">-1</property>
<signal name="clicked" handler="destroy_passed_object" object="dialog" />
</widget>
</child>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">no</property>
<property name="fill">yes</property>
<property name="pack_type">GTK_PACK_END</property>
</packing>
</child>
<child internal-child="menu">
<widget class="GtkMenu" id="convertwidget3">
<property name="visible">True</property>
</widget>
</child>
</widget>
</child>
<child>
<widget class="GtkVBox" id="vbox6">
<property name="homogeneous">no</property>
<property name="spacing">0</property>
<property name="visible">yes</property>
<child>
<widget class="GtkLabel" id="label60">
<property name="visible">True</property>
<property name="label" translatable="yes">Match Threshold</property>
<property name="use_underline">False</property>
<property name="use_markup">False</property>
<property name="justify">GTK_JUSTIFY_LEFT</property>
<property name="wrap">False</property>
<property name="selectable">False</property>
<property name="xalign">0.5</property>
<property name="yalign">0.5</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
</widget>
<packing>
<property name="type">label_item</property>
</packing>
</child>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">True</property>
<property name="fill">True</property>
</packing>
</child>
<child>
<widget class="GtkLabel" id="label45">
<property name="label" translatable="yes">Merge People</property>
<property name="justify">GTK_JUSTIFY_CENTER</property>
<property name="wrap">no</property>
<property name="xalign">0.5</property>
<property name="yalign">0.5</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
<property name="visible">yes</property>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">no</property>
<property name="fill">no</property>
</packing>
</child>
<child>
<widget class="GtkFrame" id="frame1">
<property name="border_width">8</property>
<property name="visible">True</property>
<property name="label_xalign">0</property>
<property name="label_yalign">0.5</property>
<property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
<child>
<widget class="GtkHSeparator" id="hseparator7">
<property name="visible">yes</property>
</widget>
<packing>
<property name="padding">5</property>
<property name="expand">yes</property>
<property name="fill">yes</property>
</packing>
</child>
<child>
<widget class="GtkVBox" id="vbox4">
<property name="visible">True</property>
<property name="homogeneous">False</property>
<property name="spacing">0</property>
<child>
<widget class="GtkFrame" id="frame2">
<property name="border_width">8</property>
<property name="label" translatable="yes">Match Threshold</property>
<property name="label_xalign">0</property>
<property name="shadow">GTK_SHADOW_ETCHED_IN</property>
<property name="visible">yes</property>
<child>
<widget class="GtkCheckButton" id="soundex">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="label" translatable="yes">Use SoundEx codes for name matches</property>
<property name="use_underline">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="active">True</property>
<property name="inconsistent">False</property>
<property name="draw_indicator">True</property>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">False</property>
</packing>
</child>
<child>
<widget class="GtkOptionMenu" id="menu">
<property name="border_width">5</property>
<property name="can_focus">yes</property>
<property name="history">0</property>
<property name="visible">yes</property>
<child>
<widget class="GtkLabel" id="label55">
<property name="visible">True</property>
<property name="label" translatable="yes">(Recommended only for English)</property>
<property name="use_underline">False</property>
<property name="use_markup">False</property>
<property name="justify">GTK_JUSTIFY_CENTER</property>
<property name="wrap">False</property>
<property name="selectable">False</property>
<property name="xalign">0.5</property>
<property name="yalign">0.5</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">False</property>
</packing>
</child>
</widget>
</child>
<child internal-child="menu">
<widget class="GtkMenu" id="convertwidget3">
<property name="visible">yes</property>
</widget>
</child>
</widget>
</child>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">yes</property>
<property name="fill">yes</property>
</packing>
</child>
<child>
<widget class="GtkLabel" id="label61">
<property name="visible">True</property>
<property name="label" translatable="yes">Options</property>
<property name="use_underline">False</property>
<property name="use_markup">False</property>
<property name="justify">GTK_JUSTIFY_LEFT</property>
<property name="wrap">False</property>
<property name="selectable">False</property>
<property name="xalign">0.5</property>
<property name="yalign">0.5</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
</widget>
<packing>
<property name="type">label_item</property>
</packing>
</child>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">True</property>
<property name="fill">True</property>
</packing>
</child>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">True</property>
<property name="fill">True</property>
</packing>
</child>
</widget>
</child>
</widget>
<child>
<widget class="GtkFrame" id="frame1">
<property name="border_width">8</property>
<property name="label" translatable="yes">Options</property>
<property name="label_xalign">0</property>
<property name="shadow">GTK_SHADOW_ETCHED_IN</property>
<property name="visible">yes</property>
<child>
<widget class="GtkVBox" id="vbox4">
<property name="homogeneous">no</property>
<property name="spacing">0</property>
<property name="visible">yes</property>
<child>
<widget class="GtkCheckButton" id="soundex">
<property name="can_focus">yes</property>
<property name="label" translatable="yes">Use SoundEx codes for name matches</property>
<property name="active">yes</property>
<property name="draw_indicator">yes</property>
<property name="visible">yes</property>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">no</property>
<property name="fill">no</property>
</packing>
</child>
<child>
<widget class="GtkLabel" id="label55">
<property name="label" translatable="yes">(Recommended only for English)</property>
<property name="justify">GTK_JUSTIFY_CENTER</property>
<property name="wrap">no</property>
<property name="xalign">0.5</property>
<property name="yalign">0.5</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
<property name="visible">yes</property>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">no</property>
<property name="fill">no</property>
</packing>
</child>
</widget>
</child>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">yes</property>
<property name="fill">yes</property>
</packing>
</child>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">yes</property>
<property name="fill">yes</property>
</packing>
</child>
</widget>
<packing>
<property name="padding">4</property>
<property name="expand">yes</property>
<property name="fill">yes</property>
</packing>
</child>
</widget>
</glade-interface>

View File

@ -1,241 +1,229 @@
<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd" >
<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd">
<glade-interface>
<widget class="GtkDialog" id="relcalc">
<property name="title" translatable="yes">Relationship Calculator - GRAMPS</property>
<property name="type">GTK_WINDOW_TOPLEVEL</property>
<property name="modal">no</property>
<property name="allow_shrink">no</property>
<property name="allow_grow">yes</property>
<property name="visible">yes</property>
<property name="window-position">GTK_WIN_POS_NONE</property>
<child internal-child="vbox">
<widget class="GtkVBox" id="dialog-vbox2">
<property name="homogeneous">no</property>
<property name="spacing">8</property>
<property name="visible">yes</property>
<widget class="GtkDialog" id="relcalc">
<property name="visible">True</property>
<property name="title" translatable="yes">Relationship Calculator - GRAMPS</property>
<property name="type">GTK_WINDOW_TOPLEVEL</property>
<property name="window_position">GTK_WIN_POS_NONE</property>
<property name="modal">False</property>
<property name="default_width">450</property>
<property name="default_height">400</property>
<property name="resizable">True</property>
<property name="destroy_with_parent">False</property>
<property name="has_separator">True</property>
<child internal-child="action_area">
<widget class="GtkHButtonBox" id="dialog-action_area2">
<property name="layout_style">GTK_BUTTONBOX_END</property>
<property name="spacing">8</property>
<property name="visible">yes</property>
<child internal-child="vbox">
<widget class="GtkVBox" id="dialog-vbox2">
<property name="visible">True</property>
<property name="homogeneous">False</property>
<property name="spacing">8</property>
<child>
<widget class="GtkButton" id="button4">
<property name="can_default">yes</property>
<property name="can_focus">yes</property>
<property name="visible">yes</property>
<property name="label">gtk-apply</property>
<property name="use_stock">yes</property>
<property name="use_underline">yes</property>
<child internal-child="action_area">
<widget class="GtkHButtonBox" id="dialog-action_area2">
<property name="visible">True</property>
<property name="layout_style">GTK_BUTTONBOX_END</property>
<signal name="clicked" handler="on_apply_clicked" />
</widget>
</child>
<child>
<widget class="GtkButton" id="button4">
<property name="visible">True</property>
<property name="can_default">True</property>
<property name="can_focus">True</property>
<property name="label">gtk-apply</property>
<property name="use_stock">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="response_id">0</property>
<signal name="clicked" handler="on_apply_clicked"/>
</widget>
</child>
<child>
<widget class="GtkButton" id="button5">
<property name="can_default">yes</property>
<property name="can_focus">yes</property>
<property name="visible">yes</property>
<property name="label">gtk-close</property>
<property name="use_stock">yes</property>
<property name="use_underline">yes</property>
<child>
<widget class="GtkButton" id="button5">
<property name="visible">True</property>
<property name="can_default">True</property>
<property name="can_focus">True</property>
<property name="label">gtk-close</property>
<property name="use_stock">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="response_id">0</property>
<signal name="clicked" handler="on_close_clicked" object="relcalc"/>
</widget>
</child>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="pack_type">GTK_PACK_END</property>
</packing>
</child>
<signal name="clicked" handler="on_close_clicked" object="relcalc" />
</widget>
</child>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">no</property>
<property name="fill">yes</property>
<property name="pack_type">GTK_PACK_END</property>
</packing>
</child>
<child>
<widget class="GtkVBox" id="vbox1">
<property name="visible">True</property>
<property name="homogeneous">False</property>
<property name="spacing">0</property>
<child>
<widget class="GtkVBox" id="vbox1">
<property name="homogeneous">no</property>
<property name="spacing">0</property>
<property name="visible">yes</property>
<child>
<widget class="GtkLabel" id="name">
<property name="visible">True</property>
<property name="label" translatable="yes">name</property>
<property name="use_underline">False</property>
<property name="use_markup">False</property>
<property name="justify">GTK_JUSTIFY_CENTER</property>
<property name="wrap">False</property>
<property name="selectable">False</property>
<property name="xalign">0.5</property>
<property name="yalign">0.5</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
</widget>
<packing>
<property name="padding">5</property>
<property name="expand">False</property>
<property name="fill">False</property>
</packing>
</child>
<child>
<widget class="GtkLabel" id="name">
<property name="label" translatable="yes">name</property>
<property name="justify">GTK_JUSTIFY_CENTER</property>
<property name="wrap">no</property>
<property name="xalign">0.5</property>
<property name="yalign">0.5</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
<property name="visible">yes</property>
</widget>
<packing>
<property name="padding">5</property>
<property name="expand">no</property>
<property name="fill">no</property>
</packing>
</child>
<child>
<widget class="GtkHSeparator" id="hseparator1">
<property name="visible">True</property>
</widget>
<packing>
<property name="padding">10</property>
<property name="expand">False</property>
<property name="fill">True</property>
</packing>
</child>
<child>
<widget class="GtkHSeparator" id="hseparator1">
<property name="visible">yes</property>
</widget>
<packing>
<property name="padding">10</property>
<property name="expand">no</property>
<property name="fill">yes</property>
</packing>
</child>
<child>
<widget class="GtkScrolledWindow" id="scrolledwindow3">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
<property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
<property name="shadow_type">GTK_SHADOW_NONE</property>
<property name="window_placement">GTK_CORNER_TOP_LEFT</property>
<child>
<widget class="GtkScrolledWindow" id="scrolledwindow1">
<property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
<property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
<property name="shadow_type">GTK_SHADOW_IN</property>
<property name="visible">yes</property>
<child>
<widget class="GtkCList" id="peopleList">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="n_columns">3</property>
<property name="column_widths">236,56,80</property>
<property name="selection_mode">GTK_SELECTION_SINGLE</property>
<property name="show_titles">True</property>
<property name="shadow_type">GTK_SHADOW_IN</property>
<child>
<widget class="GtkTreeView" id="peopleList">
<property name="can_focus">yes</property>
<property name="headers-visible">yes</property>
<property name="width-request">550</property>
<property name="height-request">200</property>
<property name="visible">yes</property>
<child>
<widget class="GtkLabel" id="label9">
<property name="label" translatable="yes">Name</property>
<property name="use_underline">False</property>
<property name="use_markup">False</property>
<property name="justify">GTK_JUSTIFY_LEFT</property>
<property name="wrap">False</property>
<property name="selectable">False</property>
<property name="xalign">0.5</property>
<property name="yalign">0.5</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
</widget>
</child>
<signal name="select_row" handler="on_peopleList_select_row" />
<child>
<widget class="GtkLabel" id="label10">
<property name="label" translatable="yes">ID</property>
<property name="use_underline">False</property>
<property name="use_markup">False</property>
<property name="justify">GTK_JUSTIFY_LEFT</property>
<property name="wrap">False</property>
<property name="selectable">False</property>
<property name="xalign">0.5</property>
<property name="yalign">0.5</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
</widget>
</child>
<child>
<widget class="GtkLabel" id="label2">
<property name="child_name">CList:title</property>
<property name="label" translatable="yes">Name</property>
<property name="justify">GTK_JUSTIFY_CENTER</property>
<property name="wrap">no</property>
<property name="xalign">0.5</property>
<property name="yalign">0.5</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
<property name="visible">yes</property>
</widget>
</child>
<child>
<widget class="GtkLabel" id="label11">
<property name="label" translatable="yes">Birthday</property>
<property name="use_underline">False</property>
<property name="use_markup">False</property>
<property name="justify">GTK_JUSTIFY_LEFT</property>
<property name="wrap">False</property>
<property name="selectable">False</property>
<property name="xalign">0.5</property>
<property name="yalign">0.5</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
</widget>
</child>
</widget>
</child>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">True</property>
<property name="fill">True</property>
</packing>
</child>
<child>
<widget class="GtkLabel" id="label4x">
<property name="child_name">CList:title</property>
<property name="label" translatable="yes">ID</property>
<property name="justify">GTK_JUSTIFY_CENTER</property>
<property name="wrap">no</property>
<property name="xalign">0.5</property>
<property name="yalign">0.5</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
<property name="visible">yes</property>
</widget>
</child>
<child>
<widget class="GtkHSeparator" id="hseparator2">
<property name="visible">True</property>
</widget>
<packing>
<property name="padding">5</property>
<property name="expand">False</property>
<property name="fill">True</property>
</packing>
</child>
<child>
<widget class="GtkLabel" id="label4">
<property name="child_name">CList:title</property>
<property name="label" translatable="yes">Birthdate</property>
<property name="justify">GTK_JUSTIFY_CENTER</property>
<property name="wrap">no</property>
<property name="xalign">0.5</property>
<property name="yalign">0.5</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
<property name="visible">yes</property>
</widget>
</child>
</widget>
</child>
<child>
<widget class="GtkScrolledWindow" id="scrolledwindow2">
<property name="visible">True</property>
<property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
<property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
<property name="shadow_type">GTK_SHADOW_IN</property>
<property name="window_placement">GTK_CORNER_TOP_LEFT</property>
<child internal-child="hscrollbar">
<widget class="GtkHScrollbar" id="convertwidget1">
<property name="update_policy">GTK_UPDATE_CONTINUOUS</property>
<property name="visible">yes</property>
</widget>
</child>
<child>
<widget class="GtkTextView" id="text1">
<property name="height_request">75</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="editable">False</property>
<property name="justification">GTK_JUSTIFY_LEFT</property>
<property name="wrap_mode">GTK_WRAP_WORD</property>
<property name="cursor_visible">True</property>
<property name="pixels_above_lines">0</property>
<property name="pixels_below_lines">0</property>
<property name="pixels_inside_wrap">0</property>
<property name="left_margin">0</property>
<property name="right_margin">0</property>
<property name="indent">0</property>
<property name="text" translatable="yes"></property>
</widget>
</child>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">True</property>
<property name="fill">True</property>
</packing>
</child>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">True</property>
<property name="fill">True</property>
</packing>
</child>
</widget>
</child>
</widget>
<child internal-child="vscrollbar">
<widget class="GtkVScrollbar" id="convertwidget2">
<property name="update_policy">GTK_UPDATE_CONTINUOUS</property>
<property name="visible">yes</property>
</widget>
</child>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">yes</property>
<property name="fill">yes</property>
</packing>
</child>
<child>
<widget class="GtkHSeparator" id="hseparator2">
<property name="visible">yes</property>
</widget>
<packing>
<property name="padding">5</property>
<property name="expand">no</property>
<property name="fill">yes</property>
</packing>
</child>
<child>
<widget class="GtkScrolledWindow" id="scrolledwindow2">
<property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
<property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
<property name="shadow_type">GTK_SHADOW_IN</property>
<property name="visible">yes</property>
<child>
<widget class="GtkTextView" id="text1">
<property name="can_focus">yes</property>
<property name="editable">no</property>
<property name="text" translatable="yes"></property>
<property name="wrap_mode">GTK_WRAP_WORD</property>
<property name="height-request">100</property>
<property name="visible">yes</property>
</widget>
</child>
<child internal-child="hscrollbar">
<widget class="GtkHScrollbar" id="convertwidget3">
<property name="update_policy">GTK_UPDATE_CONTINUOUS</property>
<property name="visible">yes</property>
</widget>
</child>
<child internal-child="vscrollbar">
<widget class="GtkVScrollbar" id="convertwidget4">
<property name="update_policy">GTK_UPDATE_CONTINUOUS</property>
<property name="visible">yes</property>
</widget>
</child>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">yes</property>
<property name="fill">yes</property>
</packing>
</child>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">yes</property>
<property name="fill">yes</property>
</packing>
</child>
</widget>
<packing>
<property name="padding">4</property>
<property name="expand">yes</property>
<property name="fill">yes</property>
</packing>
</child>
</widget>
</glade-interface>