diff --git a/example/gramps/data.gramps b/example/gramps/data.gramps
index 68bcdbdae..c8bbfffde 100644
Binary files a/example/gramps/data.gramps and b/example/gramps/data.gramps differ
diff --git a/src/GrampsCfg.py b/src/GrampsCfg.py
index 2b54704fe..8fdc7b51b 100644
--- a/src/GrampsCfg.py
+++ b/src/GrampsCfg.py
@@ -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)
diff --git a/src/MergeData.py b/src/MergeData.py
index 8fa2b43db..62389d8b1 100644
--- a/src/MergeData.py
+++ b/src/MergeData.py
@@ -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()
- if spouse == None:
- name = "unknown"
- else:
- sname = GrampsCfg.nameof(spouse)
- name = "%s (%s)" % (sname,spouse.getId())
- widget.append([name])
+ widget.clear()
+ 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())
+ 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()
diff --git a/src/gramps_main.py b/src/gramps_main.py
index ffd0e5381..c562bff67 100755
--- a/src/gramps_main.py
+++ b/src/gramps_main.py
@@ -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"))
diff --git a/src/plugins/Merge.py b/src/plugins/Merge.py
index 462809bfa..1690bc9d3 100644
--- a/src/plugins/Merge.py
+++ b/src/plugins/Merge.py
@@ -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)
diff --git a/src/plugins/RelCalc.py b/src/plugins/RelCalc.py
index 891295ffc..be81fb39c 100644
--- a/src/plugins/RelCalc.py
+++ b/src/plugins/RelCalc.py
@@ -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)
#-------------------------------------------------------------------------
#
diff --git a/src/plugins/merge.glade b/src/plugins/merge.glade
index e9a30ef23..78ba052dd 100644
--- a/src/plugins/merge.glade
+++ b/src/plugins/merge.glade
@@ -1,481 +1,478 @@
-
+
-
- Merge People - GRAMPS
- GTK_WINDOW_DIALOG
- yes
- no
- yes
- GTK_WIN_POS_NONE
- yes
-
-
- no
- 0
- yes
+
+ True
+ Merge People - GRAMPS
+ GTK_WINDOW_TOPLEVEL
+ GTK_WIN_POS_NONE
+ True
+ True
+ False
-
-
- Determining Possible Merges
- GTK_JUSTIFY_CENTER
- no
- 0.5
- 0.5
- 0
- 0
- yes
-
-
- 10
- no
- no
-
-
+
+
+ True
+ False
+ 0
-
-
- yes
-
-
- 0
- no
- yes
-
-
+
+
+ True
+ Determining Possible Merges
+ False
+ False
+ GTK_JUSTIFY_CENTER
+ False
+ False
+ 0.5
+ 0.5
+ 0
+ 0
+
+
+ 10
+ False
+ False
+
+
-
-
- Please be patient. This may take a while.
- GTK_JUSTIFY_CENTER
- yes
- 0.5
- 0.5
- 10
- 0
- yes
-
-
- 20
- no
- no
-
-
+
+
+ True
+
+
+ 0
+ False
+ True
+
+
-
-
- no
- 0
- yes
+
+
+ True
+ Please be patient. This may take a while.
+ False
+ False
+ GTK_JUSTIFY_CENTER
+ True
+ False
+ 0.5
+ 0.5
+ 10
+ 0
+
+
+ 20
+ False
+ False
+
+
-
-
-
+
+
+ True
+ False
+ 0
-
-
- GTK_PROGRESS_CONTINUOUS
- GTK_PROGRESS_LEFT_TO_RIGHT
- no
- no
- %P %%
- 0.5
- 0.5
- yes
- 0 0 100 1 10 10
-
-
- 20
- yes
- yes
-
-
+
+
+
-
-
-
-
-
- 20
- no
- no
-
-
-
-
-
-
- Merge List - GRAMPS
- GTK_WINDOW_TOPLEVEL
- no
- no
- yes
- yes
- GTK_WIN_POS_NONE
+
+
+ True
+ GTK_PROGRESS_LEFT_TO_RIGHT
+ 0
+ 0.1
+ False
+ False
+ 0.5
+ 0.5
+
+
+ 20
+ True
+ True
+
+
-
-
- no
- 8
- yes
+
+
+
+
+
+ 20
+ False
+ False
+
+
+
+
+
-
-
- GTK_BUTTONBOX_END
- 8
- yes
+
+ True
+ Merge List - GRAMPS
+ GTK_WINDOW_TOPLEVEL
+ GTK_WIN_POS_NONE
+ False
+ True
+ False
+ True
-
-
- yes
- yes
- Merge
- yes
+
+
+ True
+ False
+ 8
-
-
-
+
+
+ True
+ GTK_BUTTONBOX_END
-
-
- yes
- yes
- yes
- gtk-close
- yes
- yes
+
+
+ True
+ True
+ True
+ Merge
+ True
+ GTK_RELIEF_NORMAL
+ 0
+
+
+
-
-
-
-
-
- 0
- no
- yes
- GTK_PACK_END
-
-
+
+
+ True
+ True
+ True
+ gtk-close
+ True
+ GTK_RELIEF_NORMAL
+ 0
+
+
+
+
+
+ 0
+ False
+ True
+ GTK_PACK_END
+
+
-
-
- no
- 0
- yes
+
+
+ True
+ False
+ 0
-
-
- Potential Merges
- GTK_JUSTIFY_CENTER
- no
- 0.5
- 0.5
- 0
- 0
- yes
-
-
- 0
- no
- no
-
-
+
+
+ True
+ Potential Merges
+ False
+ False
+ GTK_JUSTIFY_CENTER
+ False
+ False
+ 0.5
+ 0.5
+ 0
+ 0
+
+
+ 0
+ False
+ False
+
+
-
-
- yes
-
-
- 10
- no
- yes
-
-
+
+
+ True
+
+
+ 10
+ False
+ True
+
+
-
-
- GTK_POLICY_AUTOMATIC
- GTK_POLICY_AUTOMATIC
- GTK_SHADOW_IN
- yes
+
+
+ True
+ GTK_POLICY_AUTOMATIC
+ GTK_POLICY_AUTOMATIC
+ GTK_SHADOW_IN
+ GTK_CORNER_TOP_LEFT
-
-
- yes
- yes
- 600
- 300
- yes
+
+
+ True
+ True
+ True
+ True
+ False
+ True
+
+
+
+
+ 0
+ True
+ True
+
+
+
+
+ 0
+ True
+ True
+
+
+
+
+
-
-
- CList:title
- Rating
- GTK_JUSTIFY_CENTER
- no
- 0.5
- 0.5
- 0
- 0
- yes
-
-
+
+ True
+ Merge People - GRAMPS
+ GTK_WINDOW_TOPLEVEL
+ GTK_WIN_POS_NONE
+ False
+ True
+ False
+ True
-
-
- CList:title
- Person 1
- GTK_JUSTIFY_CENTER
- no
- 0.5
- 0.5
- 0
- 0
- yes
-
-
+
+
+ True
+ False
+ 8
-
-
- CList:title
- Person 2
- GTK_JUSTIFY_CENTER
- no
- 0.5
- 0.5
- 0
- 0
- yes
-
-
-
-
+
+
+ True
+ GTK_BUTTONBOX_END
-
-
- GTK_UPDATE_CONTINUOUS
- yes
-
-
+
+
+ True
+ True
+ True
+ gtk-ok
+ True
+ GTK_RELIEF_NORMAL
+ 0
+
+
+
-
-
- GTK_UPDATE_CONTINUOUS
- yes
-
-
-
-
- 0
- yes
- yes
-
-
-
-
- 0
- yes
- yes
-
-
-
-
- 4
- yes
- yes
-
-
-
-
- Merge People - GRAMPS
- GTK_WINDOW_TOPLEVEL
- no
- no
- no
- yes
- GTK_WIN_POS_NONE
+
+
+ True
+ True
+ True
+ gtk-cancel
+ True
+ GTK_RELIEF_NORMAL
+ 0
+
+
+
+
+
+ 0
+ False
+ True
+ GTK_PACK_END
+
+
-
-
- no
- 8
- yes
+
+
+ True
+ False
+ 0
-
-
- GTK_BUTTONBOX_END
- 8
- yes
+
+
+ True
+ Merge People
+ False
+ False
+ GTK_JUSTIFY_CENTER
+ False
+ False
+ 0.5
+ 0.5
+ 0
+ 0
+
+
+ 0
+ False
+ False
+
+
-
-
- yes
- yes
- yes
- gtk-ok
- yes
- yes
+
+
+ True
+
+
+ 5
+ True
+ True
+
+
-
-
-
+
+
+ 8
+ True
+ 0
+ 0.5
+ GTK_SHADOW_ETCHED_IN
-
-
- yes
- yes
- yes
- gtk-cancel
- yes
- yes
+
+
-
-
-
- 0
- no
- yes
- GTK_PACK_END
-
-
+
+
+
+
+
-
-
- no
- 0
- yes
+
+
+ True
+ Match Threshold
+ False
+ False
+ GTK_JUSTIFY_LEFT
+ False
+ False
+ 0.5
+ 0.5
+ 0
+ 0
+
+
+ label_item
+
+
+
+
+ 0
+ True
+ True
+
+
-
-
- Merge People
- GTK_JUSTIFY_CENTER
- no
- 0.5
- 0.5
- 0
- 0
- yes
-
-
- 0
- no
- no
-
-
+
+
+ 8
+ True
+ 0
+ 0.5
+ GTK_SHADOW_ETCHED_IN
-
-
- yes
-
-
- 5
- yes
- yes
-
-
+
+
+ True
+ False
+ 0
-
-
- 8
- Match Threshold
- 0
- GTK_SHADOW_ETCHED_IN
- yes
+
+
+ True
+ True
+ Use SoundEx codes for name matches
+ True
+ GTK_RELIEF_NORMAL
+ True
+ False
+ True
+
+
+ 0
+ False
+ False
+
+
-
-
+
-
-
-
-
-
-
-
- 0
- yes
- yes
-
-
+
+
+ True
+ Options
+ False
+ False
+ GTK_JUSTIFY_LEFT
+ False
+ False
+ 0.5
+ 0.5
+ 0
+ 0
+
+
+ label_item
+
+
+
+
+ 0
+ True
+ True
+
+
+
+
+ 0
+ True
+ True
+
+
+
+
+
-
-
- 8
- Options
- 0
- GTK_SHADOW_ETCHED_IN
- yes
-
-
-
- no
- 0
- yes
-
-
-
- yes
- Use SoundEx codes for name matches
- yes
- yes
- yes
-
-
- 0
- no
- no
-
-
-
-
-
- (Recommended only for English)
- GTK_JUSTIFY_CENTER
- no
- 0.5
- 0.5
- 0
- 0
- yes
-
-
- 0
- no
- no
-
-
-
-
-
-
- 0
- yes
- yes
-
-
-
-
- 0
- yes
- yes
-
-
-
-
- 4
- yes
- yes
-
-
-
diff --git a/src/plugins/relcalc.glade b/src/plugins/relcalc.glade
index 080e5bb65..d29f64ebe 100644
--- a/src/plugins/relcalc.glade
+++ b/src/plugins/relcalc.glade
@@ -1,241 +1,229 @@
-
+
-
- Relationship Calculator - GRAMPS
- GTK_WINDOW_TOPLEVEL
- no
- no
- yes
- yes
- GTK_WIN_POS_NONE
-
-
- no
- 8
- yes
+
+ True
+ Relationship Calculator - GRAMPS
+ GTK_WINDOW_TOPLEVEL
+ GTK_WIN_POS_NONE
+ False
+ 450
+ 400
+ True
+ False
+ True
-
-
- GTK_BUTTONBOX_END
- 8
- yes
+
+
+ True
+ False
+ 8
-
-
- yes
- yes
- yes
- gtk-apply
- yes
- yes
+
+
+ True
+ GTK_BUTTONBOX_END
-
-
-
+
+
+ True
+ True
+ True
+ gtk-apply
+ True
+ GTK_RELIEF_NORMAL
+ 0
+
+
+
-
-
- yes
- yes
- yes
- gtk-close
- yes
- yes
+
+
+ True
+ True
+ True
+ gtk-close
+ True
+ GTK_RELIEF_NORMAL
+ 0
+
+
+
+
+
+ 0
+ False
+ True
+ GTK_PACK_END
+
+
-
-
-
-
-
- 0
- no
- yes
- GTK_PACK_END
-
-
+
+
+ True
+ False
+ 0
-
-
- no
- 0
- yes
+
+
+ True
+ name
+ False
+ False
+ GTK_JUSTIFY_CENTER
+ False
+ False
+ 0.5
+ 0.5
+ 0
+ 0
+
+
+ 5
+ False
+ False
+
+
-
-
- name
- GTK_JUSTIFY_CENTER
- no
- 0.5
- 0.5
- 0
- 0
- yes
-
-
- 5
- no
- no
-
-
+
+
+ True
+
+
+ 10
+ False
+ True
+
+
-
-
- yes
-
-
- 10
- no
- yes
-
-
+
+
+ True
+ True
+ GTK_POLICY_AUTOMATIC
+ GTK_POLICY_AUTOMATIC
+ GTK_SHADOW_NONE
+ GTK_CORNER_TOP_LEFT
-
-
- GTK_POLICY_AUTOMATIC
- GTK_POLICY_AUTOMATIC
- GTK_SHADOW_IN
- yes
+
+
+ True
+ True
+ 3
+ 236,56,80
+ GTK_SELECTION_SINGLE
+ True
+ GTK_SHADOW_IN
-
-
- yes
- yes
- 550
- 200
- yes
+
+
+ Name
+ False
+ False
+ GTK_JUSTIFY_LEFT
+ False
+ False
+ 0.5
+ 0.5
+ 0
+ 0
+
+
-
+
+
+ ID
+ False
+ False
+ GTK_JUSTIFY_LEFT
+ False
+ False
+ 0.5
+ 0.5
+ 0
+ 0
+
+
-
-
- CList:title
- Name
- GTK_JUSTIFY_CENTER
- no
- 0.5
- 0.5
- 0
- 0
- yes
-
-
+
+
+ Birthday
+ False
+ False
+ GTK_JUSTIFY_LEFT
+ False
+ False
+ 0.5
+ 0.5
+ 0
+ 0
+
+
+
+
+
+
+ 0
+ True
+ True
+
+
-
-
- CList:title
- ID
- GTK_JUSTIFY_CENTER
- no
- 0.5
- 0.5
- 0
- 0
- yes
-
-
+
+
+ True
+
+
+ 5
+ False
+ True
+
+
-
-
- CList:title
- Birthdate
- GTK_JUSTIFY_CENTER
- no
- 0.5
- 0.5
- 0
- 0
- yes
-
-
-
-
+
+
+ True
+ GTK_POLICY_AUTOMATIC
+ GTK_POLICY_AUTOMATIC
+ GTK_SHADOW_IN
+ GTK_CORNER_TOP_LEFT
-
-
- GTK_UPDATE_CONTINUOUS
- yes
-
-
+
+
+ 75
+ True
+ True
+ False
+ GTK_JUSTIFY_LEFT
+ GTK_WRAP_WORD
+ True
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
+
+
+
+ 0
+ True
+ True
+
+
+
+
+ 0
+ True
+ True
+
+
+
+
+
-
-
- GTK_UPDATE_CONTINUOUS
- yes
-
-
-
-
- 0
- yes
- yes
-
-
-
-
-
- yes
-
-
- 5
- no
- yes
-
-
-
-
-
- GTK_POLICY_AUTOMATIC
- GTK_POLICY_AUTOMATIC
- GTK_SHADOW_IN
- yes
-
-
-
- yes
- no
-
- GTK_WRAP_WORD
- 100
- yes
-
-
-
-
-
- GTK_UPDATE_CONTINUOUS
- yes
-
-
-
-
-
- GTK_UPDATE_CONTINUOUS
- yes
-
-
-
-
- 0
- yes
- yes
-
-
-
-
- 0
- yes
- yes
-
-
-
-
- 4
- yes
- yes
-
-
-