diff options
author | Gonzalo Odiard <godiard@gmail.com> | 2013-09-02 14:31:37 (GMT) |
---|---|---|
committer | Gonzalo Odiard <godiard@gmail.com> | 2013-09-02 14:42:07 (GMT) |
commit | 181c0a8dfc5fd434a978498840586e3d2b3637ba (patch) | |
tree | 5e2f3f06a679e3cecc07cb5b324a9cb32c57b40a /OficinaActivity.py | |
parent | 583df7a03f81a73ae392a63575ef05b1dbe70c4b (diff) |
Save and restore tools state in the metadata - SL #2708
Signed-off-by: Puneet Kaur <puneet.gkaur@gmail.com>
Acked-by: Gonzalo Odiard <gonzalo@laptop.org>
Diffstat (limited to 'OficinaActivity.py')
-rw-r--r-- | OficinaActivity.py | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/OficinaActivity.py b/OficinaActivity.py index b30b203..02fb13c 100644 --- a/OficinaActivity.py +++ b/OficinaActivity.py @@ -65,6 +65,7 @@ from gi.repository import Gtk from gi.repository import Gdk from gi.repository import GObject import logging +import json from sugar3.activity import activity from sugar3.graphics import style @@ -108,6 +109,8 @@ class OficinaActivity(activity.Activity): self._sw.set_policy(Gtk.PolicyType.NEVER, Gtk.PolicyType.AUTOMATIC) self.set_canvas(self._sw) + self.toolset_intialize_from_journal() + toolbar_box = DrawToolbarBox(self) toolbar_box.show_all() @@ -209,6 +212,8 @@ class OficinaActivity(activity.Activity): self.area.getout() self.area.drawing_canvas.write_to_png(file_path) self.metadata['mime_type'] = 'image/png' + self.metadata['state'] = json.dumps(self.area.tool) + logging.debug('Wrote metadata[\'state\']: %s', self.metadata['state']) def _get_area_displacement(self): """Return the point to use as top left corner in order to move @@ -231,3 +236,10 @@ class OficinaActivity(activity.Activity): def move_textview(self, dx, dy): x, y = self._get_area_displacement() self.fixed.move(self.textview, x + dx, y + dy) + + def toolset_intialize_from_journal(self): + try: + self.area.tool = json.loads(self.metadata['state']) + logging.debug('self.area.tool %s', self.area.tool) + except Exception as e: + logging.error("exception %s", e) |