diff options
author | Dan Williams <dcbw@localhost.localdomain> | 2006-09-08 03:30:22 (GMT) |
---|---|---|
committer | Dan Williams <dcbw@localhost.localdomain> | 2006-09-08 03:30:22 (GMT) |
commit | e2306d81bd15455d1f0639d0ceaea091b7c2a127 (patch) | |
tree | 42a8f8242c0bdbfe30a9e7330defdfe86c1c5ebb /sugar/presence | |
parent | 4c167037d4789d37f4627460b55bab0fd1e407ca (diff) |
Add PropertyChanged signal for Buddy objects because color and address can change later. Also don't try to stuff None through dbus
Diffstat (limited to 'sugar/presence')
-rw-r--r-- | sugar/presence/Buddy.py | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/sugar/presence/Buddy.py b/sugar/presence/Buddy.py index dc5427d..7d4f9ac 100644 --- a/sugar/presence/Buddy.py +++ b/sugar/presence/Buddy.py @@ -14,6 +14,8 @@ class Buddy(gobject.GObject): 'joined-activity': (gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE, ([gobject.TYPE_PYOBJECT])), 'left-activity': (gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE, + ([gobject.TYPE_PYOBJECT])), + 'property-changed': (gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE, ([gobject.TYPE_PYOBJECT])) } @@ -34,9 +36,7 @@ class Buddy(gobject.GObject): self._buddy.connect_to_signal('JoinedActivity', self._joined_activity_cb) self._buddy.connect_to_signal('LeftActivity', self._left_activity_cb) self._buddy.connect_to_signal('PropertyChanged', self._property_changed_cb) - self._properties = self._buddy.getProperties() - if not self._properties.has_key('color'): - self._properties['color'] = "#deadbe" + self._property_changed_cb([]) def object_path(self): return self._object_path @@ -78,6 +78,8 @@ class Buddy(gobject.GObject): def _handle_property_changed_signal(self, prop_list): self._properties = self._buddy.getProperties() + self.emit('property-changed', prop_list) + return False def _property_changed_cb(self, prop_list): gobject.idle_add(self._handle_property_changed_signal, prop_list) |