Faster loading of pages, Improvements to filters
svn: r1340
This commit is contained in:
parent
6ec5b41dd1
commit
177c14d082
@ -50,6 +50,7 @@ import gtk
|
||||
import const
|
||||
import RelLib
|
||||
import Date
|
||||
import Calendar
|
||||
from intl import gettext as _
|
||||
from Utils import for_each_ancestor
|
||||
|
||||
@ -61,9 +62,9 @@ from Utils import for_each_ancestor
|
||||
def date_cmp(rule,value):
|
||||
sd = rule.get_start_date()
|
||||
s = sd.mode
|
||||
if s == Date.SingleDate.before:
|
||||
if s == Calendar.BEFORE:
|
||||
return Date.compare_dates(rule,value) == 1
|
||||
elif s == Date.SingleDate.after:
|
||||
elif s == Calendar.AFTER:
|
||||
return Date.compare_dates(rule,value) == -1
|
||||
elif sd.month == Date.UNDEF and sd.year != Date.UNDEF:
|
||||
return sd.year == value.get_start_date().year
|
||||
@ -325,13 +326,16 @@ class HasEvent(Rule):
|
||||
val = 1
|
||||
if self.list[0] and event.getName() != self.list[0]:
|
||||
val = 0
|
||||
if self.list[3] and find(event.getDescription(),self.list[3])==-1:
|
||||
if self.list[3] and find(event.getDescription().upper(),
|
||||
self.list[3].upper())==-1:
|
||||
val = 0
|
||||
if self.date:
|
||||
if date_cmp(self.date,event.getDateObj()):
|
||||
val = 0
|
||||
if self.list[2] and find(p.getPlaceName(),self.list[2]) == -1:
|
||||
val = 0
|
||||
if self.list[2]:
|
||||
pn = event.getPlaceName()
|
||||
if find(pn.upper(),self.list[2].upper()) == -1:
|
||||
val = 0
|
||||
if val == 1:
|
||||
return 1
|
||||
return 0
|
||||
@ -365,12 +369,13 @@ class HasFamilyEvent(Rule):
|
||||
if self.list[0] and event.getName() != self.list[0]:
|
||||
val = 0
|
||||
v = self.list[3]
|
||||
if v and find(event.getDescription(),v)==-1:
|
||||
if v and find(event.getDescription().upper(),v.upper())==-1:
|
||||
val = 0
|
||||
if self.date:
|
||||
if date_cmp(self.date,event.getDateObj()):
|
||||
val = 0
|
||||
if self.list[2] and find(p.getPlaceName(),self.list[2]) == -1:
|
||||
pn = event.getPlaceName().upper()
|
||||
if self.list[2] and find(pn,self.list[2].upper()) == -1:
|
||||
val = 0
|
||||
if val == 1:
|
||||
return 1
|
||||
@ -449,12 +454,14 @@ class HasBirth(Rule):
|
||||
|
||||
def apply(self,db,p):
|
||||
event = p.getBirth()
|
||||
if len(self.list) > 2 and find(event.getDescription(),self.list[2])==-1:
|
||||
ed = event.getDescription().upper()
|
||||
if len(self.list) > 2 and find(ed,self.list[2].upper())==-1:
|
||||
return 0
|
||||
if self.date:
|
||||
if date_cmp(self.date,event.getDateObj()) == 0:
|
||||
return 0
|
||||
if len(self.list) > 1 and find(event.getPlaceName(),self.list[1]) == -1:
|
||||
pn = event.getPlaceName().upper()
|
||||
if len(self.list) > 1 and find(pn,self.list[1].upper()) == -1:
|
||||
return 0
|
||||
return 1
|
||||
|
||||
@ -481,12 +488,14 @@ class HasDeath(Rule):
|
||||
|
||||
def apply(self,db,p):
|
||||
event = p.getDeath()
|
||||
if self.list[2] and find(event.getDescription(),self.list[2])==-1:
|
||||
ed = event.getDescription().upper()
|
||||
if self.list[2] and find(ed,self.list[2].upper())==-1:
|
||||
return 0
|
||||
if self.date:
|
||||
if date_cmp(self.date,event.getDateObj()) == 0:
|
||||
return 0
|
||||
if self.list[1] and find(p.getPlaceName(),self.list[1]) == -1:
|
||||
pn = p.getPlaceName().upper()
|
||||
if self.list[1] and find(pn,self.list[1].upper()) == -1:
|
||||
return 0
|
||||
return 1
|
||||
|
||||
@ -507,7 +516,8 @@ class HasAttribute(Rule):
|
||||
for event in p.getAttributes():
|
||||
if self.list[0] and event.getType() != self.list[0]:
|
||||
return 0
|
||||
if self.list[1] and find(event.getValue(),self.list[1])==-1:
|
||||
ev = event.getValue().upper()
|
||||
if self.list[1] and find(ev,self.list[1].upper())==-1:
|
||||
return 0
|
||||
return 1
|
||||
|
||||
@ -530,7 +540,8 @@ class HasFamilyAttribute(Rule):
|
||||
val = 1
|
||||
if self.list[0] and event.getType() != self.list[0]:
|
||||
val = 0
|
||||
if self.list[1] and find(event.getValue(),self.list[1])==-1:
|
||||
ev = event.getValue().upper()
|
||||
if self.list[1] and find(ev,self.list[1].upper())==-1:
|
||||
val = 0
|
||||
if val == 1:
|
||||
return 1
|
||||
@ -556,13 +567,13 @@ class HasNameOf(Rule):
|
||||
self.t = self.list[3]
|
||||
for name in [p.getPrimaryName()] + p.getAlternateNames():
|
||||
val = 1
|
||||
if self.f and find(name.getFirstName(),self.f) == -1:
|
||||
if self.f and find(name.getFirstName().upper(),self.f.upper()) == -1:
|
||||
val = 0
|
||||
if self.l and find(name.getSurname(),self.l) == -1:
|
||||
if self.l and find(name.getSurname().upper(),self.l.upper()) == -1:
|
||||
val = 0
|
||||
if self.s and find(name.getSuffix(),self.s) == -1:
|
||||
if self.s and find(name.getSuffix().upper(),self.s.upper()) == -1:
|
||||
val = 0
|
||||
if self.t and find(name.getTitle(),self.t) == -1:
|
||||
if self.t and find(name.getTitle().upper(),self.t.upper()) == -1:
|
||||
val = 0
|
||||
if val == 1:
|
||||
return 1
|
||||
@ -638,6 +649,9 @@ class GenericFilter:
|
||||
def add_rule(self,rule):
|
||||
self.flist.append(rule)
|
||||
|
||||
def delete_rule(self,rule):
|
||||
self.flist.remove(rule)
|
||||
|
||||
def set_rules(self,rules):
|
||||
self.flist = rules
|
||||
|
||||
@ -756,8 +770,9 @@ class GenericFilterList:
|
||||
parser = make_parser()
|
||||
parser.setContentHandler(FilterParser(self))
|
||||
if self.file[0:7] != "file://":
|
||||
self.file = "file://" + self.file
|
||||
parser.parse(self.file)
|
||||
parser.parse("file://" + self.file)
|
||||
else:
|
||||
parser.parse(self.file)
|
||||
except (IOError,OSError,SAXParseException):
|
||||
pass
|
||||
|
||||
@ -769,10 +784,12 @@ class GenericFilterList:
|
||||
return replace(l,'"','"')
|
||||
|
||||
def save(self):
|
||||
try:
|
||||
f = open(self.file,'w')
|
||||
except:
|
||||
return
|
||||
# try:
|
||||
# f = open(self.file,'w')
|
||||
# except:
|
||||
# return
|
||||
|
||||
f = open(self.file,'w')
|
||||
|
||||
f.write("<?xml version=\"1.0\" encoding=\"utf-8\"?>\n")
|
||||
f.write('<filters>\n')
|
||||
@ -878,45 +895,18 @@ if not CustomFilters:
|
||||
def build_filter_menu(local_filters = []):
|
||||
menu = gtk.Menu()
|
||||
|
||||
menuitem = gtk.MenuItem(_("Local Filters"))
|
||||
menu.append(menuitem)
|
||||
menuitem.show()
|
||||
menuitem.set_sensitive(0)
|
||||
|
||||
menuitem = gtk.MenuItem()
|
||||
menuitem.show()
|
||||
menu.append(menuitem)
|
||||
|
||||
for filter in local_filters:
|
||||
menuitem = gtk.MenuItem(filter.get_name())
|
||||
menuitem.show()
|
||||
menu.append(menuitem)
|
||||
menuitem.set_data("filter", filter)
|
||||
|
||||
menuitem = gtk.MenuItem(_("System Filters"))
|
||||
menuitem.show()
|
||||
menu.append(menuitem)
|
||||
menuitem.set_sensitive(0)
|
||||
|
||||
menuitem = gtk.MenuItem()
|
||||
menuitem.show()
|
||||
menu.append(menuitem)
|
||||
|
||||
for filter in SystemFilters.get_filters():
|
||||
menuitem = gtk.MenuItem(_(filter.get_name()))
|
||||
menuitem.show()
|
||||
menu.append(menuitem)
|
||||
menuitem.set_data("filter", filter)
|
||||
|
||||
menuitem = gtk.MenuItem(_("Custom Filters"))
|
||||
menu.append(menuitem)
|
||||
menuitem.show()
|
||||
menuitem.set_sensitive(0)
|
||||
|
||||
menuitem = gtk.MenuItem()
|
||||
menuitem.show()
|
||||
menu.append(menuitem)
|
||||
|
||||
for filter in CustomFilters.get_filters():
|
||||
menuitem = gtk.MenuItem(_(filter.get_name()))
|
||||
menuitem.show()
|
||||
|
@ -84,13 +84,13 @@ except:
|
||||
# Constants
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
_HOMEPAGE = "http://gramps.sourceforge.net"
|
||||
_MAILLIST = "http://sourceforge.net/mail/?group_id=25770"
|
||||
_HOMEPAGE = "http://gramps.sourceforge.net"
|
||||
_MAILLIST = "http://sourceforge.net/mail/?group_id=25770"
|
||||
_BUGREPORT = "http://sourceforge.net/tracker/?group_id=25770&atid=385137"
|
||||
|
||||
pl_titles = [ (_('Name'),5,250), (_('ID'),1,50),(_('Gender'),2,70),
|
||||
(_('Birth date'),6,150),(_('Death date'),7,150), ('',5,0),
|
||||
('',6,0), ('',7,0) ]
|
||||
pl_titles = [ (_('Name'),5,250), (_('ID'),1,50),(_('Gender'),2,70),
|
||||
(_('Birth date'),6,150),(_('Death date'),7,150), ('',5,0),
|
||||
('',6,0), ('',7,0) ]
|
||||
|
||||
_sel_mode = gtk.SELECTION_MULTIPLE
|
||||
|
||||
@ -103,6 +103,8 @@ class Gramps:
|
||||
|
||||
def __init__(self,arg):
|
||||
|
||||
import sys
|
||||
|
||||
self.program = gnome.program_init("gramps",const.version)
|
||||
|
||||
self.DataFilter = Filter.Filter("")
|
||||
@ -199,6 +201,7 @@ class Gramps:
|
||||
|
||||
self.alpha_page = {}
|
||||
self.model2page = {}
|
||||
self.model_used = {}
|
||||
self.tab_list = []
|
||||
|
||||
self.filter_list = self.gtop.get_widget("filter_list")
|
||||
@ -315,14 +318,13 @@ class Gramps:
|
||||
self.enable_sidebar(self.use_sidebar)
|
||||
self.enable_filter(self.use_filter)
|
||||
|
||||
# WarningDialog("This is a non-stable, prerelease version of GRAMPS.\n"
|
||||
# "Significant bugs may exist in this version, so please "
|
||||
# "use at your own risk.")
|
||||
|
||||
def change_alpha_page(self,obj,junk,page):
|
||||
self.person_tree = self.pl_page[page]
|
||||
self.person_list = self.pl_page[page].tree
|
||||
self.person_model = self.pl_page[page].model
|
||||
if not self.model_used.has_key(self.person_tree) or self.model_used[self.person_tree] == 0:
|
||||
self.model_used[self.person_tree] = 1
|
||||
self.apply_filter(self.person_tree)
|
||||
|
||||
def edit_button_clicked(self,obj):
|
||||
cpage = self.notebook.get_current_page()
|
||||
@ -564,7 +566,7 @@ class Gramps:
|
||||
"""Prompt for permission to close the current database"""
|
||||
|
||||
QuestionDialog(_('Create a New Database'),
|
||||
_('Creating a new database will close the existing database, ',
|
||||
_('Creating a new database will close the existing database, '
|
||||
'discarding any unsaved changes. You will then be prompted '
|
||||
'to create a new database'),
|
||||
_('Create New Database'),
|
||||
@ -589,6 +591,7 @@ class Gramps:
|
||||
self.tab_list = []
|
||||
self.alpha_page = {}
|
||||
self.model2page = {}
|
||||
self.model_used = {}
|
||||
|
||||
self.person_tree = self.pl_page[-1]
|
||||
self.person_list = self.pl_page[-1].tree
|
||||
@ -717,6 +720,7 @@ class Gramps:
|
||||
_('Load saved database'),
|
||||
self.loadsaved_file)
|
||||
else:
|
||||
self.active_person = None
|
||||
self.read_file(filename)
|
||||
|
||||
def autosave_query(self):
|
||||
@ -939,12 +943,19 @@ class Gramps:
|
||||
|
||||
def goto_active_person(self):
|
||||
if not self.active_person:
|
||||
self.person_tree = self.pl_page[0]
|
||||
self.person_list = self.pl_page[0].tree
|
||||
self.person_model = self.pl_page[0].model
|
||||
self.ptabs.set_current_page(0)
|
||||
return
|
||||
id = self.active_person.getId()
|
||||
if self.id2col.has_key(id):
|
||||
(model,iter) = self.id2col[id]
|
||||
self.ptabs.set_current_page(self.model2page[model])
|
||||
if self.model_used[model] == 0:
|
||||
self.model_used[model] = 1
|
||||
self.apply_filter(model)
|
||||
|
||||
model.selection.unselect_all()
|
||||
model.selection.select_iter(iter);
|
||||
itpath = model.model.get_path(iter)
|
||||
@ -958,6 +969,7 @@ class Gramps:
|
||||
val = 1
|
||||
else:
|
||||
val = 0
|
||||
|
||||
self.report_menu.set_sensitive(val)
|
||||
self.tools_menu.set_sensitive(val)
|
||||
self.report_button.set_sensitive(val)
|
||||
@ -1328,13 +1340,33 @@ class Gramps:
|
||||
for key in keys:
|
||||
self.alpha_page[key].new_model()
|
||||
self.id2col = {}
|
||||
self.apply_filter()
|
||||
self.model_used = {}
|
||||
|
||||
for key in self.db.getPersonKeys():
|
||||
person = self.db.getPerson(key)
|
||||
val = self.db.getPersonDisplay(key)
|
||||
pg = val[5]
|
||||
if pg:
|
||||
pg = pg[0]
|
||||
else:
|
||||
pg = ''
|
||||
if pg != '@':
|
||||
if not self.alpha_page.has_key(pg):
|
||||
self.create_new_panel(pg)
|
||||
model = self.alpha_page[pg]
|
||||
else:
|
||||
model = self.default_list
|
||||
|
||||
# self.apply_filter()
|
||||
for key in keys:
|
||||
self.alpha_page[key].connect_model()
|
||||
|
||||
|
||||
self.goto_active_person()
|
||||
self.modify_statusbar()
|
||||
|
||||
def apply_filter(self):
|
||||
def apply_filter(self,current_model=None):
|
||||
self.status_text(_('Updating display...'))
|
||||
|
||||
datacomp = self.DataFilter.compare
|
||||
|
||||
for key in self.db.getPersonKeys():
|
||||
@ -1356,15 +1388,18 @@ class Gramps:
|
||||
else:
|
||||
model = self.default_list
|
||||
|
||||
iter = model.add([val[0],val[1],val[2],val[3],val[4],val[5],
|
||||
val[6],val[7]],key)
|
||||
self.id2col[key] = (model,iter)
|
||||
if current_model == None or current_model == model:
|
||||
iter = model.add([val[0],val[1],val[2],val[3],val[4],val[5],
|
||||
val[6],val[7]],key)
|
||||
self.id2col[key] = (model,iter)
|
||||
else:
|
||||
if self.id2col.has_key(key):
|
||||
(model,iter) = self.id2col[key]
|
||||
model.remove(iter)
|
||||
if current_model == None or current_model == model:
|
||||
model.remove(iter)
|
||||
for i in self.pl_page:
|
||||
i.sort()
|
||||
self.modify_statusbar()
|
||||
|
||||
def create_new_panel(self,pg):
|
||||
display = gtk.ScrolledWindow()
|
||||
@ -1395,7 +1430,9 @@ class Gramps:
|
||||
for index in range(0,len(self.tab_list)):
|
||||
model = self.alpha_page[self.tab_list[index]]
|
||||
self.model2page[model] = index
|
||||
self.model_used[model] = 0
|
||||
self.model2page[self.default_list] = len(self.tab_list)
|
||||
self.model_used[self.default_list] = 0
|
||||
|
||||
def on_home_clicked(self,obj):
|
||||
temp = self.db.getDefaultPerson()
|
||||
|
@ -71,6 +71,10 @@ class DesBrowse:
|
||||
"destroy_passed_object" : Utils.destroy_passed_object,
|
||||
})
|
||||
top = self.glade.get_widget("top")
|
||||
|
||||
Utils.set_titles(top,self.glade.get_widget('title'),
|
||||
_("Descendant Browser"))
|
||||
|
||||
self.tree= self.glade.get_widget("tree1")
|
||||
col = gtk.TreeViewColumn('',gtk.CellRendererText(),text=0)
|
||||
self.tree.append_column(col)
|
||||
|
@ -46,6 +46,7 @@ import sort
|
||||
import Utils
|
||||
import TextDoc
|
||||
import OpenSpreadSheet
|
||||
import const
|
||||
|
||||
from QuestionDialog import WarningDialog
|
||||
from intl import gettext as _
|
||||
@ -131,20 +132,34 @@ class EventComparison:
|
||||
self.filterDialog = gtk.glade.XML(self.glade_file,"filters")
|
||||
self.filterDialog.signal_autoconnect({
|
||||
"on_apply_clicked" : self.on_apply_clicked,
|
||||
"on_editor_clicked" : self.filter_editor_clicked,
|
||||
"on_filter_list_enter" : self.filter_list_enter,
|
||||
"destroy_passed_object" : Utils.destroy_passed_object
|
||||
})
|
||||
|
||||
top =self.filterDialog.get_widget("filters")
|
||||
filters = self.filterDialog.get_widget("filter_list")
|
||||
self.filters = self.filterDialog.get_widget("filter_list")
|
||||
|
||||
all = GenericFilter.GenericFilter()
|
||||
all.set_name(_("Entire Database"))
|
||||
all.add_rule(GenericFilter.Everyone([]))
|
||||
Utils.set_titles(top,self.filterDialog.get_widget('title'),
|
||||
_('Event comparison filter selection'))
|
||||
|
||||
self.filter_menu = GenericFilter.build_filter_menu([all])
|
||||
filters.set_menu(self.filter_menu)
|
||||
self.all = GenericFilter.GenericFilter()
|
||||
self.all.set_name(_("Entire Database"))
|
||||
self.all.add_rule(GenericFilter.Everyone([]))
|
||||
|
||||
self.filter_menu = GenericFilter.build_filter_menu([self.all])
|
||||
self.filters.set_menu(self.filter_menu)
|
||||
top.show()
|
||||
|
||||
def filter_editor_clicked(self,obj):
|
||||
import FilterEditor
|
||||
|
||||
FilterEditor.FilterEditor(const.custom_filters,self.db)
|
||||
|
||||
def filter_list_enter(self,obj):
|
||||
self.filter_menu = GenericFilter.build_filter_menu([self.all])
|
||||
self.filters.set_menu(self.filter_menu)
|
||||
|
||||
def on_apply_clicked(self,obj):
|
||||
cfilter = self.filter_menu.get_active().get_data("filter")
|
||||
|
||||
@ -201,6 +216,9 @@ class DisplayChart:
|
||||
|
||||
self.top = self.topDialog.get_widget("view")
|
||||
self.eventlist = self.topDialog.get_widget('treeview')
|
||||
|
||||
Utils.set_titles(self.top, self.topDialog.get_widget('title'),
|
||||
_('Event Comparison'))
|
||||
|
||||
self.my_list.sort(sort.by_last_name)
|
||||
|
||||
|
@ -114,7 +114,7 @@ class FilterEditor:
|
||||
def delete_filter(self,obj):
|
||||
store,iter = self.clist.get_selected()
|
||||
if iter:
|
||||
fil = self.clist.get_object(iter)
|
||||
filter = self.clist.get_object(iter)
|
||||
self.filterdb.get_filters().remove(filter)
|
||||
self.draw_filters()
|
||||
|
||||
@ -313,8 +313,11 @@ class FilterEditor:
|
||||
self.draw_rules()
|
||||
|
||||
def rule_changed(self,obj):
|
||||
page = self.name2page[obj.get_text()]
|
||||
self.notebook.set_current_page(page)
|
||||
try:
|
||||
page = self.name2page[obj.get_text()]
|
||||
self.notebook.set_current_page(page)
|
||||
except:
|
||||
pass
|
||||
|
||||
def rule_ok(self,obj):
|
||||
name = self.rname.entry.get_text()
|
||||
@ -325,9 +328,9 @@ class FilterEditor:
|
||||
value_list.append(x.get_text())
|
||||
new_rule = c(value_list)
|
||||
store,iter = self.rlist.get_selected()
|
||||
if iter:
|
||||
rule = self.rlist.get_object(iter)
|
||||
self.filter.delete_rule(rule)
|
||||
# if iter:
|
||||
# rule = self.rlist.get_object(iter)
|
||||
# self.filter.delete_rule(rule)
|
||||
self.filter.add_rule(new_rule)
|
||||
self.draw_rules()
|
||||
self.rule_top.destroy()
|
||||
@ -339,8 +342,11 @@ class ShowResults:
|
||||
def __init__(self,plist):
|
||||
self.glade = gtk.glade.XML(const.filterFile,'test')
|
||||
self.top = self.glade.get_widget('test')
|
||||
self.top.set_title('%s - GRAMPS' % _('Test Filter'))
|
||||
text = self.glade.get_widget('text')
|
||||
|
||||
Utils.set_titles(self.top, self.glade.get_widget('title'),
|
||||
_('Filter Test'))
|
||||
|
||||
self.glade.signal_autoconnect({
|
||||
'on_close_clicked' : self.close,
|
||||
})
|
||||
|
@ -525,7 +525,7 @@ class IndivSummaryDialog(Report.TextReportDialog):
|
||||
font.set_size(12)
|
||||
p = TextDoc.ParagraphStyle()
|
||||
p.set_font(font)
|
||||
para.set_description(_('The basic style used for the text display.'))
|
||||
p.set_description(_('The basic style used for the text display.'))
|
||||
self.default_style.add_style("Normal",p)
|
||||
|
||||
def setup_report_options(self):
|
||||
|
@ -368,7 +368,7 @@ class IndivSummaryDialog(Report.TextReportDialog):
|
||||
font.set_size(12)
|
||||
p = TextDoc.ParagraphStyle()
|
||||
p.set_font(font)
|
||||
para.set_description(_('The basic style used for the text display.'))
|
||||
p.set_description(_('The basic style used for the text display.'))
|
||||
self.default_style.add_style("Normal",p)
|
||||
|
||||
def setup_report_options(self):
|
||||
|
@ -121,6 +121,9 @@ class Merge:
|
||||
self.menu = top.get_widget("menu")
|
||||
self.menu.set_menu(my_menu)
|
||||
|
||||
Utils.set_titles(top.get_widget('dialog'), top.get_widget('title'),
|
||||
_('Merge people'))
|
||||
|
||||
top.signal_autoconnect({
|
||||
"on_merge_ok_clicked" : self.on_merge_ok_clicked,
|
||||
"destroy_passed_object" : Utils.destroy_passed_object
|
||||
@ -134,7 +137,7 @@ class Merge:
|
||||
self.show()
|
||||
|
||||
def progress_update(self,val):
|
||||
self.progress.update(val/100.0)
|
||||
self.progress.set_fraction(val/100.0)
|
||||
while gtk.events_pending():
|
||||
gtk.mainiteration()
|
||||
|
||||
@ -142,8 +145,10 @@ class Merge:
|
||||
top = gtk.glade.XML(self.glade_file,"message")
|
||||
self.topWin = top.get_widget("message")
|
||||
self.progress = top.get_widget("progressbar1")
|
||||
self.topWin.show()
|
||||
|
||||
Utils.set_titles(self.topWin,top.get_widget('title'),
|
||||
_('Determining possible merges'))
|
||||
|
||||
index = 0
|
||||
|
||||
males = {}
|
||||
@ -205,6 +210,10 @@ class Merge:
|
||||
def show(self):
|
||||
top = gtk.glade.XML(self.glade_file,"mergelist")
|
||||
self.window = top.get_widget("mergelist")
|
||||
|
||||
Utils.set_titles(self.window, top.get_widget('title'),
|
||||
_('Potential Merges'))
|
||||
|
||||
self.mlist = top.get_widget("mlist")
|
||||
top.signal_autoconnect({
|
||||
"destroy_passed_object" : Utils.destroy_passed_object,
|
||||
|
@ -147,7 +147,7 @@ def importData(database, filename, cb=None):
|
||||
except Errors.GedcomError, val:
|
||||
msg = str(val)
|
||||
Utils.destroy_passed_object(statusWindow)
|
||||
gnome.ui.GnomeErrorDialog(msg)
|
||||
ErrorDialog(msg)
|
||||
return
|
||||
except:
|
||||
import DisplayTrace
|
||||
|
@ -147,6 +147,7 @@ class TimeLine:
|
||||
def write_report(self):
|
||||
|
||||
(low,high) = self.find_year_range()
|
||||
|
||||
st_size = self.name_size()
|
||||
|
||||
font = self.d.style_list['Name'].get_font()
|
||||
@ -273,12 +274,17 @@ class TimeLine:
|
||||
high = max(high,b)
|
||||
|
||||
if d != Date.UNDEF:
|
||||
low = min(low,b)
|
||||
high = max(high,b)
|
||||
|
||||
low = min(low,d)
|
||||
high = max(high,d)
|
||||
|
||||
low = (low/10)*10
|
||||
high = ((high+9)/10)*10
|
||||
|
||||
if low == Date.UNDEF:
|
||||
low = high
|
||||
if high == Date.UNDEF:
|
||||
high = low
|
||||
|
||||
return (low,high)
|
||||
|
||||
def name_size(self):
|
||||
@ -370,7 +376,7 @@ class TimeLineDialog(Report.DrawReportDialog):
|
||||
f.set_type_face(TextDoc.FONT_SANS_SERIF)
|
||||
p = TextDoc.ParagraphStyle()
|
||||
p.set_font(f)
|
||||
para.set_description(_("The style used for the person's name."))
|
||||
p.set_description(_("The style used for the person's name."))
|
||||
self.default_style.add_style("Name",p)
|
||||
|
||||
f = TextDoc.FontStyle()
|
||||
@ -378,7 +384,7 @@ class TimeLineDialog(Report.DrawReportDialog):
|
||||
f.set_type_face(TextDoc.FONT_SANS_SERIF)
|
||||
p = TextDoc.ParagraphStyle()
|
||||
p.set_font(f)
|
||||
para.set_description(_("The style used for the year labels."))
|
||||
p.set_description(_("The style used for the year labels."))
|
||||
self.default_style.add_style("Label",p)
|
||||
|
||||
f = TextDoc.FontStyle()
|
||||
|
@ -1,147 +1,119 @@
|
||||
<?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="top">
|
||||
<property name="title" translatable="yes">Descendant Browser - GRAMPS</property>
|
||||
<property name="type">GTK_WINDOW_TOPLEVEL</property>
|
||||
<property name="modal">no</property>
|
||||
<property name="allow_shrink">yes</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-vbox1">
|
||||
<property name="homogeneous">no</property>
|
||||
<property name="spacing">0</property>
|
||||
<property name="visible">yes</property>
|
||||
<widget class="GtkDialog" id="top">
|
||||
<property name="visible">True</property>
|
||||
<property name="title" translatable="yes"></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_area1">
|
||||
<property name="border_width">10</property>
|
||||
<property name="homogeneous">yes</property>
|
||||
<property name="spacing">5</property>
|
||||
<property name="visible">yes</property>
|
||||
<child internal-child="vbox">
|
||||
<widget class="GtkVBox" id="dialog-vbox1">
|
||||
<property name="visible">True</property>
|
||||
<property name="homogeneous">False</property>
|
||||
<property name="spacing">0</property>
|
||||
|
||||
<child>
|
||||
<widget class="GtkHButtonBox" id="hbuttonbox1">
|
||||
<property name="layout_style">GTK_BUTTONBOX_END</property>
|
||||
<property name="spacing">30</property>
|
||||
<property name="visible">yes</property>
|
||||
<child internal-child="action_area">
|
||||
<widget class="GtkHButtonBox" id="dialog-action_area1">
|
||||
<property name="visible">True</property>
|
||||
<property name="layout_style">GTK_BUTTONBOX_END</property>
|
||||
|
||||
<child>
|
||||
<widget class="GtkButton" id="button1">
|
||||
<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="GtkHButtonBox" id="hbuttonbox1">
|
||||
<property name="visible">True</property>
|
||||
<property name="layout_style">GTK_BUTTONBOX_END</property>
|
||||
<property name="spacing">30</property>
|
||||
|
||||
<signal name="clicked" handler="destroy_passed_object" object="top" />
|
||||
</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">no</property>
|
||||
<property name="fill">yes</property>
|
||||
<property name="pack_type">GTK_PACK_END</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<widget class="GtkButton" id="button1">
|
||||
<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>
|
||||
<signal name="clicked" handler="destroy_passed_object" object="top"/>
|
||||
</widget>
|
||||
</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>
|
||||
<widget class="GtkVBox" id="vbox1">
|
||||
<property name="homogeneous">no</property>
|
||||
<property name="spacing">0</property>
|
||||
<property name="visible">yes</property>
|
||||
<child>
|
||||
<widget class="GtkVBox" id="vbox1">
|
||||
<property name="visible">True</property>
|
||||
<property name="homogeneous">False</property>
|
||||
<property name="spacing">0</property>
|
||||
|
||||
<child>
|
||||
<widget class="GtkLabel" id="label1">
|
||||
<property name="label" translatable="yes">Descendant Browser</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="GtkLabel" id="title">
|
||||
<property name="visible">True</property>
|
||||
<property name="label" translatable="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">10</property>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</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="scrolledwindow1">
|
||||
<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="GtkScrolledWindow" id="scrolledwindow1">
|
||||
<property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
|
||||
<property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
|
||||
<property name="width-request">350</property>
|
||||
<property name="height-request">350</property>
|
||||
<property name="visible">yes</property>
|
||||
<child>
|
||||
<widget class="GtkTreeView" id="tree1">
|
||||
<property name="visible">True</property>
|
||||
<property name="headers_visible">True</property>
|
||||
<property name="rules_hint">False</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="GtkViewport" id="viewport1">
|
||||
<property name="shadow_type">GTK_SHADOW_IN</property>
|
||||
<property name="visible">yes</property>
|
||||
|
||||
<child>
|
||||
<widget class="GtkTreeView" id="tree1">
|
||||
<property name="visible">yes</property>
|
||||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
</child>
|
||||
|
||||
<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 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>
|
||||
</child>
|
||||
</widget>
|
||||
</glade-interface>
|
||||
|
@ -284,7 +284,7 @@
|
||||
|
||||
<widget class="GtkDialog" id="view">
|
||||
<property name="visible">True</property>
|
||||
<property name="title" translatable="yes">Event Comparison - GRAMPS</property>
|
||||
<property name="title" translatable="yes"></property>
|
||||
<property name="type">GTK_WINDOW_TOPLEVEL</property>
|
||||
<property name="window_position">GTK_WIN_POS_NONE</property>
|
||||
<property name="modal">False</property>
|
||||
@ -292,7 +292,7 @@
|
||||
<property name="default_height">400</property>
|
||||
<property name="resizable">True</property>
|
||||
<property name="destroy_with_parent">False</property>
|
||||
<property name="has_separator">True</property>
|
||||
<property name="has_separator">False</property>
|
||||
|
||||
<child internal-child="vbox">
|
||||
<widget class="GtkVBox" id="dialog-vbox3">
|
||||
@ -349,9 +349,9 @@
|
||||
<property name="column_spacing">0</property>
|
||||
|
||||
<child>
|
||||
<widget class="GtkLabel" id="label10">
|
||||
<widget class="GtkLabel" id="title">
|
||||
<property name="visible">True</property>
|
||||
<property name="label" translatable="yes">Event Comparison</property>
|
||||
<property name="label" translatable="yes"></property>
|
||||
<property name="use_underline">False</property>
|
||||
<property name="use_markup">False</property>
|
||||
<property name="justify">GTK_JUSTIFY_CENTER</property>
|
||||
@ -378,7 +378,7 @@
|
||||
<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_NONE</property>
|
||||
<property name="shadow_type">GTK_SHADOW_IN</property>
|
||||
<property name="window_placement">GTK_CORNER_TOP_LEFT</property>
|
||||
|
||||
<child>
|
||||
@ -412,13 +412,14 @@
|
||||
|
||||
<widget class="GtkDialog" id="filters">
|
||||
<property name="visible">True</property>
|
||||
<property name="title" translatable="yes">Event Comparison - GRAMPS</property>
|
||||
<property name="title" translatable="yes"></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">400</property>
|
||||
<property name="resizable">True</property>
|
||||
<property name="destroy_with_parent">False</property>
|
||||
<property name="has_separator">True</property>
|
||||
<property name="has_separator">False</property>
|
||||
|
||||
<child internal-child="vbox">
|
||||
<widget class="GtkVBox" id="dialog-vbox5">
|
||||
@ -449,10 +450,10 @@
|
||||
<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="label">gtk-close</property>
|
||||
<property name="use_stock">True</property>
|
||||
<property name="relief">GTK_RELIEF_NORMAL</property>
|
||||
<property name="response_id">0</property>
|
||||
<property name="response_id">-7</property>
|
||||
<signal name="clicked" handler="destroy_passed_object" object="filters"/>
|
||||
</widget>
|
||||
</child>
|
||||
@ -466,15 +467,109 @@
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkVBox" id="vbox2">
|
||||
<widget class="GtkTable" id="table1">
|
||||
<property name="border_width">12</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="n_rows">3</property>
|
||||
<property name="n_columns">3</property>
|
||||
<property name="homogeneous">False</property>
|
||||
<property name="spacing">0</property>
|
||||
<property name="row_spacing">12</property>
|
||||
<property name="column_spacing">12</property>
|
||||
|
||||
<child>
|
||||
<widget class="GtkLabel" id="label8">
|
||||
<property name="visible">True</property>
|
||||
<property name="label" translatable="yes">_Filter:</property>
|
||||
<property name="use_underline">True</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">1</property>
|
||||
<property name="yalign">0.5</property>
|
||||
<property name="xpad">5</property>
|
||||
<property name="ypad">0</property>
|
||||
<property name="mnemonic_widget">filter_list</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="left_attach">0</property>
|
||||
<property name="right_attach">1</property>
|
||||
<property name="top_attach">1</property>
|
||||
<property name="bottom_attach">2</property>
|
||||
<property name="x_options">fill</property>
|
||||
<property name="y_options"></property>
|
||||
</packing>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkLabel" id="label12">
|
||||
<property name="visible">True</property>
|
||||
<property name="label" translatable="yes">The event comparison utility uses the filters defined in the Custom Filter Editor.</property>
|
||||
<property name="use_underline">False</property>
|
||||
<property name="use_markup">False</property>
|
||||
<property name="justify">GTK_JUSTIFY_LEFT</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">0</property>
|
||||
<property name="ypad">0</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="left_attach">1</property>
|
||||
<property name="right_attach">2</property>
|
||||
<property name="top_attach">2</property>
|
||||
<property name="bottom_attach">3</property>
|
||||
<property name="x_options">fill</property>
|
||||
<property name="y_options"></property>
|
||||
</packing>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkButton" id="button28">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="label" translatable="yes">_Custom filter editor</property>
|
||||
<property name="use_underline">True</property>
|
||||
<property name="relief">GTK_RELIEF_NORMAL</property>
|
||||
<signal name="clicked" handler="on_editor_clicked" last_modification_time="Wed, 12 Mar 2003 00:28:59 GMT"/>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="left_attach">2</property>
|
||||
<property name="right_attach">3</property>
|
||||
<property name="top_attach">2</property>
|
||||
<property name="bottom_attach">3</property>
|
||||
<property name="x_options">fill</property>
|
||||
<property name="y_options"></property>
|
||||
</packing>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkOptionMenu" id="filter_list">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="history">-1</property>
|
||||
<signal name="enter" handler="on_filter_list_enter" last_modification_time="Wed, 12 Mar 2003 00:38:33 GMT"/>
|
||||
|
||||
<child internal-child="menu">
|
||||
<widget class="GtkMenu" id="convertwidget3">
|
||||
<property name="visible">True</property>
|
||||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="left_attach">1</property>
|
||||
<property name="right_attach">3</property>
|
||||
<property name="top_attach">1</property>
|
||||
<property name="bottom_attach">2</property>
|
||||
<property name="y_options"></property>
|
||||
</packing>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkLabel" id="title">
|
||||
<property name="visible">True</property>
|
||||
<property name="label" translatable="yes">Event Comparison</property>
|
||||
<property name="label" translatable="yes"></property>
|
||||
<property name="use_underline">False</property>
|
||||
<property name="use_markup">False</property>
|
||||
<property name="justify">GTK_JUSTIFY_CENTER</property>
|
||||
@ -486,79 +581,18 @@
|
||||
<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="hseparator3">
|
||||
<property name="visible">True</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="padding">5</property>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="left_attach">0</property>
|
||||
<property name="right_attach">3</property>
|
||||
<property name="top_attach">0</property>
|
||||
<property name="bottom_attach">1</property>
|
||||
<property name="x_options">fill</property>
|
||||
<property name="y_options"></property>
|
||||
</packing>
|
||||
</child>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="padding">0</property>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
</packing>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkHBox" id="hbox2">
|
||||
<property name="visible">True</property>
|
||||
<property name="homogeneous">False</property>
|
||||
<property name="spacing">0</property>
|
||||
|
||||
<child>
|
||||
<widget class="GtkLabel" id="label8">
|
||||
<property name="visible">True</property>
|
||||
<property name="label" translatable="yes">Filter</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">1</property>
|
||||
<property name="yalign">0.5</property>
|
||||
<property name="xpad">5</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="GtkOptionMenu" id="filter_list">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="history">-1</property>
|
||||
|
||||
<child internal-child="menu">
|
||||
<widget class="GtkMenu" id="convertwidget3">
|
||||
<property name="visible">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">False</property>
|
||||
<property name="expand">True</property>
|
||||
<property name="fill">True</property>
|
||||
</packing>
|
||||
</child>
|
||||
|
@ -19,7 +19,7 @@
|
||||
<property name="spacing">0</property>
|
||||
|
||||
<child>
|
||||
<widget class="GtkLabel" id="mergeTitle">
|
||||
<widget class="GtkLabel" id="title">
|
||||
<property name="visible">True</property>
|
||||
<property name="label" translatable="yes">Determining Possible Merges</property>
|
||||
<property name="use_underline">False</property>
|
||||
@ -39,17 +39,6 @@
|
||||
</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="GtkLabel" id="label44">
|
||||
<property name="visible">True</property>
|
||||
@ -115,15 +104,15 @@
|
||||
|
||||
<widget class="GtkDialog" id="mergelist">
|
||||
<property name="visible">True</property>
|
||||
<property name="title" translatable="yes">Merge List - GRAMPS</property>
|
||||
<property name="title" translatable="yes"></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_width">500</property>
|
||||
<property name="default_height">350</property>
|
||||
<property name="resizable">True</property>
|
||||
<property name="destroy_with_parent">False</property>
|
||||
<property name="has_separator">True</property>
|
||||
<property name="has_separator">False</property>
|
||||
|
||||
<child internal-child="vbox">
|
||||
<widget class="GtkVBox" id="dialog-vbox3">
|
||||
@ -141,7 +130,7 @@
|
||||
<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="label" translatable="yes">_Merge</property>
|
||||
<property name="use_underline">True</property>
|
||||
<property name="relief">GTK_RELIEF_NORMAL</property>
|
||||
<property name="response_id">0</property>
|
||||
@ -172,14 +161,15 @@
|
||||
|
||||
<child>
|
||||
<widget class="GtkVBox" id="vbox5">
|
||||
<property name="border_width">6</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="homogeneous">False</property>
|
||||
<property name="spacing">0</property>
|
||||
<property name="spacing">12</property>
|
||||
|
||||
<child>
|
||||
<widget class="GtkLabel" id="label59">
|
||||
<widget class="GtkLabel" id="title">
|
||||
<property name="visible">True</property>
|
||||
<property name="label" translatable="yes">Potential Merges</property>
|
||||
<property name="label" translatable="yes"></property>
|
||||
<property name="use_underline">False</property>
|
||||
<property name="use_markup">False</property>
|
||||
<property name="justify">GTK_JUSTIFY_CENTER</property>
|
||||
@ -197,17 +187,6 @@
|
||||
</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="visible">True</property>
|
||||
@ -246,13 +225,14 @@
|
||||
|
||||
<widget class="GtkDialog" id="dialog">
|
||||
<property name="visible">True</property>
|
||||
<property name="title" translatable="yes">Merge People - GRAMPS</property>
|
||||
<property name="title" translatable="yes"></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">350</property>
|
||||
<property name="resizable">True</property>
|
||||
<property name="destroy_with_parent">False</property>
|
||||
<property name="has_separator">True</property>
|
||||
<property name="has_separator">False</property>
|
||||
|
||||
<child internal-child="vbox">
|
||||
<widget class="GtkVBox" id="dialog-vbox4">
|
||||
@ -301,14 +281,15 @@
|
||||
|
||||
<child>
|
||||
<widget class="GtkVBox" id="vbox6">
|
||||
<property name="border_width">6</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="homogeneous">False</property>
|
||||
<property name="spacing">0</property>
|
||||
<property name="spacing">6</property>
|
||||
|
||||
<child>
|
||||
<widget class="GtkLabel" id="label45">
|
||||
<widget class="GtkLabel" id="title">
|
||||
<property name="visible">True</property>
|
||||
<property name="label" translatable="yes">Merge People</property>
|
||||
<property name="label" translatable="yes"></property>
|
||||
<property name="use_underline">False</property>
|
||||
<property name="use_markup">False</property>
|
||||
<property name="justify">GTK_JUSTIFY_CENTER</property>
|
||||
@ -320,30 +301,90 @@
|
||||
<property name="ypad">0</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="padding">0</property>
|
||||
<property name="padding">6</property>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
</packing>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkHSeparator" id="hseparator7">
|
||||
<widget class="GtkTable" id="table1">
|
||||
<property name="border_width">12</property>
|
||||
<property name="visible">True</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="padding">5</property>
|
||||
<property name="expand">True</property>
|
||||
<property name="fill">True</property>
|
||||
</packing>
|
||||
</child>
|
||||
<property name="n_rows">5</property>
|
||||
<property name="n_columns">2</property>
|
||||
<property name="homogeneous">False</property>
|
||||
<property name="row_spacing">6</property>
|
||||
<property name="column_spacing">12</property>
|
||||
|
||||
<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="GtkLabel" id="label62">
|
||||
<property name="visible">True</property>
|
||||
<property name="label" translatable="yes"><b>Match Threshold</b></property>
|
||||
<property name="use_underline">False</property>
|
||||
<property name="use_markup">True</property>
|
||||
<property name="justify">GTK_JUSTIFY_LEFT</property>
|
||||
<property name="wrap">False</property>
|
||||
<property name="selectable">False</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="yalign">0.5</property>
|
||||
<property name="xpad">0</property>
|
||||
<property name="ypad">0</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="left_attach">0</property>
|
||||
<property name="right_attach">2</property>
|
||||
<property name="top_attach">0</property>
|
||||
<property name="bottom_attach">1</property>
|
||||
<property name="x_options">fill</property>
|
||||
<property name="y_options"></property>
|
||||
</packing>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkLabel" id="label63">
|
||||
<property name="visible">True</property>
|
||||
<property name="label" translatable="yes"><b>Options</b></property>
|
||||
<property name="use_underline">False</property>
|
||||
<property name="use_markup">True</property>
|
||||
<property name="justify">GTK_JUSTIFY_LEFT</property>
|
||||
<property name="wrap">False</property>
|
||||
<property name="selectable">False</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="yalign">0.5</property>
|
||||
<property name="xpad">0</property>
|
||||
<property name="ypad">0</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="left_attach">0</property>
|
||||
<property name="right_attach">2</property>
|
||||
<property name="top_attach">3</property>
|
||||
<property name="bottom_attach">4</property>
|
||||
<property name="x_options">fill</property>
|
||||
<property name="y_options"></property>
|
||||
</packing>
|
||||
</child>
|
||||
|
||||
<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</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="left_attach">1</property>
|
||||
<property name="right_attach">2</property>
|
||||
<property name="top_attach">4</property>
|
||||
<property name="bottom_attach">5</property>
|
||||
<property name="x_options">fill</property>
|
||||
<property name="y_options"></property>
|
||||
</packing>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkOptionMenu" id="menu">
|
||||
@ -358,105 +399,12 @@
|
||||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
</child>
|
||||
|
||||
<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="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="GtkVBox" id="vbox4">
|
||||
<property name="visible">True</property>
|
||||
<property name="homogeneous">False</property>
|
||||
<property name="spacing">0</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="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>
|
||||
<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>
|
||||
<property name="left_attach">1</property>
|
||||
<property name="right_attach">2</property>
|
||||
<property name="top_attach">1</property>
|
||||
<property name="bottom_attach">2</property>
|
||||
<property name="y_options"></property>
|
||||
</packing>
|
||||
</child>
|
||||
</widget>
|
||||
|
@ -9,8 +9,8 @@
|
||||
<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="default_width">600</property>
|
||||
<property name="default_height">450</property>
|
||||
<property name="resizable">True</property>
|
||||
<property name="destroy_with_parent">False</property>
|
||||
<property name="icon">gramps.png</property>
|
||||
@ -953,6 +953,27 @@
|
||||
</packing>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkLabel" id="title">
|
||||
<property name="visible">True</property>
|
||||
<property name="label" translatable="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">6</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="padding">0</property>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
</packing>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkScrolledWindow" id="scrolledwindow3">
|
||||
<property name="visible">True</property>
|
||||
|
Loading…
Reference in New Issue
Block a user