Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/OficinaActivity.py
diff options
context:
space:
mode:
authorGonzalo Odiard <godiard@gmail.com>2013-09-02 14:31:37 (GMT)
committer Gonzalo Odiard <godiard@gmail.com>2013-09-02 14:42:07 (GMT)
commit181c0a8dfc5fd434a978498840586e3d2b3637ba (patch)
tree5e2f3f06a679e3cecc07cb5b324a9cb32c57b40a /OficinaActivity.py
parent583df7a03f81a73ae392a63575ef05b1dbe70c4b (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.py12
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)