Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/src/sugar/activity/activity.py
diff options
context:
space:
mode:
authorTomeu Vizoso <tomeu@tomeuvizoso.net>2008-06-26 14:20:27 (GMT)
committer Tomeu Vizoso <tomeu@tomeuvizoso.net>2008-07-03 10:30:33 (GMT)
commit7c5fa614a6640707343ac509537adf9e9e035ea7 (patch)
tree0f92b5f0ca1891f2b6adf95f66778379d1aa0d6f /src/sugar/activity/activity.py
parent73fe1e98370fa70d2f854683ff69c9e8a3cb98d0 (diff)
#7054 Set activity initiator's colors in the journal entry
Diffstat (limited to 'src/sugar/activity/activity.py')
-rw-r--r--src/sugar/activity/activity.py51
1 files changed, 24 insertions, 27 deletions
diff --git a/src/sugar/activity/activity.py b/src/sugar/activity/activity.py
index 3c35de5..95d2960 100644
--- a/src/sugar/activity/activity.py
+++ b/src/sugar/activity/activity.py
@@ -439,6 +439,7 @@ class Activity(Window, gtk.Container):
self._deleting = False
self._max_participants = 0
self._invites_queue = []
+ self._jobject = None
self._xsmp_client = XSMPClient()
self._xsmp_client.connect('quit-requested', self.__sm_quit_requested_cb)
@@ -467,33 +468,6 @@ class Activity(Window, gtk.Container):
if self._jobject.metadata.has_key('share-scope'):
share_scope = self._jobject.metadata['share-scope']
- elif create_jobject:
- logging.debug('Creating a jobject.')
- self._jobject = datastore.create()
- title = _('%s Activity') % get_bundle_name()
- self._jobject.metadata['title'] = title
- self.set_title(self._jobject.metadata['title'])
- self._jobject.metadata['title_set_by_user'] = '0'
- self._jobject.metadata['activity'] = self.get_bundle_id()
- self._jobject.metadata['activity_id'] = self.get_id()
- self._jobject.metadata['keep'] = '0'
- self._jobject.metadata['preview'] = ''
- self._jobject.metadata['share-scope'] = SCOPE_PRIVATE
-
- if self._shared_activity is not None:
- icon_color = self._shared_activity.props.color
- else:
- icon_color = profile.get_color().to_string()
-
- self._jobject.metadata['icon-color'] = icon_color
-
- self._jobject.file_path = ''
- # Cannot call datastore.write async for creates:
- # https://dev.laptop.org/ticket/3071
- datastore.write(self._jobject)
- else:
- self._jobject = None
-
# handle activity share/join
mesh_instance = self._pservice.get_activity(self._activity_id,
warn_if_none=False)
@@ -524,6 +498,29 @@ class Activity(Window, gtk.Container):
else:
logging.debug("Unknown share scope %r" % share_scope)
+ if handle.object_id is None and create_jobject:
+ logging.debug('Creating a jobject.')
+ self._jobject = datastore.create()
+ title = _('%s Activity') % get_bundle_name()
+ self._jobject.metadata['title'] = title
+ self.set_title(self._jobject.metadata['title'])
+ self._jobject.metadata['title_set_by_user'] = '0'
+ self._jobject.metadata['activity'] = self.get_bundle_id()
+ self._jobject.metadata['activity_id'] = self.get_id()
+ self._jobject.metadata['keep'] = '0'
+ self._jobject.metadata['preview'] = ''
+ self._jobject.metadata['share-scope'] = SCOPE_PRIVATE
+ if self._shared_activity is not None:
+ icon_color = self._shared_activity.props.color
+ else:
+ icon_color = profile.get_color().to_string()
+ self._jobject.metadata['icon-color'] = icon_color
+
+ self._jobject.file_path = ''
+ # Cannot call datastore.write async for creates:
+ # https://dev.laptop.org/ticket/3071
+ datastore.write(self._jobject)
+
def do_set_property(self, pspec, value):
if pspec.name == 'active':
if self._active != value: