diff options
author | Tomeu Vizoso <tomeu@tomeuvizoso.net> | 2008-09-10 14:30:41 (GMT) |
---|---|---|
committer | Tomeu Vizoso <tomeu@tomeuvizoso.net> | 2008-09-10 14:36:25 (GMT) |
commit | f0ff3b8fac71bc1961bba13b68c458950c9e7d0a (patch) | |
tree | da03fdcbad2c34b35bcdbc8d0513573cfaf796a4 /src/model | |
parent | 55656f007b14805a219cf0397d9608c9190637bd (diff) |
Merge the journal into the shell
Diffstat (limited to 'src/model')
-rw-r--r-- | src/model/homeactivity.py | 18 | ||||
-rw-r--r-- | src/model/homemodel.py | 6 |
2 files changed, 14 insertions, 10 deletions
diff --git a/src/model/homeactivity.py b/src/model/homeactivity.py index 9dc4f9c..bde7fa3 100644 --- a/src/model/homeactivity.py +++ b/src/model/homeactivity.py @@ -16,6 +16,7 @@ import time import logging +import os import gobject import dbus @@ -23,6 +24,9 @@ import dbus from sugar.graphics.xocolor import XoColor from sugar.presence import presenceservice from sugar import profile +from sugar import wm + +import config _SERVICE_NAME = "org.laptop.Activity" _SERVICE_PATH = "/org/laptop/Activity" @@ -44,7 +48,7 @@ class HomeActivity(gobject.GObject): gobject.PARAM_READWRITE), } - def __init__(self, activity_info, activity_id): + def __init__(self, activity_info, activity_id, window=None): """Initialise the HomeActivity activity_info -- sugar.activity.registry.ActivityInfo instance, @@ -53,10 +57,11 @@ class HomeActivity(gobject.GObject): the "type" of activity being created. activity_id -- unique identifier for this instance of the activity type + window -- Main WnckWindow of the activity """ gobject.GObject.__init__(self) - self._window = None + self._window = window self._xid = None self._pid = None self._service = None @@ -105,7 +110,9 @@ class HomeActivity(gobject.GObject): def get_icon_path(self): """Retrieve the activity's icon (file) name""" - if self._activity_info: + if self.is_journal(): + return os.path.join(config.data_path, 'icons/activity-journal.svg') + elif self._activity_info: return self._activity_info.icon else: return None @@ -162,10 +169,7 @@ class HomeActivity(gobject.GObject): def get_type(self): """Retrieve the activity bundle id for future reference""" - if self._activity_info: - return self._activity_info.bundle_id - else: - return None + return wm.get_bundle_id(self._window) def is_journal(self): """Returns boolean if the activity is of type JournalActivity""" diff --git a/src/model/homemodel.py b/src/model/homemodel.py index 9f3db8e..668b60e 100644 --- a/src/model/homemodel.py +++ b/src/model/homemodel.py @@ -169,10 +169,10 @@ class HomeModel(gobject.GObject): home_activity = self._get_activity_by_id(activity_id) if not home_activity: - home_activity = HomeActivity(activity_info, activity_id) + home_activity = HomeActivity(activity_info, activity_id, window) self._add_activity(home_activity) - - home_activity.set_window(window) + else: + home_activity.set_window(window) if get_sugar_window_type(window) != 'launcher': home_activity.props.launching = False |