[gnome-contacts] Add added/changed/removed signals to ContactsStore
- From: Alexander Larsson <alexl src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-contacts] Add added/changed/removed signals to ContactsStore
- Date: Tue, 9 Aug 2011 10:59:14 +0000 (UTC)
commit 025f48332edc2f82b1d5f01a90a09c5874e3f6ac
Author: Alexander Larsson <alexl redhat com>
Date: Tue Aug 9 12:30:07 2011 +0200
Add added/changed/removed signals to ContactsStore
src/contacts-store.vala | 16 +++++++++++++---
1 files changed, 13 insertions(+), 3 deletions(-)
---
diff --git a/src/contacts-store.vala b/src/contacts-store.vala
index 1d1321f..fda1971 100644
--- a/src/contacts-store.vala
+++ b/src/contacts-store.vala
@@ -28,6 +28,10 @@ public class Contacts.Store {
public bool is_first;
}
+ public signal void changed (Contact c);
+ public signal void added (Contact c);
+ public signal void removed (Contact c);
+
ListStore list_store;
public IndividualAggregator aggregator { get; private set; }
Gee.ArrayList<ContactData> contacts;
@@ -187,7 +191,7 @@ public class Contacts.Store {
refilter ();
}
- private void contact_changed (Contact c) {
+ private void contact_changed_cb (Contact c) {
ContactData data = lookup_data (c);
bool was_visible = data.visible;
@@ -212,6 +216,8 @@ public class Contacts.Store {
if (next != null)
update_is_first (next, data);
}
+
+ changed (c);
}
private ContactData lookup_data (Contact c) {
@@ -236,13 +242,15 @@ public class Contacts.Store {
contacts.add (data);
- c.changed.connect (contact_changed);
+ c.changed.connect (contact_changed_cb);
update_visible (data);
+
+ added (c);
}
public void remove (Contact c) {
- c.changed.disconnect (contact_changed);
+ c.changed.disconnect (contact_changed_cb);
var data = lookup_data (c);
if (data.visible)
@@ -254,5 +262,7 @@ public class Contacts.Store {
contacts.remove_at (contacts.size - 1);
c.set_data ("contact-data", null);
+
+ removed (c);
}
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]