diff options
author | Alexander Larsson <alexl@redhat.com> | 2011-06-29 13:37:20 +0200 |
---|---|---|
committer | Alexander Larsson <alexl@redhat.com> | 2011-06-29 13:37:20 +0200 |
commit | 8218001101caab72d02bdc75612d750a987b1d4f (patch) | |
tree | d8badd7a9e02d032f38e674a2d46e41da0e976e1 /src/contacts-store.vala | |
parent | 171c6b9f3312c5ab32891103bed2beb46261e095 (diff) | |
download | gnome-contacts-8218001101caab72d02bdc75612d750a987b1d4f.tar.gz |
Move the aggregator into the contacts store
Diffstat (limited to 'src/contacts-store.vala')
-rw-r--r-- | src/contacts-store.vala | 13 |
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; } } |