diff --git a/src/sugar/activity/activity.py b/src/sugar/activity/activity.py index 53e60621..fce1a123 100644 --- a/src/sugar/activity/activity.py +++ b/src/sugar/activity/activity.py @@ -340,6 +340,8 @@ class Activity(Window, gtk.Container): self._jobject.metadata['icon-color'] = \ self.shared_activity.props.color self.set_title(self._jobject.metadata['title']) + self._jobject.metadata.connect('updated', + self.__jobject_updated_cb) def _initialize_journal_object(self): title = _('%s Activity') % get_bundle_name() @@ -364,6 +366,11 @@ class Activity(Window, gtk.Container): return jobject + def __jobject_updated_cb(self, jobject): + if self.get_title() == jobject['title']: + return + self.set_title(jobject['title']) + def _set_up_sharing(self, mesh_instance, share_scope): # handle activity share/join logging.debug('*** Act %s, mesh instance %r, scope %s', diff --git a/src/sugar/activity/widgets.py b/src/sugar/activity/widgets.py index e7a47cbc..9503d362 100644 --- a/src/sugar/activity/widgets.py +++ b/src/sugar/activity/widgets.py @@ -224,6 +224,8 @@ class TitleEntry(gtk.ToolItem): activity.metadata['title_set_by_user'] = '1' activity.save() + activity.set_title(title) + shared_activity = activity.get_shared_activity() if shared_activity is not None: shared_activity.props.name = title