From f347ec202fe5b4404fa380694d7fe3d3d070ae7b Mon Sep 17 00:00:00 2001 From: Simon Poirier Date: Mon, 18 May 2009 20:27:41 +0000 Subject: fixed major missing parts in bundler integrated bundler to creator tutorial loading still is unusable (fiters don't seem to load) --- (limited to 'src/sugar/activity/activity.py') 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): -- cgit v0.9.1