Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/shell/model/homeactivity.py
diff options
context:
space:
mode:
authorMarco Pesenti Gritti <marco@localhost.localdomain>2006-12-24 13:35:02 (GMT)
committer Marco Pesenti Gritti <marco@localhost.localdomain>2006-12-24 13:35:02 (GMT)
commit0d1e07d9c34a4e1c24cc5f374963ad55b7ee035b (patch)
tree0944f7fecc4464728d5cd821ce985d38c804d912 /shell/model/homeactivity.py
parent2db2ae531208cdb58c448f4bd4a91f8ea947066a (diff)
Split ActivityHost in model/view. Refactor accordingly.
Diffstat (limited to 'shell/model/homeactivity.py')
-rw-r--r--shell/model/homeactivity.py37
1 files changed, 30 insertions, 7 deletions
diff --git a/shell/model/homeactivity.py b/shell/model/homeactivity.py
index 8c4d232..b38fc36 100644
--- a/shell/model/homeactivity.py
+++ b/shell/model/homeactivity.py
@@ -14,19 +14,42 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-from sugar.graphics.canvasicon import CanvasIcon
+from sugar.presence import PresenceService
+from sugar.activity import Activity
+from sugar import profile
class HomeActivity:
- def __init__(self, activity):
- self._icon_name = activity.get_icon_name()
- self._icon_color = activity.get_icon_color()
- self._id = activity.get_id()
-
+ def __init__(self, registry, window):
+ self._window = window
+
+ self._service = Activity.get_service(window.get_xid())
+ self._id = self._service.get_id()
+ self._type = self._service.get_type()
+
+ info = registry.get_bundle(self._type)
+ self._icon_name = info.get_icon()
+
+ def get_title(self):
+ return self._window.get_name()
+
def get_icon_name(self):
return self._icon_name
def get_icon_color(self):
- return self._icon_color
+ activity = PresenceService.get_instance().get_activity(self._id)
+ if activity != None:
+ return IconColor(activity.get_color())
+ else:
+ return profile.get_color()
def get_id(self):
return self._id
+
+ def get_window(self):
+ return self._window
+
+ def get_type(self):
+ return self._type
+
+ def get_shared(self):
+ return self._service.get_shared()