Fixed soundex filter
svn: r330
This commit is contained in:
parent
7b80fb02fe
commit
0453816f87
@ -29,7 +29,7 @@ _ = intl.gettext
|
||||
class MatchSndEx(Filter.Filter):
|
||||
"Names with same SoundEx code as ..."
|
||||
|
||||
def __init__(self,text,invert):
|
||||
def __init__(self,text):
|
||||
self.sndex = soundex.soundex(text)
|
||||
Filter.Filter.__init__(self,text)
|
||||
|
||||
|
@ -108,7 +108,6 @@ prefsTop = None
|
||||
pv = {}
|
||||
sort_column = 5
|
||||
sort_direct = SORT_ASCENDING
|
||||
sbar_active = 1
|
||||
DataFilter = Filter.create("")
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
@ -202,7 +201,6 @@ def on_about_activate(obj):
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
def on_contents_activate(obj):
|
||||
|
||||
GnomeOkDialog(_("Sorry. Online help for gramps is currently under development.\nUnfortunately, it is not yet ready."))
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
@ -251,7 +249,21 @@ def on_remove_child_clicked(obj):
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
def on_add_sp_clicked(obj):
|
||||
add_spouse()
|
||||
spouseDialog = libglade.GladeXML(const.gladeFile, "spouseDialog")
|
||||
spouseList = spouseDialog.get_widget("spouseList")
|
||||
spouseDialog.get_widget("rel_combo").set_popdown_strings(const.familyRelations)
|
||||
rel_type = spouseDialog.get_widget("rel_type")
|
||||
rel_type.set_data("d",spouseList)
|
||||
spouseDialog.get_widget("spouseDialog").set_data("d",rel_type)
|
||||
|
||||
spouseDialog.signal_autoconnect({
|
||||
"on_spouseList_select_row" : on_spouseList_select_row,
|
||||
"on_select_spouse_clicked" : on_select_spouse_clicked,
|
||||
"on_rel_type_changed" : on_rel_type_changed,
|
||||
"destroy_passed_object" : utils.destroy_passed_object
|
||||
})
|
||||
|
||||
rel_type.set_text(_("Unknown"))
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
@ -267,7 +279,28 @@ def on_edit_sp_clicked(obj):
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
def on_delete_sp_clicked(obj):
|
||||
delete_spouse()
|
||||
global active_family
|
||||
|
||||
if active_person == active_family.getFather():
|
||||
person = active_family.getMother()
|
||||
active_family.setMother(None)
|
||||
else:
|
||||
person = active_family.getFather()
|
||||
active_family.setFather(None)
|
||||
|
||||
if person:
|
||||
person.removeFamily(active_family)
|
||||
|
||||
if len(active_family.getChildList()) == 0:
|
||||
active_person.removeFamily(active_family)
|
||||
database.deleteFamily(active_family)
|
||||
if len(active_person.getFamilyList()) > 0:
|
||||
active_family = active_person.getFamilyIndex(0)
|
||||
else:
|
||||
active_family = None
|
||||
|
||||
load_family()
|
||||
utils.modified()
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
@ -323,34 +356,23 @@ def redraw_child_list(filter):
|
||||
index = 0
|
||||
|
||||
bday = active_person.getBirth().getDateObj()
|
||||
if bday.getYear() != -1:
|
||||
bday_valid = 1
|
||||
else:
|
||||
bday_valid = 0
|
||||
dday = active_person.getDeath().getDateObj()
|
||||
if dday.getYear() != -1:
|
||||
dday_valid = 1
|
||||
else:
|
||||
dday_valid = 0
|
||||
|
||||
bday_valid = (bday.getYear() != -1)
|
||||
dday_valid = (dday.getYear() != -1)
|
||||
|
||||
slist = []
|
||||
f = active_person.getMainFamily()
|
||||
if f:
|
||||
if f.getFather():
|
||||
slist.append(f.getFather())
|
||||
if f.getMother():
|
||||
slist.append(f.getFather())
|
||||
|
||||
for f in active_person.getFamilyList():
|
||||
slist.append(f.getFather())
|
||||
slist.append(f.getMother())
|
||||
for c in f.getChildList():
|
||||
slist.append(c)
|
||||
for f in [active_person.getMainFamily()] + active_person.getFamilyList():
|
||||
if f:
|
||||
if f.getFather():
|
||||
slist.append(f.getFather())
|
||||
elif f.getMother():
|
||||
slist.append(f.getMother())
|
||||
for c in f.getChildList():
|
||||
slist.append(c)
|
||||
|
||||
for person in person_list:
|
||||
if filter:
|
||||
if person.getMainFamily() == active_person.getMainFamily():
|
||||
continue
|
||||
if person in slist:
|
||||
continue
|
||||
if person.getMainFamily() != None:
|
||||
@ -931,6 +953,7 @@ def read_file(filename):
|
||||
if lastname and lastname not in const.surnames:
|
||||
const.surnames.append(lastname)
|
||||
|
||||
statusbar.set_progress(1.0)
|
||||
full_update()
|
||||
statusbar.set_progress(0.0)
|
||||
|
||||
@ -956,9 +979,7 @@ def save_file(filename):
|
||||
import WriteXML
|
||||
|
||||
filename = os.path.normpath(filename)
|
||||
|
||||
if sbar_active:
|
||||
statusbar.set_status(_("Saving %s ...") % filename)
|
||||
statusbar.set_status(_("Saving %s ...") % filename)
|
||||
|
||||
if os.path.exists(filename):
|
||||
if os.path.isdir(filename) == 0:
|
||||
@ -987,16 +1008,12 @@ def save_file(filename):
|
||||
except OSError, msg:
|
||||
GnomeErrorDialog(_("Could not create %s") % filename + "\n" + str(msg))
|
||||
return
|
||||
# except:
|
||||
# GnomeErrorDialog(_("Could not create %s") % filename)
|
||||
# return
|
||||
|
||||
database.setSavePath(old_file)
|
||||
utils.clearModified()
|
||||
Config.save_last_file(old_file)
|
||||
if sbar_active:
|
||||
statusbar.set_status("")
|
||||
statusbar.set_progress(0)
|
||||
statusbar.set_status("")
|
||||
statusbar.set_progress(0)
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
@ -1296,29 +1313,6 @@ def remove_from_person_list(person):
|
||||
def on_editperson_clicked(obj):
|
||||
load_person(active_person)
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
#
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
def add_spouse():
|
||||
|
||||
spouseDialog = libglade.GladeXML(const.gladeFile, "spouseDialog")
|
||||
spouseList = spouseDialog.get_widget("spouseList")
|
||||
spouseDialog.get_widget("rel_combo").set_popdown_strings(const.familyRelations)
|
||||
rel_type = spouseDialog.get_widget("rel_type")
|
||||
rel_type.set_data("d",spouseList)
|
||||
spouseDialog.get_widget("spouseDialog").set_data("d",rel_type)
|
||||
|
||||
spouseDialog.signal_autoconnect({
|
||||
"on_spouseList_select_row" : on_spouseList_select_row,
|
||||
"on_select_spouse_clicked" : on_select_spouse_clicked,
|
||||
"on_rel_type_changed" : on_rel_type_changed,
|
||||
"destroy_passed_object" : utils.destroy_passed_object
|
||||
})
|
||||
|
||||
rel_type.set_text(_("Unknown"))
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
#
|
||||
@ -1367,35 +1361,6 @@ def on_delete_parents_clicked(obj):
|
||||
active_person.removeAltFamily(active_parents)
|
||||
load_family()
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
#
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
def delete_spouse():
|
||||
global active_family
|
||||
|
||||
if active_person == active_family.getFather():
|
||||
person = active_family.getMother()
|
||||
active_family.setMother(None)
|
||||
else:
|
||||
person = active_family.getFather()
|
||||
active_family.setFather(None)
|
||||
|
||||
if person:
|
||||
person.removeFamily(active_family)
|
||||
|
||||
if len(active_family.getChildList()) == 0:
|
||||
active_person.removeFamily(active_family)
|
||||
database.deleteFamily(active_family)
|
||||
if len(active_person.getFamilyList()) > 0:
|
||||
active_family = active_person.getFamilyIndex(0)
|
||||
else:
|
||||
active_family = None
|
||||
|
||||
load_family()
|
||||
utils.modified()
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
#
|
||||
@ -1600,7 +1565,6 @@ def modify_statusbar():
|
||||
#-------------------------------------------------------------------------
|
||||
def on_child_list_select_row(obj,a,b,c):
|
||||
global active_child
|
||||
|
||||
active_child = obj.get_row_data(a)
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
@ -1610,7 +1574,6 @@ def on_child_list_select_row(obj,a,b,c):
|
||||
#-------------------------------------------------------------------------
|
||||
def on_spouseList_select_row(obj,a,b,c):
|
||||
global select_spouse
|
||||
|
||||
select_spouse = obj.get_row_data(a)
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
@ -1892,9 +1855,8 @@ def on_filter_name_changed(obj):
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
def on_spouselist_changed(obj):
|
||||
if active_person == None :
|
||||
return
|
||||
display_marriage(obj.get_data("family"))
|
||||
if active_person:
|
||||
display_marriage(obj.get_data("family"))
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
@ -2273,10 +2235,9 @@ def display_marriage(family):
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
def load_progress(value):
|
||||
if sbar_active:
|
||||
statusbar.set_progress(value)
|
||||
while events_pending():
|
||||
mainiteration()
|
||||
statusbar.set_progress(value)
|
||||
while events_pending():
|
||||
mainiteration()
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
@ -2430,7 +2391,7 @@ def apply_filter():
|
||||
pid = id2col[person]
|
||||
del id2col[person]
|
||||
|
||||
for id in [pid] + dalt2col[person]:
|
||||
for id in [pid] + alt2col[person]:
|
||||
row = person_list.find_row_from_data(id)
|
||||
person_list.remove(row)
|
||||
|
||||
@ -2518,16 +2479,6 @@ def on_current_type_changed(obj):
|
||||
active_parents = obj.get_data("parents")
|
||||
change_parents(active_parents)
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
#
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
def on_statusbar_unmap(obj):
|
||||
global sbar_active
|
||||
|
||||
sbar_active = 0
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
#
|
||||
@ -2568,20 +2519,17 @@ def on_preferences_activate(obj):
|
||||
#
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
def build_report_menu(report_item):
|
||||
def build_report_menu():
|
||||
|
||||
report_menu = GtkMenu()
|
||||
report_menu.show()
|
||||
report_item.set_submenu(report_menu)
|
||||
|
||||
hash = {}
|
||||
for report in Plugins.reports:
|
||||
if report.__dict__.has_key("get_name"):
|
||||
doc = report.get_name()
|
||||
info = string.split(report.get_name(),'/')
|
||||
else:
|
||||
doc = report.__doc__
|
||||
info = string.split(doc,"/")
|
||||
|
||||
info = string.split(report.__doc__,'/')
|
||||
if hash.has_key(info[0]):
|
||||
hash[info[0]].append((info[1],report.report))
|
||||
else:
|
||||
@ -2603,6 +2551,7 @@ def build_report_menu(report_item):
|
||||
subentry.show()
|
||||
subentry.connect("activate",menu_report,name[1])
|
||||
submenu.append(subentry)
|
||||
return report_menu
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
@ -2618,20 +2567,17 @@ def menu_report(obj,task):
|
||||
#
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
def build_tools_menu(report_item):
|
||||
def build_tools_menu():
|
||||
|
||||
report_menu = GtkMenu()
|
||||
report_menu.show()
|
||||
report_item.set_submenu(report_menu)
|
||||
|
||||
hash = {}
|
||||
for report in Plugins.tools:
|
||||
if report.__dict__.has_key("get_name"):
|
||||
doc = report.get_name()
|
||||
info = string.split(report.get_name(),'/')
|
||||
else:
|
||||
doc = report.__doc__
|
||||
info = string.split(doc,"/")
|
||||
|
||||
info = string.split(report.__doc__,'/')
|
||||
if hash.has_key(info[0]):
|
||||
hash[info[0]].append((info[1],report.runTool))
|
||||
else:
|
||||
@ -2653,6 +2599,7 @@ def build_tools_menu(report_item):
|
||||
subentry.show()
|
||||
subentry.connect("activate",menu_tools,name[1])
|
||||
submenu.append(subentry)
|
||||
return report_menu
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
@ -2689,8 +2636,10 @@ def main(arg):
|
||||
|
||||
gtop = libglade.GladeXML(const.gladeFile, "gramps")
|
||||
|
||||
build_report_menu(gtop.get_widget("reports_menu"))
|
||||
build_tools_menu(gtop.get_widget("tools_menu"))
|
||||
gtop.get_widget("reports_menu").set_submenu(build_report_menu())
|
||||
gtop.get_widget("tools_menu").set_submenu(build_tools_menu())
|
||||
gtop.get_widget("export1").set_submenu(Plugins.export_menu(export_callback))
|
||||
gtop.get_widget("import1").set_submenu(Plugins.import_menu(import_callback))
|
||||
|
||||
statusbar = gtop.get_widget("statusbar")
|
||||
topWindow = gtop.get_widget("gramps")
|
||||
@ -2775,7 +2724,6 @@ def main(arg):
|
||||
"on_edit_father_clicked" : on_edit_father_clicked,
|
||||
"on_edit_mother_clicked" : on_edit_mother_clicked,
|
||||
"on_exit_activate" : on_exit_activate,
|
||||
"on_statusbar_unmap" : on_statusbar_unmap,
|
||||
"on_add_source_clicked" : on_add_source_clicked,
|
||||
"on_source_list_button_press_event" : on_source_list_button_press_event,
|
||||
"on_source_list_select_row": on_source_list_select_row,
|
||||
@ -2796,9 +2744,6 @@ def main(arg):
|
||||
elif Config.lastfile != None and Config.lastfile != "" and Config.autoload:
|
||||
read_file(Config.lastfile)
|
||||
|
||||
gtop.get_widget("export1").set_submenu(Plugins.export_menu(export_callback))
|
||||
gtop.get_widget("import1").set_submenu(Plugins.import_menu(import_callback))
|
||||
|
||||
database.setResearcher(Config.owner)
|
||||
mainloop()
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user