[gnome-contacts] Break out data comparison function
- From: Alexander Larsson <alexl src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-contacts] Break out data comparison function
- Date: Wed, 18 Jan 2012 15:28:10 +0000 (UTC)
commit 6db272b4e8eb94bc3b808634e5fea664cceacfe0
Author: Alexander Larsson <alexl redhat com>
Date: Wed Jan 18 12:20:21 2012 +0100
Break out data comparison function
src/contacts-view.vala | 46 +++++++++++++++++++++++++---------------------
1 files changed, 25 insertions(+), 21 deletions(-)
---
diff --git a/src/contacts-view.vala b/src/contacts-view.vala
index f884d74..8f9c9f0 100644
--- a/src/contacts-view.vala
+++ b/src/contacts-view.vala
@@ -65,27 +65,7 @@ public class Contacts.View : GLib.Object {
model.get (iter_a, 1, out aa);
model.get (iter_b, 1, out bb);
- int a_prio = get_sort_prio (aa);
- int b_prio = get_sort_prio (bb);
-
- if (a_prio > b_prio)
- return -1;
- if (a_prio < b_prio)
- return 1;
-
- var a = aa->contact;
- var b = bb->contact;
-
- 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 compare_data (aa, bb);
});
list_store.set_sort_column_id (0, SortType.ASCENDING);
@@ -96,6 +76,30 @@ public class Contacts.View : GLib.Object {
contact_added_cb (store, c);
}
+ private int compare_data (ContactData a_data, ContactData b_data) {
+ int a_prio = get_sort_prio (a_data);
+ int b_prio = get_sort_prio (b_data);
+
+ if (a_prio > b_prio)
+ return -1;
+ if (a_prio < b_prio)
+ return 1;
+
+ var a = a_data.contact;
+ var b = b_data.contact;
+
+ 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;
+ }
+
private int get_sort_prio (ContactData *data) {
if (data->sort_prio != 0)
return data->sort_prio;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]