From 4a09253f5f848a8557d97a1c58467a6e5ff9464a Mon Sep 17 00:00:00 2001 From: Dan Williams Date: Thu, 19 Oct 2006 15:06:01 -0400 Subject: [PATCH] Add initial activities & protect against addition/removal of buddies we don't know about --- shell/view/frame/FriendsBox.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/shell/view/frame/FriendsBox.py b/shell/view/frame/FriendsBox.py index 57e9528f..14f1290d 100644 --- a/shell/view/frame/FriendsBox.py +++ b/shell/view/frame/FriendsBox.py @@ -37,9 +37,16 @@ class FriendsBox(hippo.CanvasBox): self._pservice.connect('activity-appeared', self.__activity_appeared_cb) + # Add initial activities the PS knows about + for activity in self._pservice.get_activities(): + self.__activity_appeared_cb(self._pservice, activity) + shell.connect('activity-changed', self.__activity_changed_cb) def add_buddy(self, buddy): + if self._buddies.has_key(buddy.get_name()): + return + model = BuddyModel(buddy=buddy) icon = BuddyIcon(self._shell, self._menu_shell, model) style.apply_stylesheet(icon, 'frame.BuddyIcon') @@ -48,6 +55,9 @@ class FriendsBox(hippo.CanvasBox): self._buddies[buddy.get_name()] = icon def remove_buddy(self, buddy): + if not self._buddies.has_key(buddy.get_name()): + return + self.remove(self._buddies[buddy.get_name()]) def clear(self):