4657: The "sort as" name is ignored

svn: r16673
This commit is contained in:
Michiel Nauta
2011-02-19 14:06:21 +00:00
parent 0554608916
commit 756bd836a0
9 changed files with 13 additions and 18 deletions

View File

@@ -124,7 +124,7 @@ class FamilyModel(FlatBaseModel):
def sort_father(self, data):
if data[2]:
person = self.db.get_person_from_handle(data[2])
return name_displayer.sort_string(person.primary_name)
return name_displayer.sorted_name(person.primary_name)
else:
return u""
@@ -138,7 +138,7 @@ class FamilyModel(FlatBaseModel):
def sort_mother(self, data):
if data[3]:
person = self.db.get_person_from_handle(data[3])
return name_displayer.sort_string(person.primary_name)
return name_displayer.sorted_name(person.primary_name)
else:
return u""

View File

@@ -512,8 +512,8 @@ class FlatBaseModel(gtk.GenericTreeModel):
# use cursor as a context manager
with self.gen_cursor() as cursor:
#loop over database and store the sort field, and the handle
return sorted((map(conv_unicode_tosrtkey_ongtk,
self.sort_func(data)), key) for key, data in cursor)
return sorted((conv_unicode_tosrtkey_ongtk(self.sort_func(data)),
key) for key, data in cursor)
def _rebuild_search(self, ignore=None):
""" function called when view must be build, given a search text
@@ -580,8 +580,7 @@ class FlatBaseModel(gtk.GenericTreeModel):
Row is only added if search/filter data is such that it must be shown
"""
data = self.map(handle)
insert_val = (map(conv_unicode_tosrtkey_ongtk, self.sort_func(data)),
handle)
insert_val = (conv_unicode_tosrtkey_ongtk(self.sort_func(data)), handle)
if not self.search or \
(self.search and self.search.match(handle, self.db)):
#row needs to be added to the model
@@ -615,7 +614,7 @@ class FlatBaseModel(gtk.GenericTreeModel):
return # row is not currently displayed
self.clear_cache(handle)
oldsortkey = self.node_map.get_sortkey(handle)
newsortkey = map(conv_unicode_tosrtkey_ongtk, self.sort_func(self.map(
newsortkey = conv_unicode_tosrtkey_ongtk(self.sort_func(self.map(
handle)))
if oldsortkey is None or oldsortkey != newsortkey:
#or the changed object is not present in the view due to filtering

View File

@@ -196,7 +196,7 @@ class PeopleBaseModel(object):
def sort_name(self, data):
n = Name()
n.unserialize(data[COLUMN_NAME])
return (n.get_primary_surname().get_surname(), n.get_first_name())
return name_displayer.sorted_name(n)
def column_name(self, data):
handle = data[0]

View File

@@ -84,7 +84,7 @@ class Node(object):
def __init__(self, ref, parent, sortkey, handle):
self.name = sortkey
if sortkey:
self.sortkey = map(conv_unicode_tosrtkey_ongtk, sortkey)
self.sortkey = conv_unicode_tosrtkey_ongtk(sortkey)
else:
self.sortkey = None
self.ref = ref