diff options
author | Sascha Silbe <sascha-pgp@silbe.org> | 2010-08-29 22:48:40 (GMT) |
---|---|---|
committer | Sascha Silbe <sascha-pgp@silbe.org> | 2010-08-30 09:56:53 (GMT) |
commit | 397e72649fe1ef39d98e90e51c29dcdadb18b3ea (patch) | |
tree | 6cb9fc063a11f36dccb37ecab4450edbd9556a87 | |
parent | ca84b33b024c8ead02efac821cb7f5308fa97e76 (diff) |
make compatible with Sugar 0.84 (pre-0.86 toolbars)
-rw-r--r-- | restore.py | 44 |
1 files changed, 37 insertions, 7 deletions
@@ -30,11 +30,18 @@ import dbus import gobject import gtk -from sugar.activity.widgets import StopButton +try: + from sugar.activity.widgets import StopButton + from sugar.graphics.toolbarbox import ToolbarBox + pre_086_toolbars = False + +except ImportError: + from sugar.graphics.toolbox import Toolbox + pre_086_toolbars = True + from sugar.activity import activity import sugar.env from sugar.graphics.toolbutton import ToolButton -from sugar.graphics.toolbarbox import ToolbarBox import sugar.logger try: @@ -70,6 +77,19 @@ class MalformedBundleException(Exception): pass +if pre_086_toolbars: + class StopButton(ToolButton): + + def __init__(self, activity, **kwargs): + ToolButton.__init__(self, 'activity-stop', **kwargs) + self.props.tooltip = _('Stop') + self.props.accelerator = '<Ctrl>Q' + self.connect('clicked', self.__stop_button_clicked_cb, activity) + + def __stop_button_clicked_cb(self, button, activity): + activity.close() + + class RestoreButton(ToolButton): def __init__(self, **kwargs): @@ -477,22 +497,32 @@ class RestoreActivity(activity.Activity): vbox.show_all() def _setup_toolbar(self): - toolbar_box = ToolbarBox() + if pre_086_toolbars: + self.toolbox = Toolbox() + self.set_toolbox(self.toolbox) + + toolbar = gtk.Toolbar() + self.toolbox.add_toolbar('Toolbar', toolbar) + toolbar_box = self.toolbox + + else: + toolbar_box = ToolbarBox() + toolbar = toolbar_box.toolbar + self.set_toolbar_box(toolbar_box) self._restore_button = RestoreButton() self._restore_button.connect('clicked', self._restore_cb) self._restore_button.set_sensitive(False) - toolbar_box.toolbar.insert(self._restore_button, -1) + toolbar.insert(self._restore_button, -1) separator = gtk.SeparatorToolItem() separator.props.draw = False separator.set_expand(True) - toolbar_box.toolbar.insert(separator, -1) + toolbar.insert(separator, -1) stop_button = StopButton(self) - toolbar_box.toolbar.insert(stop_button, -1) + toolbar.insert(stop_button, -1) - self.set_toolbar_box(toolbar_box) toolbar_box.show_all() def _restore_cb(self, button): |