Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/shell
diff options
context:
space:
mode:
authorDan Williams <dcbw@redhat.com>2006-10-19 19:06:01 (GMT)
committer Dan Williams <dcbw@redhat.com>2006-10-19 19:06:01 (GMT)
commit4a09253f5f848a8557d97a1c58467a6e5ff9464a (patch)
treec443a5e4a616d89007fff9fcbd09cd010f2074aa /shell
parentcacb967ec3b1c7319621880930a76e50b254c8b7 (diff)
Add initial activities & protect against addition/removal of buddies we don't know about
Diffstat (limited to 'shell')
-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):