Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/src/model
diff options
context:
space:
mode:
authorTomeu Vizoso <tomeu@tomeuvizoso.net>2008-09-10 14:30:41 (GMT)
committer Tomeu Vizoso <tomeu@tomeuvizoso.net>2008-09-10 14:36:25 (GMT)
commitf0ff3b8fac71bc1961bba13b68c458950c9e7d0a (patch)
treeda03fdcbad2c34b35bcdbc8d0513573cfaf796a4 /src/model
parent55656f007b14805a219cf0397d9608c9190637bd (diff)
Merge the journal into the shell
Diffstat (limited to 'src/model')
-rw-r--r--src/model/homeactivity.py18
-rw-r--r--src/model/homemodel.py6
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