diff options
author | Dan Williams <dcbw@redhat.com> | 2007-04-26 20:51:37 (GMT) |
---|---|---|
committer | Dan Williams <dcbw@redhat.com> | 2007-04-26 20:51:37 (GMT) |
commit | 511c666a4a602bcf4e962593a9874a37a845a3af (patch) | |
tree | d28decc81216b25aabe1a771ee7f46a9bd08ac56 /sugar/presence | |
parent | 274cc65c4e2eb781a26a1485c212fc311b2bbb63 (diff) |
Fix current activity property; get activities when buddy is created
Diffstat (limited to 'sugar/presence')
-rw-r--r-- | sugar/presence/buddy.py | 12 |
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": |