diff options
Diffstat (limited to 'madagascaractivity.py')
-rwxr-xr-x | madagascaractivity.py | 99 |
1 files changed, 83 insertions, 16 deletions
diff --git a/madagascaractivity.py b/madagascaractivity.py index c686f74..8663149 100755 --- a/madagascaractivity.py +++ b/madagascaractivity.py @@ -20,6 +20,7 @@ import gobject from sugar.activity import activity from sugar.graphics.toolbutton import ToolButton +from sugar.graphics.toolcombobox import ToolComboBox import hulahop hulahop.startup(os.path.join(activity.get_activity_root(), 'data/gecko')) @@ -28,7 +29,7 @@ hulahop.startup(os.path.join(activity.get_activity_root(), 'data/gecko')) from browser import Browser import xpcom from xpcom.components import interfaces - +from viewtoolbar import ViewToolbar gobject.threads_init() HOME = os.path.join(activity.get_bundle_path(), 'Madagascar/index.html') @@ -42,19 +43,85 @@ class MadagascarActivity(activity.Activity): self._web_view = Browser() - toolbox = activity.ActivityToolbox(self) - self.set_toolbox(toolbox) - toolbox.show() - - toolbar = Toolbar(self._web_view) - toolbox.add_toolbar(_('Navigation'), toolbar) - toolbar.show() - + try: + from sugar.graphics.toolbarbox import ToolbarBox, ToolbarButton + from sugar.activity.widgets import ActivityToolbarButton, StopButton, \ + ShareButton, KeepButton + from mybutton import MyActivityToolbarButton + + toolbar_box = ToolbarBox() + activity_button = MyActivityToolbarButton(self) + toolbar_box.toolbar.insert(activity_button, 0) + activity_button.show() + + viewtoolbar = ViewToolbar(self) + viewbutton = ToolbarButton(page=viewtoolbar, \ + icon_name='camera') + toolbar_box.toolbar.insert(viewbutton, -1) + viewbutton.show() + + separator = gtk.SeparatorToolItem() + #separator.props.draw = False + #separator.set_expand(True) + toolbar_box.toolbar.insert(separator, -1) + separator.show() + + #lets reuse the code below + navtoolbar = Toolbar(self._web_view) + + toolitem = gtk.ToolItem() + navtoolbar._home.reparent(toolitem) + toolbar_box.toolbar.insert(toolitem, -1) + navtoolbar._home.show() + toolitem.show() + + toolitem = gtk.ToolItem() + navtoolbar._back.reparent(toolitem) + toolbar_box.toolbar.insert(toolitem, -1) + navtoolbar._back.show() + toolitem.show() + + toolitem = gtk.ToolItem() + navtoolbar._forward.reparent(toolitem) + toolbar_box.toolbar.insert(toolitem, -1) + navtoolbar._forward.show() + toolitem.show() + + # we do not have collaboration features + # make the share option insensitive + self.max_participants = 1 + + separator = gtk.SeparatorToolItem() + separator.props.draw = False + separator.set_expand(True) + toolbar_box.toolbar.insert(separator, -1) + separator.show() + + stop_button = StopButton(self) + stop_button.props.accelerator = '<Ctrl><Shift>Q' + toolbar_box.toolbar.insert(stop_button, -1) + stop_button.show() + + self.set_toolbar_box(toolbar_box) + toolbar_box.show() + + except ImportError: + toolbox = activity.ActivityToolbox(self) + self.set_toolbox(toolbox) + toolbox.show() + + toolbar = Toolbar(self._web_view) + toolbox.add_toolbar(_('Navigation'), toolbar) + toolbar.show() + viewtoolbar = ViewToolbar(self) + toolbox.add_toolbar(_('View'),viewtoolbar) + viewtoolbar.show() + + toolbox.set_current_toolbar(1) + self.set_canvas(self._web_view) self._web_view.show() - toolbox.set_current_toolbar(1) - self._web_view.load_uri(HOME) class Toolbar(gtk.Toolbar): @@ -77,11 +144,11 @@ class Toolbar(gtk.Toolbar): self.insert(self._forward, -1) self._forward.show() - home = ToolButton('zoom-home') - home.set_tooltip(_('Home')) - home.connect('clicked', self._go_home_cb) - self.insert(home, -1) - home.show() + self._home = ToolButton('go-home') + self._home.set_tooltip(_('Home')) + self._home.connect('clicked', self._go_home_cb) + self.insert(self._home, -1) + self._home.show() progress_listener = self._web_view.progress progress_listener.connect('location-changed', |