Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWalter 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)
commitf824adb55d9be4b9b7b0a1ffd0a7ec817187a9bb (patch)
tree1c34ec16565c90353eb2d1b03f61790a5aeb2858
parent8cab34d81418c041661ab495a331500a9172c8d1 (diff)
cleanup
-rw-r--r--FractionBounceActivity.py89
-rw-r--r--bounce.py95
-rw-r--r--locale/da/LC_MESSAGES/org.sugarlabs.FractionBounceActivity.mobin1760 -> 0 bytes
-rw-r--r--locale/da/activity.linfo2
-rw-r--r--locale/en/LC_MESSAGES/org.sugarlabs.FractionBounceActivity.mobin1742 -> 0 bytes
-rw-r--r--locale/en/activity.linfo2
-rw-r--r--locale/en_GB/LC_MESSAGES/org.sugarlabs.FractionBounceActivity.mobin1742 -> 0 bytes
-rw-r--r--locale/en_GB/activity.linfo2
-rw-r--r--locale/en_US/LC_MESSAGES/org.sugarlabs.FractionBounceActivity.mobin1745 -> 0 bytes
-rw-r--r--locale/en_US/activity.linfo2
-rw-r--r--locale/es/LC_MESSAGES/org.sugarlabs.FractionBounceActivity.mobin1651 -> 0 bytes
-rw-r--r--locale/es/activity.linfo2
-rw-r--r--locale/hy/LC_MESSAGES/org.sugarlabs.FractionBounceActivity.mobin2004 -> 0 bytes
-rw-r--r--locale/hy/activity.linfo2
-rw-r--r--locale/th/LC_MESSAGES/org.sugarlabs.FractionBounceActivity.mobin2196 -> 0 bytes
-rw-r--r--locale/th/activity.linfo2
-rw-r--r--po/en.po2
-rw-r--r--po/en_GB.po2
-rw-r--r--po/en_US.po2
-rw-r--r--po/th.po24
-rw-r--r--sprites.pycbin17845 -> 0 bytes
-rw-r--r--utils.py48
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):
diff --git a/bounce.py b/bounce.py
index b83b688..d12c75a 100644
--- a/bounce.py
+++ b/bounce.py
@@ -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
deleted file mode 100644
index 0e70c80..0000000
--- a/locale/da/LC_MESSAGES/org.sugarlabs.FractionBounceActivity.mo
+++ /dev/null
Binary files differ
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
deleted file mode 100644
index 298dd73..0000000
--- a/locale/en/LC_MESSAGES/org.sugarlabs.FractionBounceActivity.mo
+++ /dev/null
Binary files differ
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
deleted file mode 100644
index 2f90a68..0000000
--- a/locale/en_GB/LC_MESSAGES/org.sugarlabs.FractionBounceActivity.mo
+++ /dev/null
Binary files differ
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
deleted file mode 100644
index c1b57e7..0000000
--- a/locale/en_US/LC_MESSAGES/org.sugarlabs.FractionBounceActivity.mo
+++ /dev/null
Binary files differ
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
deleted file mode 100644
index 98eee43..0000000
--- a/locale/es/LC_MESSAGES/org.sugarlabs.FractionBounceActivity.mo
+++ /dev/null
Binary files differ
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
deleted file mode 100644
index 8b050f9..0000000
--- a/locale/hy/LC_MESSAGES/org.sugarlabs.FractionBounceActivity.mo
+++ /dev/null
Binary files differ
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
deleted file mode 100644
index d963f38..0000000
--- a/locale/th/LC_MESSAGES/org.sugarlabs.FractionBounceActivity.mo
+++ /dev/null
Binary files differ
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 = แฟรกชั่นเบานส์
diff --git a/po/en.po b/po/en.po
index 96be722..75eb71f 100644
--- a/po/en.po
+++ b/po/en.po
@@ -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"
diff --git a/po/th.po b/po/th.po
index 89985f6..9c75785 100644
--- a/po/th.po
+++ b/po/th.po
@@ -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
deleted file mode 100644
index 3ff7f89..0000000
--- a/sprites.pyc
+++ /dev/null
Binary files differ
diff --git a/utils.py b/utils.py
index f48a66a..003642e 100644
--- a/utils.py
+++ b/utils.py
@@ -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):