From 0947581a113af6eaa3660ae37b2720c4806ab0e8 Mon Sep 17 00:00:00 2001 From: Marco Pesenti Gritti Date: Wed, 26 Jul 2006 10:57:54 +0000 Subject: A bunch of fixes... --- (limited to 'sugar') diff --git a/sugar/activity/Activity.py b/sugar/activity/Activity.py index c5f4f1a..faaa7d8 100644 --- a/sugar/activity/Activity.py +++ b/sugar/activity/Activity.py @@ -7,6 +7,8 @@ import dbus.glib import gtk import gobject +from sugar.presence.PresenceService import PresenceService + # Work around for dbus mutex locking issue gtk.gdk.threads_init() dbus.glib.threads_init() @@ -55,9 +57,10 @@ class ActivityFactory(dbus.service.Object): dbus.service.Object.__init__(self, bus_name, get_path(factory)) @dbus.service.method("com.redhat.Sugar.ActivityFactory") - def create_with_service(self, serialized_service, args): - service = Service.deserialize(serialized_service) - activity = self._class(service, args) + def create_with_service(self, service_path): + pservice = PresenceService() + service = pservice._new_object(service_path) + activity = self._class(service, []) @dbus.service.method("com.redhat.Sugar.ActivityFactory") def create(self): @@ -74,9 +77,9 @@ def create(activity_name, service = None, args = None): proxy_obj = bus.get_object(factory_name, factory_path) factory = dbus.Interface(proxy_obj, "com.redhat.Sugar.ActivityFactory") - if service and args: - serialized_service = service.serialize(service) - factory.create_with_service(serialized_service, args) + if service: + print service.object_path() + factory.create_with_service(service.object_path()) else: factory.create() @@ -148,8 +151,8 @@ class Activity(gtk.Window): def __init__(self, service = None): gtk.Window.__init__(self) - if service and service.has_key('activity_id'): - self._activity_id = service['activity_id'] + if service: + self._activity_id = service.get_id() self._shared = True else: self._activity_id = sugar.util.unique_id() diff --git a/sugar/chat/ActivityChat.py b/sugar/chat/ActivityChat.py index 9e74f8d..645b5e4 100644 --- a/sugar/chat/ActivityChat.py +++ b/sugar/chat/ActivityChat.py @@ -16,9 +16,9 @@ class ActivityChat(GroupChat): # Find an existing activity chat to latch onto ps_activity = self._pservice.get_activity(activity.get_id()) if ps_activity is not None: - service = ps_activity.get_service_of_type(ActivityChat.SERVICE_TYPE) - if service is not None: - self._service_appeared_cb(self._pservice, service) + services = ps_activity.get_services_of_type(ActivityChat.SERVICE_TYPE) + if len(services) > 0: + self._service_appeared_cb(self._pservice, services[0]) def _service_appeared_cb(self, pservice, service): if service.get_activity_id() != self._activity.get_id(): -- cgit v0.9.1