From 7c5fa614a6640707343ac509537adf9e9e035ea7 Mon Sep 17 00:00:00 2001 From: Tomeu Vizoso Date: Thu, 26 Jun 2008 14:20:27 +0000 Subject: #7054 Set activity initiator's colors in the journal entry --- (limited to 'src/sugar/activity/activity.py') 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: -- cgit v0.9.1