summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNiels De Graef <nielsdegraef@gmail.com>2018-01-23 02:01:16 +0100
committerNiels De Graef <nielsdegraef@gmail.com>2018-01-23 02:01:16 +0100
commit058e117c5d4287980152fbcc4511aac49b614c50 (patch)
tree0b4d3dddb28588def9ec235ce241dc0bc4957abc
parent4d52db4d94ca6b5bf68d2de5b35283a76aac25af (diff)
downloadgnome-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.vala19
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) {