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 854bc784fe
commit c46962df92
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) set_bool("/apps/gramps/view",val)
def get_view(): def get_view():
return get_bool("/apps/gramps/view",1) return get_bool("/apps/gramps/view")
def save_filter(val): def save_filter(val):
set_bool("/apps/gramps/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 # 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 RelLib
import Utils import Utils
import GrampsCfg import GrampsCfg
import ListModel
import const import const
from intl import gettext as _
from intl import gettext
_ = gettext
import string
import gtk.glade
#------------------------------------------------------------------------- #-------------------------------------------------------------------------
# #
@ -129,8 +144,12 @@ class MergePeople:
self.set_field(self.glade.get_widget("mother1"),mother1) self.set_field(self.glade.get_widget("mother1"),mother1)
self.set_field(self.glade.get_widget("mother2"),mother2) self.set_field(self.glade.get_widget("mother2"),mother2)
self.build_spouse_list(person1,self.glade.get_widget('spouse1')) sp1_list = [('-',0,100)]
self.build_spouse_list(person2,self.glade.get_widget('spouse2')) 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: if name1 != name2:
self.altname.set_sensitive(1) self.altname.set_sensitive(1)
@ -154,28 +173,25 @@ class MergePeople:
self.altdeath.set_active(0) self.altdeath.set_active(0)
def build_spouse_list(self,person,widget): 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()
if spouse == None: widget.clear()
name = "unknown" for fam in person.getFamilyList():
else: if person.getGender() == RelLib.Person.male:
sname = GrampsCfg.nameof(spouse) spouse = fam.getMother()
name = "%s (%s)" % (sname,spouse.getId()) else:
widget.append([name]) spouse = fam.getFather()
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): def set_field(self,widget,value):
"""Sets the string of the entry field at positions it a space 0""" """Sets the string of the entry field at positions it a space 0"""
widget.set_text(value) widget.set_text(value)
widget.set_position(0)
def place_name(self,event): def place_name(self,event):
place = event.getPlace() place = event.getPlace()

View File

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

View File

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

View File

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

View File

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

View File

@ -1,241 +1,229 @@
<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*--> <?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> <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="GtkDialog" id="relcalc">
<widget class="GtkVBox" id="dialog-vbox2"> <property name="visible">True</property>
<property name="homogeneous">no</property> <property name="title" translatable="yes">Relationship Calculator - GRAMPS</property>
<property name="spacing">8</property> <property name="type">GTK_WINDOW_TOPLEVEL</property>
<property name="visible">yes</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"> <child internal-child="vbox">
<widget class="GtkHButtonBox" id="dialog-action_area2"> <widget class="GtkVBox" id="dialog-vbox2">
<property name="layout_style">GTK_BUTTONBOX_END</property> <property name="visible">True</property>
<property name="spacing">8</property> <property name="homogeneous">False</property>
<property name="visible">yes</property> <property name="spacing">8</property>
<child> <child internal-child="action_area">
<widget class="GtkButton" id="button4"> <widget class="GtkHButtonBox" id="dialog-action_area2">
<property name="can_default">yes</property> <property name="visible">True</property>
<property name="can_focus">yes</property> <property name="layout_style">GTK_BUTTONBOX_END</property>
<property name="visible">yes</property>
<property name="label">gtk-apply</property>
<property name="use_stock">yes</property>
<property name="use_underline">yes</property>
<signal name="clicked" handler="on_apply_clicked" /> <child>
</widget> <widget class="GtkButton" id="button4">
</child> <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> <child>
<widget class="GtkButton" id="button5"> <widget class="GtkButton" id="button5">
<property name="can_default">yes</property> <property name="visible">True</property>
<property name="can_focus">yes</property> <property name="can_default">True</property>
<property name="visible">yes</property> <property name="can_focus">True</property>
<property name="label">gtk-close</property> <property name="label">gtk-close</property>
<property name="use_stock">yes</property> <property name="use_stock">True</property>
<property name="use_underline">yes</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" /> <child>
</widget> <widget class="GtkVBox" id="vbox1">
</child> <property name="visible">True</property>
</widget> <property name="homogeneous">False</property>
<packing> <property name="spacing">0</property>
<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> <child>
<widget class="GtkVBox" id="vbox1"> <widget class="GtkLabel" id="name">
<property name="homogeneous">no</property> <property name="visible">True</property>
<property name="spacing">0</property> <property name="label" translatable="yes">name</property>
<property name="visible">yes</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> <child>
<widget class="GtkLabel" id="name"> <widget class="GtkHSeparator" id="hseparator1">
<property name="label" translatable="yes">name</property> <property name="visible">True</property>
<property name="justify">GTK_JUSTIFY_CENTER</property> </widget>
<property name="wrap">no</property> <packing>
<property name="xalign">0.5</property> <property name="padding">10</property>
<property name="yalign">0.5</property> <property name="expand">False</property>
<property name="xpad">0</property> <property name="fill">True</property>
<property name="ypad">0</property> </packing>
<property name="visible">yes</property> </child>
</widget>
<packing>
<property name="padding">5</property>
<property name="expand">no</property>
<property name="fill">no</property>
</packing>
</child>
<child> <child>
<widget class="GtkHSeparator" id="hseparator1"> <widget class="GtkScrolledWindow" id="scrolledwindow3">
<property name="visible">yes</property> <property name="visible">True</property>
</widget> <property name="can_focus">True</property>
<packing> <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
<property name="padding">10</property> <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
<property name="expand">no</property> <property name="shadow_type">GTK_SHADOW_NONE</property>
<property name="fill">yes</property> <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
</packing>
</child>
<child> <child>
<widget class="GtkScrolledWindow" id="scrolledwindow1"> <widget class="GtkCList" id="peopleList">
<property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property> <property name="visible">True</property>
<property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property> <property name="can_focus">True</property>
<property name="shadow_type">GTK_SHADOW_IN</property> <property name="n_columns">3</property>
<property name="visible">yes</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> <child>
<widget class="GtkTreeView" id="peopleList"> <widget class="GtkLabel" id="label9">
<property name="can_focus">yes</property> <property name="label" translatable="yes">Name</property>
<property name="headers-visible">yes</property> <property name="use_underline">False</property>
<property name="width-request">550</property> <property name="use_markup">False</property>
<property name="height-request">200</property> <property name="justify">GTK_JUSTIFY_LEFT</property>
<property name="visible">yes</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> <child>
<widget class="GtkLabel" id="label2"> <widget class="GtkLabel" id="label11">
<property name="child_name">CList:title</property> <property name="label" translatable="yes">Birthday</property>
<property name="label" translatable="yes">Name</property> <property name="use_underline">False</property>
<property name="justify">GTK_JUSTIFY_CENTER</property> <property name="use_markup">False</property>
<property name="wrap">no</property> <property name="justify">GTK_JUSTIFY_LEFT</property>
<property name="xalign">0.5</property> <property name="wrap">False</property>
<property name="yalign">0.5</property> <property name="selectable">False</property>
<property name="xpad">0</property> <property name="xalign">0.5</property>
<property name="ypad">0</property> <property name="yalign">0.5</property>
<property name="visible">yes</property> <property name="xpad">0</property>
</widget> <property name="ypad">0</property>
</child> </widget>
</child>
</widget>
</child>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">True</property>
<property name="fill">True</property>
</packing>
</child>
<child> <child>
<widget class="GtkLabel" id="label4x"> <widget class="GtkHSeparator" id="hseparator2">
<property name="child_name">CList:title</property> <property name="visible">True</property>
<property name="label" translatable="yes">ID</property> </widget>
<property name="justify">GTK_JUSTIFY_CENTER</property> <packing>
<property name="wrap">no</property> <property name="padding">5</property>
<property name="xalign">0.5</property> <property name="expand">False</property>
<property name="yalign">0.5</property> <property name="fill">True</property>
<property name="xpad">0</property> </packing>
<property name="ypad">0</property> </child>
<property name="visible">yes</property>
</widget>
</child>
<child> <child>
<widget class="GtkLabel" id="label4"> <widget class="GtkScrolledWindow" id="scrolledwindow2">
<property name="child_name">CList:title</property> <property name="visible">True</property>
<property name="label" translatable="yes">Birthdate</property> <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
<property name="justify">GTK_JUSTIFY_CENTER</property> <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
<property name="wrap">no</property> <property name="shadow_type">GTK_SHADOW_IN</property>
<property name="xalign">0.5</property> <property name="window_placement">GTK_CORNER_TOP_LEFT</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="hscrollbar"> <child>
<widget class="GtkHScrollbar" id="convertwidget1"> <widget class="GtkTextView" id="text1">
<property name="update_policy">GTK_UPDATE_CONTINUOUS</property> <property name="height_request">75</property>
<property name="visible">yes</property> <property name="visible">True</property>
</widget> <property name="can_focus">True</property>
</child> <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> </glade-interface>