Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/sugar/presence
diff options
context:
space:
mode:
authorDan Williams <dcbw@redhat.com>2007-04-26 20:51:37 (GMT)
committer Dan Williams <dcbw@redhat.com>2007-04-26 20:51:37 (GMT)
commit511c666a4a602bcf4e962593a9874a37a845a3af (patch)
treed28decc81216b25aabe1a771ee7f46a9bd08ac56 /sugar/presence
parent274cc65c4e2eb781a26a1485c212fc311b2bbb63 (diff)
Fix current activity property; get activities when buddy is created
Diffstat (limited to 'sugar/presence')
-rw-r--r--sugar/presence/buddy.py12
1 files changed, 8 insertions, 4 deletions
diff --git a/sugar/presence/buddy.py b/sugar/presence/buddy.py
index 048f3ea..f21c883 100644
--- a/sugar/presence/buddy.py
+++ b/sugar/presence/buddy.py
@@ -64,7 +64,7 @@ class Buddy(gobject.GObject):
'icon' : (object, None, None, gobject.PARAM_READABLE),
'nick' : (str, None, None, None, gobject.PARAM_READABLE),
'color' : (str, None, None, None, gobject.PARAM_READABLE),
- 'current-activity' : (str, None, None, None, gobject.PARAM_READABLE),
+ 'current-activity' : (object, None, None, gobject.PARAM_READABLE),
'owner' : (bool, None, None, False, gobject.PARAM_READABLE)
}
@@ -93,6 +93,9 @@ class Buddy(gobject.GObject):
self._properties = self._get_properties_helper()
self._activities = {}
+ activities = self._buddy.GetJoinedActivities()
+ for op in activities:
+ self._activities[op] = self._ps_new_object(op)
self._icon = None
def _get_properties_helper(self):
@@ -121,9 +124,10 @@ class Buddy(gobject.GObject):
curact = self._properties["current-activity"]
if not len(curact):
return None
- if not self._activities.has_key(curact):
- return None
- return self._activities[curact]
+ for activity in self._activities.values():
+ if activity.props.id == curact:
+ return activity
+ return None
elif pspec.name == "owner":
return self._properties["owner"]
elif pspec.name == "icon":