diff --git a/src/DisplayModels/_PeopleModel.py b/src/DisplayModels/_PeopleModel.py index 0f3fc92f1..6485be7a3 100644 --- a/src/DisplayModels/_PeopleModel.py +++ b/src/DisplayModels/_PeopleModel.py @@ -93,7 +93,7 @@ class NodeTreeMap(object): self.temp_sname_sub = {} def build_toplevel(self): - self.temp_top_path2iter = sorted(self.temp_sname_sub, locale.strcoll) + self.temp_top_path2iter = sorted(self.temp_sname_sub, key=locale.strxfrm) for name in self.temp_top_path2iter: self.build_sub_entry(name) diff --git a/src/FilterEditor/_ShowResults.py b/src/FilterEditor/_ShowResults.py index ecfc6ae4b..c9aff656b 100644 --- a/src/FilterEditor/_ShowResults.py +++ b/src/FilterEditor/_ShowResults.py @@ -91,11 +91,12 @@ class ShowResults(ManagedWindow.ManagedWindow): self.get_widget('close').connect('clicked', self.close) - new_list = [self.sort_val_from_handle(h) for h in handle_list] - new_list.sort(lambda x, y: locale.strcoll(x[0], y[0])) - handle_list = [ h[1] for h in new_list ] + new_list = sorted( + (self.sort_val_from_handle(h) for h in handle_list), + key=lambda x: locale.strxfrm(x[0]) + ) - for handle in handle_list: + for s_, handle in new_list: name, gid = self.get_name_id(handle) model.append(row=[name, gid]) diff --git a/src/gen/db/base.py b/src/gen/db/base.py index 4ce2083a5..1c89e032c 100644 --- a/src/gen/db/base.py +++ b/src/gen/db/base.py @@ -1911,7 +1911,7 @@ class GrampsDbBase(Callback): raise NotImplementedError def sort_surname_list(self): - self.surname_list.sort(locale.strcoll) + self.surname_list.sort(key=locale.strxfrm) def add_to_surname_list(self, person, batch_transaction): if batch_transaction: diff --git a/src/plugins/tool/ChangeTypes.py b/src/plugins/tool/ChangeTypes.py index f5e21ade0..64961b27d 100644 --- a/src/plugins/tool/ChangeTypes.py +++ b/src/plugins/tool/ChangeTypes.py @@ -77,8 +77,7 @@ class ChangeTypes(Tool.BatchTool, ManagedWindow.ManagedWindow): # Need to display localized event names etype = EventType() - event_names = etype.get_standard_names() - event_names.sort(locale.strcoll) + event_names = sorted(etype.get_standard_names(), key=locale.strxfrm) AutoComp.fill_combo(self.auto1,event_names) AutoComp.fill_combo(self.auto2,event_names)