summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNiels De Graef <nielsdegraef@gmail.com>2018-02-15 18:25:40 +0100
committerNiels De Graef <nielsdegraef@gmail.com>2018-02-17 15:32:39 +0100
commit1904f2df30a93664c17888cccdecf644a41c9c1b (patch)
tree5c185471ec8a7ff649eb1e6c6ea7e161b7b9032e
parent0801f5b074d2465d1efd8831dc05eabbe64a73f1 (diff)
downloadgnome-contacts-1904f2df30a93664c17888cccdecf644a41c9c1b.tar.gz
Contact: remove the personas_changed signal.
This is basically just a wrapper around Individual::personas_changed, so use that instead. This allows us to simplify some of the code.
-rw-r--r--src/contacts-contact-pane.vala4
-rw-r--r--src/contacts-contact.vala31
-rw-r--r--src/contacts-store.vala5
3 files changed, 13 insertions, 27 deletions
diff --git a/src/contacts-contact-pane.vala b/src/contacts-contact-pane.vala
index beb6c1c..54e0b4a 100644
--- a/src/contacts-contact-pane.vala
+++ b/src/contacts-contact-pane.vala
@@ -133,7 +133,7 @@ public class Contacts.ContactPane : Stack {
}
if (contact != null) {
- contact.personas_changed.disconnect (update_sheet);
+ contact.individual.personas_changed.disconnect (update_sheet);
contact.changed.disconnect (update_sheet);
}
@@ -142,8 +142,8 @@ public class Contacts.ContactPane : Stack {
update_sheet ();
if (contact != null) {
- contact.personas_changed.connect (update_sheet);
contact.changed.connect (update_sheet);
+ contact.individual.personas_changed.connect (update_sheet);
}
if (contact == null)
diff --git a/src/contacts-contact.vala b/src/contacts-contact.vala
index 387ca17..f88cf39 100644
--- a/src/contacts-contact.vala
+++ b/src/contacts-contact.vala
@@ -30,7 +30,6 @@ public class Contacts.Contact : GLib.Object {
public Individual individual;
uint changed_id;
- bool changed_personas;
public Persona? fake_persona = null;
@@ -48,7 +47,6 @@ public class Contacts.Contact : GLib.Object {
}
public signal void changed ();
- public signal void personas_changed ();
private bool _is_hidden;
private bool _is_hidden_uptodate;
@@ -98,13 +96,13 @@ public class Contacts.Contact : GLib.Object {
public void hide () {
_is_hidden_to_delete = true;
- queue_changed (false);
+ queue_changed ();
}
public void show () {
_is_hidden_to_delete = false;
- queue_changed (false);
+ queue_changed ();
}
public static Contact from_individual (Individual i) {
@@ -135,10 +133,6 @@ public class Contacts.Contact : GLib.Object {
is_main = calc_is_main ();
- individual.personas_changed.connect ( (added, removed) => {
- queue_changed (true);
- });
-
update ();
individual.notify.connect(notify_cb);
@@ -149,7 +143,7 @@ public class Contacts.Contact : GLib.Object {
individual = new_individual;
individual.set_data ("contact", this);
individual.notify.connect(notify_cb);
- queue_changed (true);
+ queue_changed ();
}
public void remove () {
@@ -277,14 +271,10 @@ public class Contacts.Contact : GLib.Object {
#endif
private bool changed_cb () {
- changed_id = 0;
- var changed_personas = this.changed_personas;
- this.changed_personas = false;
+ this.changed_id = 0;
this.is_main = calc_is_main ();
update ();
changed ();
- if (changed_personas)
- personas_changed ();
return false;
}
@@ -295,18 +285,15 @@ public class Contacts.Contact : GLib.Object {
}
}
- public void queue_changed (bool is_persona_change) {
- _is_hidden_uptodate = false;
- changed_personas |= is_persona_change;
-
- if (changed_id != 0)
- return;
+ public void queue_changed () {
+ this._is_hidden_uptodate = false;
- changed_id = Idle.add (changed_cb);
+ if (this.changed_id == 0)
+ this.changed_id = Idle.add (changed_cb);
}
private void notify_cb (ParamSpec pspec) {
- queue_changed (false);
+ queue_changed ();
}
private void update () {
diff --git a/src/contacts-store.vala b/src/contacts-store.vala
index c18e44f..b4836b8 100644
--- a/src/contacts-store.vala
+++ b/src/contacts-store.vala
@@ -48,9 +48,8 @@ public class Contacts.Store : GLib.Object {
}
public void refresh () {
- foreach (var c in contacts) {
- c.queue_changed (true);
- }
+ foreach (var c in contacts)
+ c.queue_changed ();
}
private bool individual_can_replace_at_split (Individual new_individual) {