diff options
author | Dan Williams <dcbw@redhat.com> | 2006-10-19 19:06:01 (GMT) |
---|---|---|
committer | Dan Williams <dcbw@redhat.com> | 2006-10-19 19:06:01 (GMT) |
commit | 4a09253f5f848a8557d97a1c58467a6e5ff9464a (patch) | |
tree | c443a5e4a616d89007fff9fcbd09cd010f2074aa | |
parent | cacb967ec3b1c7319621880930a76e50b254c8b7 (diff) |
Add initial activities & protect against addition/removal of buddies we don't know about
-rw-r--r-- | shell/view/frame/FriendsBox.py | 10 |
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): |