diff options
author | Marco Pesenti Gritti <mpg@redhat.com> | 2007-02-21 16:28:49 (GMT) |
---|---|---|
committer | Marco Pesenti Gritti <mpg@redhat.com> | 2007-02-21 16:28:49 (GMT) |
commit | f5b13b716e86f18d0d9c624b9381d9d721b4c892 (patch) | |
tree | ca73eb7aa869e15e80fc9331e1d6f9198b043e0c /shell/model/homemodel.py | |
parent | c05b179675afd326ca80540cd55cfd1900e2970f (diff) |
Do not expose the service names from Activity.
This create quite a bit of duplication, but I have to start somewhere cleaning this mess :/
Diffstat (limited to 'shell/model/homemodel.py')
-rw-r--r-- | shell/model/homemodel.py | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/shell/model/homemodel.py b/shell/model/homemodel.py index 40d8bd7..bc45a0a 100644 --- a/shell/model/homemodel.py +++ b/shell/model/homemodel.py @@ -18,10 +18,14 @@ import logging import gobject import wnck +import dbus from model.homeactivity import HomeActivity from sugar.activity import Activity +_ACTIVITY_SERVICE_NAME = "org.laptop.Activity" +_ACTIVITY_SERVICE_PATH = "/org/laptop/Activity" + class HomeModel(gobject.GObject): __gsignals__ = { @@ -114,7 +118,10 @@ class HomeModel(gobject.GObject): self.emit('active-activity-changed', self._current_activity) def _add_activity(self, window): - act_service = Activity.get_service(window.get_xid()) + bus = dbus.SessionBus() + xid = window.get_xid() + act_service = bus.get_object(_ACTIVITY_SERVICE_NAME + '%d' % xid, + _ACTIVITY_SERVICE_PATH + "/%s" % xid) act_id = act_service.get_id() activity = None @@ -128,7 +135,7 @@ class HomeModel(gobject.GObject): if not bundle: raise RuntimeError("No bundle for activity type '%s'." % act_type) return - activity = HomeActivity(bundle, act_id) + activity = HomeActivity(act_service, bundle) self._activities[act_id] = activity activity.set_window(window) |