Fixed apply_fiter to simplify it
svn: r327
This commit is contained in:
parent
a382c66838
commit
c771d6730c
@ -2381,11 +2381,9 @@ def apply_filter():
|
|||||||
altnames = []
|
altnames = []
|
||||||
for person in people:
|
for person in people:
|
||||||
names.append((person.getPrimaryName(),person,0))
|
names.append((person.getPrimaryName(),person,0))
|
||||||
for name in person.getAlternateNames():
|
if Config.hide_altnames == 0:
|
||||||
altnames.append((name,person,1))
|
for name in person.getAlternateNames():
|
||||||
|
names.append((name,person,1))
|
||||||
if Config.hide_altnames == 0:
|
|
||||||
names = names + altnames
|
|
||||||
|
|
||||||
person_list.freeze()
|
person_list.freeze()
|
||||||
|
|
||||||
@ -2393,56 +2391,55 @@ def apply_filter():
|
|||||||
gname = utils.phonebook_from_name
|
gname = utils.phonebook_from_name
|
||||||
|
|
||||||
person_list.set_column_visibility(1,Config.id_visible)
|
person_list.set_column_visibility(1,Config.id_visible)
|
||||||
|
|
||||||
new_alt2col = {}
|
new_alt2col = {}
|
||||||
|
|
||||||
for name_tuple in names:
|
for person in database.getPersonMap().values():
|
||||||
name,person,alt = name_tuple
|
|
||||||
|
|
||||||
if datacomp(person):
|
if datacomp(person):
|
||||||
pos = (person,alt)
|
|
||||||
if alt:
|
if id2col.has_key(person):
|
||||||
if id2col.has_key(person):
|
continue
|
||||||
continue
|
pos = (person,0)
|
||||||
if new_alt2col.has_key(person):
|
id2col[person] = pos
|
||||||
new_alt2col[person].append(pos)
|
new_alt2col[person] = []
|
||||||
else:
|
|
||||||
new_alt2col[person] = [pos]
|
|
||||||
else:
|
|
||||||
if id2col.has_key(person):
|
|
||||||
continue
|
|
||||||
id2col[person] = pos
|
|
||||||
|
|
||||||
if person.getGender():
|
if person.getGender():
|
||||||
gender = const.male
|
gender = const.male
|
||||||
else:
|
else:
|
||||||
gender = const.female
|
gender = const.female
|
||||||
|
|
||||||
bday = person.getBirth().getDateObj()
|
bday = person.getBirth().getDateObj()
|
||||||
dday = person.getDeath().getDateObj()
|
dday = person.getDeath().getDateObj()
|
||||||
person_list.insert(0,[gname(name,0),person.getId(),
|
sort_bday = sort.build_sort_birth(bday)
|
||||||
gender,bday.getQuoteDate(),
|
sort_dday = sort.build_sort_death(dday)
|
||||||
dday.getQuoteDate(),
|
qbday = bday.getQuoteDate()
|
||||||
sort.build_sort_name(name),
|
qdday = dday.getQuoteDate()
|
||||||
sort.build_sort_birth(bday),
|
pid = person.getId()
|
||||||
sort.build_sort_death(dday)])
|
|
||||||
person_list.set_row_data(0,pos)
|
|
||||||
else:
|
|
||||||
if alt:
|
|
||||||
if alt2col.has_key(person):
|
|
||||||
ids = alt2col[person]
|
|
||||||
del alt2col[person]
|
|
||||||
for id in ids:
|
|
||||||
row = person_list.find_row_from_data(id)
|
|
||||||
if row != -1:
|
|
||||||
person_list.remove(row)
|
|
||||||
else:
|
|
||||||
if id2col.has_key(person):
|
|
||||||
id = id2col[person]
|
|
||||||
del id2col[person]
|
|
||||||
row = person_list.find_row_from_data(id)
|
|
||||||
if row != -1:
|
|
||||||
person_list.remove(row)
|
|
||||||
|
|
||||||
|
name = person.getPrimaryName()
|
||||||
|
person_list.insert(0,[gname(name,0),pid, gender,qbday,qdday,
|
||||||
|
sort.build_sort_name(name),sort_bday,sort_dday])
|
||||||
|
person_list.set_row_data(0,pos)
|
||||||
|
|
||||||
|
for name in person.getAlternateNames():
|
||||||
|
pos = (person,1)
|
||||||
|
new_alt2col[person].append(pos)
|
||||||
|
|
||||||
|
person_list.insert(0,[gname(name,1),pid,gender,qbday,qdday,
|
||||||
|
sort.build_sort_name(name),sort_bday,sort_dday])
|
||||||
|
person_list.set_row_data(0,pos)
|
||||||
|
|
||||||
|
else:
|
||||||
|
if id2col.has_key(person):
|
||||||
|
id = id2col[person]
|
||||||
|
del id2col[person]
|
||||||
|
row = person_list.find_row_from_data(id)
|
||||||
|
person_list.remove(row)
|
||||||
|
|
||||||
|
for id in alt2col[person]:
|
||||||
|
row = person_list.find_row_from_data(id)
|
||||||
|
person_list.remove(row)
|
||||||
|
|
||||||
|
alt2col = new_alt2col
|
||||||
person_list.thaw()
|
person_list.thaw()
|
||||||
sort_person_list()
|
sort_person_list()
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user