diff options
author | Simon Schampijer <simon@schampijer.de> | 2010-09-01 15:08:45 (GMT) |
---|---|---|
committer | Simon Schampijer <simon@schampijer.de> | 2010-09-01 15:08:45 (GMT) |
commit | 0ba47d0e66c0281c8e5c537e0b98c11bdc0a8e3f (patch) | |
tree | 8dfbe05b76c6494190c647cec0f960d897629cef | |
parent | 74bb21216f2fc437f8182368e5bfaa97691eef03 (diff) |
Save title when closing #1948
-rw-r--r-- | src/sugar/activity/activity.py | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/sugar/activity/activity.py b/src/sugar/activity/activity.py index 3e97485..6f204b3 100644 --- a/src/sugar/activity/activity.py +++ b/src/sugar/activity/activity.py @@ -99,6 +99,7 @@ class ActivityToolbar(gtk.Toolbar): self._activity = activity self._updating_share = False + self._focus_out_hid = None activity.connect('shared', self.__activity_shared_cb) activity.connect('joined', self.__activity_shared_cb) @@ -109,7 +110,8 @@ class ActivityToolbar(gtk.Toolbar): self.title = gtk.Entry() self.title.set_size_request(int(gtk.gdk.screen_width() / 3), -1) self.title.set_text(activity.metadata['title']) - self.title.connect('focus-out-event', self.__title_changed_cb) + self._focus_out_hid = self.title.connect('focus-out-event', + self.__title_changed_cb) self._add_widget(self.title) activity.metadata.connect('updated', self.__jobject_updated_cb) @@ -176,6 +178,9 @@ class ActivityToolbar(gtk.Toolbar): self._activity.copy() def __stop_clicked_cb(self, button): + if self._focus_out_hid is not None: + self.title.disconnect(self._focus_out_hid) + self._update_title(self.title.get_text()) self._activity.close() def __jobject_updated_cb(self, jobject): @@ -183,7 +188,9 @@ class ActivityToolbar(gtk.Toolbar): def __title_changed_cb(self, editable, event): title = editable.get_text() + self._update_title(title) + def _update_title(self, title): # Title really changed? if title == self._activity.metadata['title']: return False |