From 29a730e0a47b952855b7bd7f84073461729578a1 Mon Sep 17 00:00:00 2001 From: Marco Pesenti Gritti Date: Fri, 16 Jun 2006 15:21:09 -0400 Subject: [PATCH] Monitor service addition and update buddy list on these. --- sugar/presence/Buddy.py | 1 - sugar/shell/PresenceWindow.py | 8 ++++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/sugar/presence/Buddy.py b/sugar/presence/Buddy.py index 9b5e3584..f132c055 100644 --- a/sugar/presence/Buddy.py +++ b/sugar/presence/Buddy.py @@ -9,7 +9,6 @@ from sugar.p2p import network PRESENCE_SERVICE_TYPE = "_presence_olpc._tcp" - class Buddy(gobject.GObject): """Represents another person on the network and keeps track of the activities and resources they make available for sharing.""" diff --git a/sugar/shell/PresenceWindow.py b/sugar/shell/PresenceWindow.py index c6acd4e1..b0ed11ae 100644 --- a/sugar/shell/PresenceWindow.py +++ b/sugar/shell/PresenceWindow.py @@ -126,7 +126,15 @@ class PresenceWindow(gtk.Window): self._MODEL_COL_BUDDY, buddy, self._MODEL_COL_VISIBLE, self._is_buddy_visible(buddy)) buddy.connect('icon-changed', self.__buddy_icon_changed_cb) + buddy.connect('service-added', self.__buddy_service_added_cb) + buddy.connect('service-removed', self.__buddy_service_removed_cb) + def __buddy_service_added_cb(self, buddy, service): + self._update_buddies_visibility() + + def __buddy_service_remove_cb(self, buddy, service): + self._update_buddies_visibility() + def _on_buddy_disappeared_cb(self, pservice, buddy): aniter = self._get_iter_for_buddy(buddy) if aniter: