diff options
Diffstat (limited to 'YupanaActivity.py')
-rw-r--r-- | YupanaActivity.py | 110 |
1 files changed, 45 insertions, 65 deletions
diff --git a/YupanaActivity.py b/YupanaActivity.py index d065ec3..9718230 100644 --- a/YupanaActivity.py +++ b/YupanaActivity.py @@ -1,4 +1,5 @@ -#Copyright (c) 2011 Walter Bender +#Copyright (c) 2011,12 Walter Bender +#Copyright (c) 2012 Ignacio Rodriguez # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -9,21 +10,14 @@ # along with this library; if not, write to the Free Software # Foundation, 51 Franklin Street, Suite 500 Boston, MA 02110-1335 USA +from gi.repository import Gtk, Gdk, GObject -import gtk - -from sugar.activity import activity -from sugar import profile -try: - from sugar.graphics.toolbarbox import ToolbarBox - _have_toolbox = True -except ImportError: - _have_toolbox = False - -if _have_toolbox: - from sugar.activity.widgets import ActivityToolbarButton - from sugar.activity.widgets import StopButton - from sugar.graphics.toolbarbox import ToolbarButton +from sugar3.activity import activity +from sugar3 import profile +from sugar3.graphics.toolbarbox import ToolbarBox +from sugar3.activity.widgets import ActivityToolbarButton +from sugar3.activity.widgets import StopButton +from sugar3.graphics.toolbarbox import ToolbarButton from toolbar_utils import button_factory, label_factory, separator_factory, \ radio_factory, entry_factory @@ -33,8 +27,8 @@ import telepathy import dbus from dbus.service import signal from dbus.gobject_service import ExportedGObject -from sugar.presence import presenceservice -from sugar.presence.tubeconn import TubeConnection +from sugar3.presence import presenceservice +from sugar3.presence.tubeconn import TubeConnection from gettext import gettext as _ @@ -66,13 +60,13 @@ class YupanaActivity(activity.Activity): else: self.colors = ['#A0FFA0', '#FF8080'] - self._setup_toolbars(_have_toolbox) + self._setup_toolbars() self._setup_dispatch_table() # Create a canvas - canvas = gtk.DrawingArea() - canvas.set_size_request(gtk.gdk.screen_width(), \ - gtk.gdk.screen_height()) + canvas = Gtk.DrawingArea() + canvas.set_size_request(Gdk.Screen.width(), \ + Gdk.Screen.height()) self.set_canvas(canvas) canvas.show() self.show_all() @@ -89,56 +83,44 @@ class YupanaActivity(activity.Activity): if self._reload_custom: self._custom_cb() - def _setup_toolbars(self, have_toolbox): + def _setup_toolbars(self): """ Setup the toolbars. """ self.max_participants = 4 - yupana_toolbar = gtk.Toolbar() - self.custom_toolbar = gtk.Toolbar() - if have_toolbox: - toolbox = ToolbarBox() + yupana_toolbar = Gtk.Toolbar() + self.custom_toolbar = Gtk.Toolbar() + toolbox = ToolbarBox() - # Activity toolbar - activity_button = ActivityToolbarButton(self) + # Activity toolbar + activity_button = ActivityToolbarButton(self) - toolbox.toolbar.insert(activity_button, 0) - activity_button.show() + toolbox.toolbar.insert(activity_button, 0) + activity_button.show() - yupana_toolbar_button = ToolbarButton( - label=_("Mode"), page=yupana_toolbar, - icon_name='preferences-system') - yupana_toolbar.show() - toolbox.toolbar.insert(yupana_toolbar_button, -1) - yupana_toolbar_button.show() + yupana_toolbar_button = ToolbarButton( + label=_("Mode"), page=yupana_toolbar, + icon_name='preferences-system') + yupana_toolbar.show() + toolbox.toolbar.insert(yupana_toolbar_button, -1) + yupana_toolbar_button.show() - custom_toolbar_button = ToolbarButton( - label=_("Custom"), page=self.custom_toolbar, - icon_name='view-source') - self.custom_toolbar.show() - toolbox.toolbar.insert(custom_toolbar_button, -1) - custom_toolbar_button.show() + custom_toolbar_button = ToolbarButton( + label=_("Custom"), page=self.custom_toolbar, + icon_name='view-source') + self.custom_toolbar.show() + toolbox.toolbar.insert(custom_toolbar_button, -1) + custom_toolbar_button.show() - self.set_toolbar_box(toolbox) - toolbox.show() - self.toolbar = toolbox.toolbar - - else: - # Use pre-0.86 toolbar design - toolbox = activity.ActivityToolbox(self) - self.set_toolbox(toolbox) - toolbox.add_toolbar(_('Yupana'), yupana_toolbar) - toolbox.add_toolbar(_('Custom'), self.custom_toolbar) - toolbox.show() - toolbox.set_current_toolbar(1) - self.toolbar = yupana_toolbar + self.set_toolbar_box(toolbox) + toolbox.show() + self.toolbar = toolbox.toolbar self._new_yupana_button = button_factory( 'edit-delete', self.toolbar, self._new_yupana_cb, tooltip=_('Clear the yupana.')) - if not _have_toolbox: - separator_factory(yupana_toolbar, False, True) + separator_factory(yupana_toolbar, False, True) self.ten_button = radio_factory( 'ten', yupana_toolbar, self._ten_cb, tooltip=_('decimal mode'), @@ -161,17 +143,15 @@ class YupanaActivity(activity.Activity): group=self.ten_button) separator_factory(self.toolbar, False, False) - self.status = label_factory(self.toolbar, '') + self.status = label_factory(self.toolbar, '', width=200) self.status.set_label(_('decimal mode')) - if _have_toolbox: - separator_factory(toolbox.toolbar, True, False) + separator_factory(toolbox.toolbar, True, False) - if _have_toolbox: - stop_button = StopButton(self) - stop_button.props.accelerator = '<Ctrl>q' - toolbox.toolbar.insert(stop_button, -1) - stop_button.show() + stop_button = StopButton(self) + stop_button.props.accelerator = '<Ctrl>q' + toolbox.toolbar.insert(stop_button, -1) + stop_button.show() def _make_custom_toolbar(self): self._ones = entry_factory(str(self._yupana.custom[0]), |