summaryrefslogtreecommitdiff
path: root/src/contacts-store.vala
diff options
context:
space:
mode:
authorAlexander Larsson <alexl@redhat.com>2011-06-29 13:37:20 +0200
committerAlexander Larsson <alexl@redhat.com>2011-06-29 13:37:20 +0200
commit8218001101caab72d02bdc75612d750a987b1d4f (patch)
treed8badd7a9e02d032f38e674a2d46e41da0e976e1 /src/contacts-store.vala
parent171c6b9f3312c5ab32891103bed2beb46261e095 (diff)
downloadgnome-contacts-8218001101caab72d02bdc75612d750a987b1d4f.tar.gz
Move the aggregator into the contacts store
Diffstat (limited to 'src/contacts-store.vala')
-rw-r--r--src/contacts-store.vala13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/contacts-store.vala b/src/contacts-store.vala
index 0245f7d..c61562a 100644
--- a/src/contacts-store.vala
+++ b/src/contacts-store.vala
@@ -29,6 +29,7 @@ public class Contacts.Store {
}
ListStore list_store;
+ public IndividualAggregator aggregator { get; private set; }
Gee.ArrayList<ContactData> contacts;
string []? filter_values;
@@ -43,6 +44,18 @@ public class Contacts.Store {
return a.display_name.collate (b.display_name);
});
list_store.set_sort_column_id (0, SortType.ASCENDING);
+
+ aggregator = new IndividualAggregator ();
+ aggregator.individuals_changed.connect ((added, removed, m, a, r) => {
+ foreach (Individual i in removed) {
+ this.remove (Contact.from_individual (i));
+ }
+ foreach (Individual i in added) {
+ var c = new Contact (i);
+ this.add (c);
+ }
+ });
+ aggregator.prepare ();
}
public TreeModel model { get { return list_store; } }