Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/src/sugar/activity
diff options
context:
space:
mode:
Diffstat (limited to 'src/sugar/activity')
-rw-r--r--src/sugar/activity/activity.py43
1 files changed, 36 insertions, 7 deletions
diff --git a/src/sugar/activity/activity.py b/src/sugar/activity/activity.py
index 21e38f6..3e2d3d4 100644
--- a/src/sugar/activity/activity.py
+++ b/src/sugar/activity/activity.py
@@ -77,6 +77,7 @@ from sugar.datastore import datastore
from sugar.session import XSMPClient
from sugar import wm
from sugar.tutorius.services import ObjectStore
+from sugar.tutorius.tutoserialize import TutoSerializer
_ = lambda msg: gettext.dgettext('sugar-toolkit', msg)
@@ -126,11 +127,21 @@ class ActivityToolbar(gtk.Toolbar):
if hasattr(self._activity,"get_tutorials") and hasattr(self._activity.get_tutorials,"__call__"):
self.tutorials = ToolComboBox(label_text=_('Tutorials:'))
self.tutorials.combo.connect('changed', self.__tutorial_changed_cb)
- tutorials = self._activity.get_tutorials()
+ # Get tutorial list by file
+ logging.debug("************************************ before creating serialize")
+ serialize = TutoSerializer()
+ logging.debug("************************************ before calling load_tuto_list()")
+
+ #tutorials = self._activity.get_tutorials()
+ if getattr(self._activity,"_tutorials",None) is None:
+ tutorials = serialize.load_tuto_list()
+
self._current_tutorial = None
if tutorials:
for key, tutorial in tutorials.items():
- self.tutorials.combo.append_item(key, tutorial.name)
+ # self.tutorials.combo.append_item(key, _(tutorial.name))
+ self.tutorials.combo.append_item(key, _(tutorial))
+
self.insert(self.tutorials, -1)
self.tutorials.show()
@@ -196,16 +207,34 @@ class ActivityToolbar(gtk.Toolbar):
"""
Callback for tutorial combobox item change
"""
- model = combo.get_model()
- it = combo.get_active_iter()
- (key, ) = model.get(it, 0)
- tutorial = self._activity.get_tutorials().get(key,None)
- if not tutorial is None:
+ logging.debug("************ function __tutorial_changed_cb called")
+ serialize = TutoSerializer()
+
+ if self._current_tutorial:
+ self._current_tutorial.detach()
+
+ model = self.tutorials.combo.get_model()
+ it = self.tutorials.combo.get_active_iter()
+ (key,) = model.get(it, 0)
+
+ #Load and build chosen tutorial from Pickle file
+ logging.debug("****************** before tuto build")
+## tutorials = self._activity.get_tutorials()
+ tuto = serialize.build_tutorial(key)
+ self._activity._tutorials = tuto
+ logging.debug("****************** after tuto build")
+## tutorial = self._activity.get_tutorials().get(key,None)
+ tutorial = tuto.get(key, None)
+
+ if not getattr(self._activity,"_tutorials",None) is None:
if not self._current_tutorial is None:
self._current_tutorial.detach()
+
self._current_tutorial = tutorial
+ logging.debug(" *************** try to attach tuto")
self._current_tutorial.attach(self._activity)
+
def __keep_clicked_cb(self, button):
self._activity.copy()