diff options
author | Jean-Christophe Savard <savard.jean.christophe@gmail.com> | 2009-03-30 17:38:36 (GMT) |
---|---|---|
committer | Jean-Christophe Savard <savard.jean.christophe@gmail.com> | 2009-04-16 19:09:23 (GMT) |
commit | eb03421c5dd132fb79ac12a436efefbfb0287544 (patch) | |
tree | c9c6e4bf9b73761bb32392064f67be8d612a889d /src/sugar/activity/activity.py | |
parent | 78de92cde03264725093868231bdb539feb4f56b (diff) |
Core (bug 341760) : TutoSerializer, 2nd version (fonction save_tutorial
added) + Tests : added serializertests.py
Diffstat (limited to 'src/sugar/activity/activity.py')
-rw-r--r-- | src/sugar/activity/activity.py | 43 |
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() |