diff options
author | Niels De Graef <nielsdegraef@gmail.com> | 2018-01-23 02:01:16 +0100 |
---|---|---|
committer | Niels De Graef <nielsdegraef@gmail.com> | 2018-01-23 02:01:16 +0100 |
commit | 058e117c5d4287980152fbcc4511aac49b614c50 (patch) | |
tree | 0b4d3dddb28588def9ec235ce241dc0bc4957abc | |
parent | 4d52db4d94ca6b5bf68d2de5b35283a76aac25af (diff) | |
download | gnome-contacts-058e117c5d4287980152fbcc4511aac49b614c50.tar.gz |
ContactList: simplify sorting function.
Individual.display_name is never null.
Also, refrain from using trivial anonymous lambdas, for easier
debugging.
-rw-r--r-- | src/contacts-contact-list.vala | 19 |
1 files changed, 5 insertions, 14 deletions
diff --git a/src/contacts-contact-list.vala b/src/contacts-contact-list.vala index 950b990..5ca929b 100644 --- a/src/contacts-contact-list.vala +++ b/src/contacts-contact-list.vala @@ -121,7 +121,7 @@ public class Contacts.ContactList : ListBox { get_style_context ().add_class ("contacts-contact-list"); - set_sort_func ((a, b) => compare_data (a as ContactDataRow, b as ContactDataRow)); + set_sort_func (compare_rows); set_filter_func (filter_row); set_header_func (update_header); } @@ -139,25 +139,16 @@ public class Contacts.ContactList : ListBox { this.nr_contacts_marked = 0; } - private int compare_data (ContactDataRow a_data, ContactDataRow b_data) { - var a = a_data.contact.individual; - var b = b_data.contact.individual; + private int compare_rows (ListBoxRow row_a, ListBoxRow row_b) { + var a = ((ContactDataRow) row_a).contact.individual; + var b = ((ContactDataRow) row_b).contact.individual; // Always prefer favourites over non-favourites. if (a.is_favourite != b.is_favourite) return a.is_favourite? -1 : 1; // Both are (non-)favourites: sort by name - if (is_set (a.display_name) && is_set (b.display_name)) - return a.display_name.collate (b.display_name); - - // Sort empty names last - if (is_set (a.display_name)) - return -1; - if (is_set (b.display_name)) - return 1; - - return 0; + return a.display_name.collate (b.display_name); } private void update_header (ListBoxRow row, ListBoxRow? before) { |