diff options
author | Walter Bender <walter.bender@gmail.com> | 2012-10-19 02:51:04 (GMT) |
---|---|---|
committer | Walter Bender <walter.bender@gmail.com> | 2012-10-19 02:51:04 (GMT) |
commit | f824adb55d9be4b9b7b0a1ffd0a7ec817187a9bb (patch) | |
tree | 1c34ec16565c90353eb2d1b03f61790a5aeb2858 | |
parent | 8cab34d81418c041661ab495a331500a9172c8d1 (diff) |
cleanup
22 files changed, 114 insertions, 162 deletions
diff --git a/FractionBounceActivity.py b/FractionBounceActivity.py index 2358e15..15a8bca 100644 --- a/FractionBounceActivity.py +++ b/FractionBounceActivity.py @@ -17,15 +17,10 @@ import os from sugar3.activity import activity from sugar3 import profile -try: # 0.86+ toolbar widgets - from sugar3.graphics.toolbarbox import ToolbarBox - HAS_TOOLBARBOX = True -except ImportError: - HAS_TOOLBARBOX = False -if HAS_TOOLBARBOX: - from sugar3.graphics.toolbarbox import ToolbarButton - from sugar3.activity.widgets import ActivityToolbarButton - from sugar3.activity.widgets import StopButton +from sugar3.graphics.toolbarbox import ToolbarBox +from sugar3.graphics.toolbarbox import ToolbarButton +from sugar3.activity.widgets import ActivityToolbarButton +from sugar3.activity.widgets import StopButton import telepathy from dbus.service import signal @@ -40,7 +35,8 @@ _logger = logging.getLogger('fractionbounce-activity') from toolbar_utils import image_factory, separator_factory, combo_factory, \ label_factory, radio_factory, button_factory, entry_factory -from utils import json_load, json_dump, chooser + +# from utils import json_load, json_dump, chooser from svg_utils import svg_str_to_pixbuf, generate_xo_svg from bounce import Bounce @@ -64,13 +60,18 @@ class FractionBounceActivity(activity.Activity): else: self.colors = ['#A0FFA0', '#FF8080'] + ''' self.add_events(Gdk.EventMask.VISIBILITY_NOTIFY_MASK) self.connect('visibility-notify-event', self.__visibility_notify_cb) + ''' self.max_participants = 4 # sharing + print "setup toolbars" self._setup_toolbars() + print "setup dispatch table" self._setup_dispatch_table() + print "setup canvas" canvas = self._setup_canvas() # Read any custom fractions from the project metadata @@ -80,6 +81,7 @@ class FractionBounceActivity(activity.Activity): custom = None # Initialize the canvas + print "bounce window" self.bounce_window = Bounce(canvas, activity.get_bundle_path(), self) # Restore any custom fractions @@ -93,38 +95,29 @@ class FractionBounceActivity(activity.Activity): def _setup_toolbars(self): ''' Add buttons to toolbars ''' custom_toolbar = Gtk.Toolbar() - if HAS_TOOLBARBOX: - toolbox = ToolbarBox() - self.toolbar = toolbox.toolbar - activity_button = ActivityToolbarButton(self) - self.toolbar.insert(activity_button, 0) - activity_button.show() - - custom_toolbar_button = ToolbarButton( - label=_('Custom'), - page=custom_toolbar, - icon_name='view-source') - custom_toolbar.show() - self.toolbar.insert(custom_toolbar_button, -1) - custom_toolbar_button.show() - - self._load_standard_buttons(self.toolbar) - separator_factory(self.toolbar, expand=True, visible=False) - - stop_button = StopButton(self) - stop_button.props.accelerator = _('<Ctrl>Q') - self.toolbar.insert(stop_button, -1) - stop_button.show() - self.set_toolbar_box(toolbox) - toolbox.show() - - else: - toolbox = activity.ActivityToolbox(self) - self.set_toolbox(toolbox) - self.toolbar = Gtk.Toolbar() - toolbox.add_toolbar(_('Project'), self.toolbar) - toolbox.add_toolbar(_('Custom'), custom_toolbar) - self._load_standard_buttons(self.toolbar) + toolbox = ToolbarBox() + self.toolbar = toolbox.toolbar + activity_button = ActivityToolbarButton(self) + self.toolbar.insert(activity_button, 0) + activity_button.show() + + custom_toolbar_button = ToolbarButton( + label=_('Custom'), + page=custom_toolbar, + icon_name='view-source') + custom_toolbar.show() + self.toolbar.insert(custom_toolbar_button, -1) + custom_toolbar_button.show() + + self._load_standard_buttons(self.toolbar) + separator_factory(self.toolbar, expand=True, visible=False) + + stop_button = StopButton(self) + stop_button.props.accelerator = _('<Ctrl>Q') + self.toolbar.insert(stop_button, -1) + stop_button.show() + self.set_toolbar_box(toolbox) + toolbox.show() self._load_custom_buttons(custom_toolbar) @@ -253,18 +246,6 @@ class FractionBounceActivity(activity.Activity): # _logger.debug('%s', str(event.state)) return - ''' - # Awaiting resolution of #2570 - if event.state == gtk.gdk.VISIBILITY_FULLY_OBSCURED: - _logger.debug('pause it') - self.bounce_window.pause() - elif event.state in \ - [gtk.gdk.VISIBILITY_UNOBSCURED, gtk.gdk.VISIBILITY_PARTIAL]: - if not self.bounce_window.paused: - _logger.debug('unpause it') - self.challenge.set_label(_('Click the ball to continue')) - ''' - # Collaboration-related methods def _setup_presence_service(self): @@ -97,53 +97,54 @@ class Bounce(): self.accelerometer = True else: self.accelerometer = False - self.canvas.add_events(Gdk.EventMask.BUTTON_PRESS_MASK) - self.canvas.add_events(Gdk.EventMask.BUTTON_RELEASE_MASK) - self.canvas.add_events(Gdk.EventMask.POINTER_MOTION_MASK) - self.canvas.add_events(Gdk.EventMask.KEY_PRESS_MASK) - self.canvas.add_events(Gdk.EventMask.KEY_RELEASE_MASK) - self.canvas.connect('draw', self.__draw_cb) - self.canvas.connect('button-press-event', self._button_press_cb) - self.canvas.connect('button-release-event', self._button_release_cb) - self.canvas.connect('key_press_event', self._keypress_cb) - self.canvas.connect('key_release_event', self._keyrelease_cb) - self.width = Gdk.Screen.width() - self.height = Gdk.Screen.height() - GRID_CELL_SIZE - self.sprites = Sprites(self.canvas) - self.scale = Gdk.Screen.height() / 900.0 - self.timeout = None - - self.buddies = [] # used for sharing - self.my_turn = False - self.select_a_fraction = False - - self.easter_egg = int(uniform(1, 100)) - - # Find paths to sound files - self.path_to_success = os.path.join(path, LAUGH) - self.path_to_failure = os.path.join(path, CRASH) - self.path_to_bubbles = os.path.join(path, BUBBLES) - - self._create_sprites(path) - - self.challenge = 0 - self.expert = False - self.challenges = [] - for challenge in CHALLENGES[self.challenge]: - self.challenges.append(challenge) - self.fraction = 0.5 # the target of the current challenge - self.label = '1/2' # the label - self.count = 0 # number of bounces played - self.correct = 0 # number of correct answers - self.press = None # sprite under mouse click - self.mode = 'fractions' - self.new_bounce = False - self.n = 0 - - self.dx = 0. # ball horizontal trajectory - # acceleration (with dampening) - self.ddy = (6.67 * self.height) / (STEPS * STEPS) - self.dy = self.ddy * (1 - STEPS) / 2. # initial step size + + self.canvas.add_events(Gdk.EventMask.BUTTON_PRESS_MASK) + self.canvas.add_events(Gdk.EventMask.BUTTON_RELEASE_MASK) + self.canvas.add_events(Gdk.EventMask.POINTER_MOTION_MASK) + self.canvas.add_events(Gdk.EventMask.KEY_PRESS_MASK) + self.canvas.add_events(Gdk.EventMask.KEY_RELEASE_MASK) + self.canvas.connect('draw', self.__draw_cb) + self.canvas.connect('button-press-event', self._button_press_cb) + self.canvas.connect('button-release-event', self._button_release_cb) + self.canvas.connect('key_press_event', self._keypress_cb) + self.canvas.connect('key_release_event', self._keyrelease_cb) + self.width = Gdk.Screen.width() + self.height = Gdk.Screen.height() - GRID_CELL_SIZE + self.sprites = Sprites(self.canvas) + self.scale = Gdk.Screen.height() / 900.0 + self.timeout = None + + self.buddies = [] # used for sharing + self.my_turn = False + self.select_a_fraction = False + + self.easter_egg = int(uniform(1, 100)) + + # Find paths to sound files + self.path_to_success = os.path.join(path, LAUGH) + self.path_to_failure = os.path.join(path, CRASH) + self.path_to_bubbles = os.path.join(path, BUBBLES) + + self._create_sprites(path) + + self.challenge = 0 + self.expert = False + self.challenges = [] + for challenge in CHALLENGES[self.challenge]: + self.challenges.append(challenge) + self.fraction = 0.5 # the target of the current challenge + self.label = '1/2' # the label + self.count = 0 # number of bounces played + self.correct = 0 # number of correct answers + self.press = None # sprite under mouse click + self.mode = 'fractions' + self.new_bounce = False + self.n = 0 + + self.dx = 0. # ball horizontal trajectory + # acceleration (with dampening) + self.ddy = (6.67 * self.height) / (STEPS * STEPS) + self.dy = self.ddy * (1 - STEPS) / 2. # initial step size def _create_sprites(self, path): ''' Create all of the sprites we'll need ''' diff --git a/locale/da/LC_MESSAGES/org.sugarlabs.FractionBounceActivity.mo b/locale/da/LC_MESSAGES/org.sugarlabs.FractionBounceActivity.mo Binary files differdeleted file mode 100644 index 0e70c80..0000000 --- a/locale/da/LC_MESSAGES/org.sugarlabs.FractionBounceActivity.mo +++ /dev/null diff --git a/locale/da/activity.linfo b/locale/da/activity.linfo deleted file mode 100644 index 9074a00..0000000 --- a/locale/da/activity.linfo +++ /dev/null @@ -1,2 +0,0 @@ -[Activity] -name = BrøkSkydning diff --git a/locale/en/LC_MESSAGES/org.sugarlabs.FractionBounceActivity.mo b/locale/en/LC_MESSAGES/org.sugarlabs.FractionBounceActivity.mo Binary files differdeleted file mode 100644 index 298dd73..0000000 --- a/locale/en/LC_MESSAGES/org.sugarlabs.FractionBounceActivity.mo +++ /dev/null diff --git a/locale/en/activity.linfo b/locale/en/activity.linfo deleted file mode 100644 index 57ae15f..0000000 --- a/locale/en/activity.linfo +++ /dev/null @@ -1,2 +0,0 @@ -[Activity] -name = FractionBounce diff --git a/locale/en_GB/LC_MESSAGES/org.sugarlabs.FractionBounceActivity.mo b/locale/en_GB/LC_MESSAGES/org.sugarlabs.FractionBounceActivity.mo Binary files differdeleted file mode 100644 index 2f90a68..0000000 --- a/locale/en_GB/LC_MESSAGES/org.sugarlabs.FractionBounceActivity.mo +++ /dev/null diff --git a/locale/en_GB/activity.linfo b/locale/en_GB/activity.linfo deleted file mode 100644 index 57ae15f..0000000 --- a/locale/en_GB/activity.linfo +++ /dev/null @@ -1,2 +0,0 @@ -[Activity] -name = FractionBounce diff --git a/locale/en_US/LC_MESSAGES/org.sugarlabs.FractionBounceActivity.mo b/locale/en_US/LC_MESSAGES/org.sugarlabs.FractionBounceActivity.mo Binary files differdeleted file mode 100644 index c1b57e7..0000000 --- a/locale/en_US/LC_MESSAGES/org.sugarlabs.FractionBounceActivity.mo +++ /dev/null diff --git a/locale/en_US/activity.linfo b/locale/en_US/activity.linfo deleted file mode 100644 index 57ae15f..0000000 --- a/locale/en_US/activity.linfo +++ /dev/null @@ -1,2 +0,0 @@ -[Activity] -name = FractionBounce diff --git a/locale/es/LC_MESSAGES/org.sugarlabs.FractionBounceActivity.mo b/locale/es/LC_MESSAGES/org.sugarlabs.FractionBounceActivity.mo Binary files differdeleted file mode 100644 index 98eee43..0000000 --- a/locale/es/LC_MESSAGES/org.sugarlabs.FractionBounceActivity.mo +++ /dev/null diff --git a/locale/es/activity.linfo b/locale/es/activity.linfo deleted file mode 100644 index 013e408..0000000 --- a/locale/es/activity.linfo +++ /dev/null @@ -1,2 +0,0 @@ -[Activity] -name = FraccionBotar diff --git a/locale/hy/LC_MESSAGES/org.sugarlabs.FractionBounceActivity.mo b/locale/hy/LC_MESSAGES/org.sugarlabs.FractionBounceActivity.mo Binary files differdeleted file mode 100644 index 8b050f9..0000000 --- a/locale/hy/LC_MESSAGES/org.sugarlabs.FractionBounceActivity.mo +++ /dev/null diff --git a/locale/hy/activity.linfo b/locale/hy/activity.linfo deleted file mode 100644 index 57ae15f..0000000 --- a/locale/hy/activity.linfo +++ /dev/null @@ -1,2 +0,0 @@ -[Activity] -name = FractionBounce diff --git a/locale/th/LC_MESSAGES/org.sugarlabs.FractionBounceActivity.mo b/locale/th/LC_MESSAGES/org.sugarlabs.FractionBounceActivity.mo Binary files differdeleted file mode 100644 index d963f38..0000000 --- a/locale/th/LC_MESSAGES/org.sugarlabs.FractionBounceActivity.mo +++ /dev/null diff --git a/locale/th/activity.linfo b/locale/th/activity.linfo deleted file mode 100644 index 04b0afd..0000000 --- a/locale/th/activity.linfo +++ /dev/null @@ -1,2 +0,0 @@ -[Activity] -name = แฟรกชั่นเบานส์ @@ -10,7 +10,7 @@ msgstr "" "PO-Revision-Date: 2012-01-24 17:53+0200\n" "Last-Translator: Chris <cjl@laptop.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n" -"Language: en\n" +"Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" diff --git a/po/en_GB.po b/po/en_GB.po index a01632a..aabc45f 100644 --- a/po/en_GB.po +++ b/po/en_GB.po @@ -10,7 +10,7 @@ msgstr "" "PO-Revision-Date: 2012-01-24 18:22+0200\n" "Last-Translator: Chris <cjl@laptop.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n" -"Language: en_GB\n" +"Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" diff --git a/po/en_US.po b/po/en_US.po index b09785d..8cf3c96 100644 --- a/po/en_US.po +++ b/po/en_US.po @@ -10,7 +10,7 @@ msgstr "" "PO-Revision-Date: 2012-01-24 21:28+0200\n" "Last-Translator: Chris <cjl@laptop.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n" -"Language: en_US\n" +"Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -7,10 +7,10 @@ msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2011-10-22 11:31-0400\n" -"PO-Revision-Date: 2012-02-29 00:01+0200\n" -"Last-Translator: Chris <cjl@laptop.org>\n" +"PO-Revision-Date: 2012-03-08 12:38+0200\n" +"Last-Translator: Meechai <malaku38@hotmail.com>\n" "Language-Team: LANGUAGE <LL@li.org>\n" -"Language: th\n" +"Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -19,17 +19,17 @@ msgstr "" #: activity/activity.info:2 msgid "FractionBounce" -msgstr "แฟรกชั่นเบานส์" +msgstr "FractionBounce" #: FractionBounceActivity.py:48 FractionBounceActivity.py:165 #: FractionBounceActivity.py:182 msgid "basketball" -msgstr "บาสเกตบอล" +msgstr "ลูกบาสเกตบอล" #: FractionBounceActivity.py:48 FractionBounceActivity.py:185 #: FractionBounceActivity.py:195 msgid "soccer ball" -msgstr "ลูกบอล" +msgstr "ลูกฟุตบอล" #: FractionBounceActivity.py:48 msgid "user defined" @@ -37,7 +37,7 @@ msgstr "กำหนดโดยผู้ใช้" #: FractionBounceActivity.py:103 FractionBounceActivity.py:125 msgid "Custom" -msgstr "ตั้งค่าเอง" +msgstr "การกำหนดค่า" #: FractionBounceActivity.py:114 msgid "<Ctrl>Q" @@ -45,7 +45,7 @@ msgstr "<Ctrl>Q" #: FractionBounceActivity.py:124 msgid "Project" -msgstr "โปรเจค" +msgstr "โครงการ" #: FractionBounceActivity.py:134 msgid "fractions" @@ -61,11 +61,11 @@ msgstr "เปอร์เซ็นต์" #: FractionBounceActivity.py:149 msgid "Click the ball to start." -msgstr "กดบอลเพื่อเรื่ม" +msgstr "คลิกลูกบอลเพื่อเริ่ม" #: FractionBounceActivity.py:153 msgid "numerator" -msgstr "เศษ" +msgstr "เครื่องนับ" #: FractionBounceActivity.py:156 msgid "denominator" @@ -84,7 +84,7 @@ msgstr "เลือกลูกบอล" msgid "" "Bounce the ball to a position %(fraction)s of the way from the left side of " "the bar." -msgstr "เลี้ยงลูกบอลไปสู่ตำแหน่ง %(fraction)s จากท้างด้านซ้ายของแถบ" +msgstr "เลี้ยงลูกบอลไปสู่ตำแหน่ง %(fraction)s นับจากท้างด้านซ้ายของแถบ" #: FractionBounceActivity.py:314 msgid "Wait for others to join." @@ -92,7 +92,7 @@ msgstr "รอให้ผู้อื่นเข้าร่วม" #: FractionBounceActivity.py:321 msgid "Wait for the sharer to start." -msgstr "รอให้ผู้มีส่วนร่วมเรื่ม" +msgstr "รอให้ผู้มีส่วนร่วมเริ่ม" #: FractionBounceActivity.py:382 msgid "has joined." diff --git a/sprites.pyc b/sprites.pyc Binary files differdeleted file mode 100644 index 3ff7f89..0000000 --- a/sprites.pyc +++ /dev/null @@ -18,46 +18,30 @@ from gi.repository import Gtk from sugar.graphics.objectchooser import ObjectChooser from StringIO import StringIO -try: - USING_JSON_READWRITE = False - import json - json.dumps - from json import load as jload - from json import dump as jdump -except (ImportError, AttributeError): - try: - import simplejson as json - from simplejson import load as jload - from simplejson import dump as jdump - except (ImportError, AttributeError): - USING_JSON_READWRITE = True - +import json +json.dumps +from json import load as jload +from json import dump as jdump def json_load(text): """ Load JSON data using what ever resources are available. """ - if USING_JSON_READWRITE is True: - listdata = json.read(text) - else: - # strip out leading and trailing whitespace, nulls, and newlines - io = StringIO(text) - try: - listdata = jload(io) - except ValueError: - # assume that text is ascii list - listdata = text.split() - for i, value in enumerate(listdata): - listdata[i] = int(value) + # strip out leading and trailing whitespace, nulls, and newlines + io = StringIO(text) + try: + listdata = jload(io) + except ValueError: + # assume that text is ascii list + listdata = text.split() + for i, value in enumerate(listdata): + listdata[i] = int(value) return listdata def json_dump(data): """ Save data using available JSON tools. """ - if USING_JSON_READWRITE is True: - return json.write(data) - else: - _io = StringIO() - jdump(data, _io) - return _io.getvalue() + _io = StringIO() + jdump(data, _io) + return _io.getvalue() def chooser(parent_window, filter, action): |