Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--shell/view/frame/FriendsBox.py10
1 files changed, 10 insertions, 0 deletions
diff --git a/shell/view/frame/FriendsBox.py b/shell/view/frame/FriendsBox.py
index 57e9528..14f1290 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):