diff options
author | Simon Poirier <simpoir@gmail.com> | 2009-05-18 20:27:41 (GMT) |
---|---|---|
committer | Simon Poirier <simpoir@gmail.com> | 2009-06-01 04:50:00 (GMT) |
commit | f347ec202fe5b4404fa380694d7fe3d3d070ae7b (patch) | |
tree | 89f10094b90489fc43b8ec209b16d94ff2405147 /src/sugar/activity | |
parent | 6fa568daae3291c7a876cd903f04079a12945dcb (diff) |
fixed major missing parts in bundler
integrated bundler to creator
tutorial loading still is unusable (fiters don't seem to load)
Diffstat (limited to 'src/sugar/activity')
-rw-r--r-- | src/sugar/activity/activity.py | 50 |
1 files changed, 24 insertions, 26 deletions
diff --git a/src/sugar/activity/activity.py b/src/sugar/activity/activity.py index 3e2d3d4..fd6f4ab 100644 --- a/src/sugar/activity/activity.py +++ b/src/sugar/activity/activity.py @@ -76,8 +76,9 @@ from sugar.graphics.xocolor import XoColor from sugar.datastore import datastore from sugar.session import XSMPClient from sugar import wm +from sugar.tutorius.creator import Creator from sugar.tutorius.services import ObjectStore -from sugar.tutorius.tutoserialize import TutoSerializer +from sugar.tutorius.bundler import TutorialStore, XMLSerializer _ = lambda msg: gettext.dgettext('sugar-toolkit', msg) @@ -124,17 +125,23 @@ class ActivityToolbar(gtk.Toolbar): self.insert(separator, -1) separator.show() + self.creator_button = ToolButton("tutortool") + self.creator_button.set_tooltip(_('Start tutorial creator')) + self.creator_button.connect("clicked", Creator.launch) + self.insert(self.creator_button, -1) + self.creator_button.show() + 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) # Get tutorial list by file - logging.debug("************************************ before creating serialize") - serialize = TutoSerializer() - logging.debug("************************************ before calling load_tuto_list()") + store = TutorialStore() #tutorials = self._activity.get_tutorials() if getattr(self._activity,"_tutorials",None) is None: - tutorials = serialize.load_tuto_list() + tutorials = store.list_available_tutorials( + get_bundle_name(), + os.environ['SUGAR_BUNDLE_VERSION']) self._current_tutorial = None if tutorials: @@ -207,32 +214,23 @@ class ActivityToolbar(gtk.Toolbar): """ Callback for tutorial combobox item change """ - logging.debug("************ function __tutorial_changed_cb called") - serialize = TutoSerializer() - + store = TutorialStore() + 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) + (guid,) = model.get(it, 0) + + tutorial = store.load_tutorial(guid) + + 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): |