summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/contacts-contact-list.vala12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/contacts-contact-list.vala b/src/contacts-contact-list.vala
index 08fa8a3..5a0dd0e 100644
--- a/src/contacts-contact-list.vala
+++ b/src/contacts-contact-list.vala
@@ -103,7 +103,7 @@ public class Contacts.ContactList : ListBox {
private Store store;
- private Settings settings;
+ private bool sort_on_surname = false; // keep in sync with the setting
public UiState state { get; set; }
@@ -116,8 +116,10 @@ public class Contacts.ContactList : ListBox {
this.notify["state"].connect (on_ui_state_changed);
- this.settings = settings;
- this.settings.changed["sort-on-surname"].connect(invalidate_sort);
+ settings.changed["sort-on-surname"].connect(() => {
+ this.sort_on_surname = settings.sort_on_surname;
+ invalidate_sort();
+ });
this.store.added.connect (contact_added_cb);
this.store.removed.connect (contact_removed_cb);
@@ -153,8 +155,8 @@ public class Contacts.ContactList : ListBox {
return a.is_favourite? -1 : 1;
// Both are (non-)favourites: sort by either first name or surname (user preference)
- unowned string? a_name = this.settings.sort_on_surname? try_get_surname(a) : a.display_name;
- unowned string? b_name = this.settings.sort_on_surname? try_get_surname(b) : b.display_name;
+ unowned string? a_name = this.sort_on_surname? try_get_surname(a) : a.display_name;
+ unowned string? b_name = this.sort_on_surname? try_get_surname(b) : b.display_name;
return a_name.collate (b_name);
}