Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSascha 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)
commit397e72649fe1ef39d98e90e51c29dcdadb18b3ea (patch)
tree6cb9fc063a11f36dccb37ecab4450edbd9556a87
parentca84b33b024c8ead02efac821cb7f5308fa97e76 (diff)
make compatible with Sugar 0.84 (pre-0.86 toolbars)
-rw-r--r--restore.py44
1 files changed, 37 insertions, 7 deletions
diff --git a/restore.py b/restore.py
index 4c700cb..9b7f45d 100644
--- a/restore.py
+++ b/restore.py
@@ -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):