Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--NEWS4
-rwxr-xr-xactivity.py199
-rw-r--r--activity/activity.info4
-rw-r--r--cardlist.py2
-rwxr-xr-xcreatetoolbar.py2
-rw-r--r--demos/capitals.zipbin516 -> 0 bytes
-rw-r--r--demos/drumgit.zipbin687926 -> 0 bytes
-rw-r--r--demos/letters.zipbin124667 -> 386 bytes
-rw-r--r--demos/numbers.zipbin258731 -> 0 bytes
-rw-r--r--demos/phonemes.zipbin388651 -> 0 bytes
-rwxr-xr-xgame.py3
-rw-r--r--images/game-load.svg32
-rwxr-xr-ximages/game-new.svg64
-rw-r--r--images/game-save.svg44
-rw-r--r--locale/pt_BR/LC_MESSAGES/org.laptop.Memorize.mobin875 -> 1847 bytes
-rwxr-xr-xlocale/pt_BR/activity.linfo2
-rwxr-xr-xmemorizetoolbar.py8
-rw-r--r--messenger.py5
-rw-r--r--model.py2
-rwxr-xr-xpo/memorize.pot41
-rwxr-xr-xpo/org.laptop.Memorize.pot121
-rwxr-xr-xpo/pt_BR.po49
22 files changed, 291 insertions, 291 deletions
diff --git a/NEWS b/NEWS
index 669edc5..89173ed 100644
--- a/NEWS
+++ b/NEWS
@@ -1,5 +1,7 @@
+* New pot files for create game mode
+* Allow kids create their own games using text, audio and images #3311
+* When a player join an already started game, it receives the game state #3471
* Added support to be able to play wav and aiff format (erikos)
-* Set create tab as default (Muriel)
* Games tab renamed to Play (Muriel)
* New icon and tooltip for reset game button #3965 (Muriel)
* Only enable add-pair/update-pair buttons when the card has content (Muriel)
diff --git a/activity.py b/activity.py
index aa846a3..45c2394 100755
--- a/activity.py
+++ b/activity.py
@@ -49,8 +49,9 @@ SERVICE = 'org.laptop.Memorize'
IFACE = SERVICE
PATH = '/org/laptop/Memorize'
-_TOOLBAR_CREATE = 1
-_TOOLBAR_PLAY = 2
+_TOOLBAR_PLAY = 1
+_TOOLBAR_CREATE = 2
+
_logger = logging.getLogger('memorize-activity')
@@ -59,40 +60,64 @@ class MemorizeActivity(Activity):
def __init__(self, handle):
Activity.__init__(self, handle)
- self.play_load = False
+ self.create_load = False
self.play_mode = False
toolbox = ActivityToolbox(self)
toolbox.connect('current-toolbar-changed', self.change_mode)
activity_toolbar = toolbox.get_activity_toolbar()
- self._createToolbar = createtoolbar.CreateToolbar(self)
- toolbox.add_toolbar('Create', self._createToolbar)
- self._createToolbar.show()
-
self._memorizeToolbar = memorizetoolbar.MemorizeToolbar(self)
toolbox.add_toolbar(_('Play'), self._memorizeToolbar)
- self._memorizeToolbar.show()
+ self._memorizeToolbar.show()
+ self._createToolbar = createtoolbar.CreateToolbar(self)
+ toolbox.add_toolbar(_('Create'), self._createToolbar)
+ self._createToolbar.show()
+
self.set_toolbox(toolbox)
toolbox.show()
- self.cardlist = cardlist.CardList()
- self.createcardpanel = createcardpanel.CreateCardPanel()
- self.createcardpanel.connect('add-pair', self.cardlist.add_pair)
- self.createcardpanel.connect('update-pair', self.cardlist.update_selected)
- self.cardlist.connect('pair-selected', self.createcardpanel.load_pair)
- self.cardlist.connect('update-create-toolbar', self._createToolbar.update_create_toolbar)
- self.cardlist.connect('update-create-buttons', self._createToolbar.update_buttons_status)
- self._createToolbar.connect('create_new_game', self.cardlist.clean_list)
- self._createToolbar.connect('create_new_game', self.createcardpanel.clean)
- self._createToolbar.connect('create_load_game', self.cardlist.load_game)
- self._createToolbar.connect('create_save_game', self.cardlist.save_game)
- self._createToolbar.connect('create_equal_pairs', self.createcardpanel.change_equal_pairs)
+
+
+
+ # Play game mode
+ self.table = cardtable.CardTable()
+ self.scoreboard = scoreboard.Scoreboard()
+ self.game = game.MemorizeGame()
+
+ self.table.connect('key-press-event', self.table.key_press_event)
+ self.table.connect('card-flipped', self.game.card_flipped)
+ self.table.connect('card-highlighted', self.game.card_highlighted)
+
+ self.game.connect('set-border', self.table.set_border)
+ self.game.connect('flop-card', self.table.flop_card)
+ self.game.connect('flip-card', self.table.flip_card)
+ self.game.connect('highlight-card', self.table.highlight_card)
+ self.game.connect('load_mode', self.table.load_msg)
+
+ self.game.connect('msg_buddy', self.scoreboard.set_buddy_message)
+ self.game.connect('add_buddy', self.scoreboard.add_buddy)
+ self.game.connect('rem_buddy', self.scoreboard.rem_buddy)
+ self.game.connect('increase-score', self.scoreboard.increase_score)
+ self.game.connect('wait_mode_buddy', self.scoreboard.set_wait_mode)
+ self.game.connect('change-turn', self.scoreboard.set_selected)
+
+ self.game.connect('reset_scoreboard', self.scoreboard.reset)
+ self.game.connect('reset_table', self.table.reset)
+
+ self.game.connect('load_game', self.table.load_game)
+ self.game.connect('change_game', self.table.change_game)
+ self.game.connect('load_game', self._memorizeToolbar.update_toolbar)
+ self.game.connect('change_game', self._memorizeToolbar.update_toolbar)
+
+ self._memorizeToolbar.connect('game_changed', self.game.change_game)
+ self.connect('shared', self._shared_cb)
+
self.hbox = gtk.HBox(False)
- self.hbox.pack_start(self.createcardpanel)
- self.hbox.pack_start(self.cardlist, False, False)
+ self.hbox.pack_start(self.scoreboard, False, False)
+ self.hbox.pack_start(self.table)
self.set_canvas(self.hbox)
# create csound instance to play sound files
@@ -118,7 +143,7 @@ class MemorizeActivity(Activity):
self.connect('destroy', self._cleanup_cb)
# start on the game toolbar, might change this to the create toolbar later
- self.toolbox.set_current_toolbar(_TOOLBAR_CREATE)
+ self.toolbox.set_current_toolbar(_TOOLBAR_PLAY)
# Get the Presence Service
self.pservice = presenceservice.get_instance()
@@ -135,115 +160,61 @@ class MemorizeActivity(Activity):
owner = self.pservice.get_owner()
self.owner = owner
self.current = 0
+
+ self.game.set_myself(self.owner)
+
# Owner.props.key
if self._shared_activity:
# We are joining the activity
- self.toolbox.set_current_toolbar(_TOOLBAR_PLAY)
self.connect('joined', self._joined_cb)
if self.get_shared():
# We've already joined
self._joined_cb()
else:
_logger.debug('buddy joined - __init__: %s', self.owner.props.nick)
- #game_file = join(dirname(__file__),'demos','addition.zip')
- #self.game.load_game(game_file, 4)
+ game_file = join(dirname(__file__),'demos','addition.zip')
+ self.game.load_game(game_file, 4)
_logger.debug('loading conventional')
- #self.game.add_buddy(self.owner)
+ self.game.add_buddy(self.owner)
self.show_all()
def read_file(self, file_path):
- '''
- if self.metadata['mime_type'] == 'plain/text':
- f = open(file_path, 'r')
- try:
- data = pickle.load(f)
- finally:
- f.close()
-
- _logger.debug('reading from datastore')
-
- self.game.load_remote(data[0], data[1])
- self.game.set_wait_list(data[2])
- '''
- if self.metadata['mime_type'] == 'application/memorizegame':
+
+ if self.metadata['mime_type'] == 'application/x-memorize-project':
self.toolbox.set_current_toolbar(_TOOLBAR_PLAY)
self.game.change_game(None, file_path, 4, 'file', self.metadata['title'], self.metadata['icon-color'])
- '''
- def write_file(self, file_path):
- if not self.metadata['mime_type']:
- self.metadata['mime_type'] = 'plain/text'
-
- if self.metadata['mime_type'] == 'plain/text':
-
-
- data=[self.game.get_grid(), self.game.get_data(), self.game.get_players_data()]
-
- _logger.debug('writing to datastore')
- f = open(file_path, 'w')
- try:
- pickle.dump(data, f)
- finally:
- f.close()
- '''
def change_mode(self, notebook, index):
- if index != _TOOLBAR_CREATE:
- if not self.play_load:
- # Create play components
- self.table = cardtable.CardTable()
- self.scoreboard = scoreboard.Scoreboard()
- self.game = game.MemorizeGame()
- self.game.set_myself(self.owner)
- self.hbox.remove(self.createcardpanel)
- self.hbox.remove(self.cardlist)
- self.hbox.pack_start(self.scoreboard, False, False)
- self.hbox.pack_start(self.table)
-
- self.table.connect('key-press-event', self.table.key_press_event)
- self.table.connect('card-flipped', self.game.card_flipped)
- self.table.connect('card-highlighted', self.game.card_highlighted)
-
- self.game.connect('set-border', self.table.set_border)
- self.game.connect('flop-card', self.table.flop_card)
- self.game.connect('flip-card', self.table.flip_card)
- self.game.connect('highlight-card', self.table.highlight_card)
- self.game.connect('load_mode', self.table.load_msg)
-
- self.game.connect('msg_buddy', self.scoreboard.set_buddy_message)
- self.game.connect('add_buddy', self.scoreboard.add_buddy)
- self.game.connect('rem_buddy', self.scoreboard.rem_buddy)
- self.game.connect('increase-score', self.scoreboard.increase_score)
- self.game.connect('wait_mode_buddy', self.scoreboard.set_wait_mode)
- self.game.connect('change-turn', self.scoreboard.set_selected)
-
- self.game.connect('reset_scoreboard', self.scoreboard.reset)
- self.game.connect('reset_table', self.table.reset)
-
- self.game.connect('load_game', self.table.load_game)
- self.game.connect('change_game', self.table.change_game)
- self.game.connect('load_game', self._memorizeToolbar.update_toolbar)
- self.game.connect('change_game', self._memorizeToolbar.update_toolbar)
-
- self._memorizeToolbar.connect('game_changed', self.game.change_game)
- self.connect('shared', self._shared_cb)
- self.play_load = True
- if not self._shared_activity:
- self.game.add_buddy(self.owner)
- #game_file = join(dirname(__file__), 'demos', 'addition.zip')
- #self.game.load_game(game_file, 4)
- else:
- self.hbox.remove(self.createcardpanel)
- self.hbox.remove(self.cardlist)
- self.hbox.pack_start(self.scoreboard, False, False)
- self.hbox.pack_start(self.table)
+ if index == _TOOLBAR_CREATE:
+ if not self.create_load:
+ # Create game mode
+ self.cardlist = cardlist.CardList()
+ self.createcardpanel = createcardpanel.CreateCardPanel()
+ self.createcardpanel.connect('add-pair', self.cardlist.add_pair)
+ self.createcardpanel.connect('update-pair', self.cardlist.update_selected)
+ self.cardlist.connect('pair-selected', self.createcardpanel.load_pair)
+ self.cardlist.connect('update-create-toolbar', self._createToolbar.update_create_toolbar)
+ self.cardlist.connect('update-create-buttons', self._createToolbar.update_buttons_status)
+ self._createToolbar.connect('create_new_game', self.cardlist.clean_list)
+ self._createToolbar.connect('create_new_game', self.createcardpanel.clean)
+ self._createToolbar.connect('create_load_game', self.cardlist.load_game)
+ self._createToolbar.connect('create_save_game', self.cardlist.save_game)
+ self._createToolbar.connect('create_equal_pairs', self.createcardpanel.change_equal_pairs)
+ self.create_load = True
+
+ self.hbox.remove(self.scoreboard)
+ self.hbox.remove(self.table)
+ self.hbox.pack_start(self.createcardpanel)
+ self.hbox.pack_start(self.cardlist, False, False)
+ self.play_mode = False
+
+ else:
+
+ self.hbox.remove(self.createcardpanel)
+ self.hbox.remove(self.cardlist)
+ self.hbox.pack_start(self.scoreboard, False, False)
+ self.hbox.pack_start(self.table)
self.play_mode = True
- else:
- if self.play_mode:
- self.hbox.remove(self.scoreboard)
- self.hbox.remove(self.table)
- self.hbox.pack_start(self.createcardpanel)
- self.hbox.pack_start(self.cardlist, False, False)
- self.play_mode = False
def restart(self, widget):
self.game.reset()
diff --git a/activity/activity.info b/activity/activity.info
index 47f9f1d..a20dac8 100644
--- a/activity/activity.info
+++ b/activity/activity.info
@@ -1,8 +1,8 @@
[Activity]
name = Memorize
service_name = org.laptop.Memorize
-exec = sugar-activity activity.MemorizeActivity
+class = activity.MemorizeActivity
icon = activity-memorize
activity_version = 18
show_launcher = yes
-mime_types = application/memorizegame;
+mime_types = application/x-memorize-project; \ No newline at end of file
diff --git a/cardlist.py b/cardlist.py
index 35df613..faebc60 100644
--- a/cardlist.py
+++ b/cardlist.py
@@ -171,7 +171,7 @@ class CardList(gtk.EventBox):
# Saves the zip in datastore
gameObject = datastore.create()
gameObject.metadata['title'] = game_name
- gameObject.metadata['mime_type'] = 'application/memorizegame'
+ gameObject.metadata['mime_type'] = 'application/x-memorize-project'
gameObject.metadata['icon-color'] = profile.get_color().to_string()
gameObject.file_path = join(temp_folder, 'game.zip')
datastore.write(gameObject)
diff --git a/createtoolbar.py b/createtoolbar.py
index 4d64989..ce22b9a 100755
--- a/createtoolbar.py
+++ b/createtoolbar.py
@@ -80,7 +80,7 @@ class CreateToolbar(gtk.Toolbar):
separator2.set_draw(True)
self.insert(separator2, -1)
- self._add_widget(gtk.Label(_('Game name: ')))
+ self._add_widget(gtk.Label(_('Game name') + ': '))
self.game_name_entry = gtk.Entry()
self._add_widget(self.game_name_entry)
diff --git a/demos/capitals.zip b/demos/capitals.zip
deleted file mode 100644
index ca908f9..0000000
--- a/demos/capitals.zip
+++ /dev/null
Binary files differ
diff --git a/demos/drumgit.zip b/demos/drumgit.zip
deleted file mode 100644
index f544d19..0000000
--- a/demos/drumgit.zip
+++ /dev/null
Binary files differ
diff --git a/demos/letters.zip b/demos/letters.zip
index 5159a9b..0c57769 100644
--- a/demos/letters.zip
+++ b/demos/letters.zip
Binary files differ
diff --git a/demos/numbers.zip b/demos/numbers.zip
deleted file mode 100644
index d601b89..0000000
--- a/demos/numbers.zip
+++ /dev/null
Binary files differ
diff --git a/demos/phonemes.zip b/demos/phonemes.zip
deleted file mode 100644
index 1c22642..0000000
--- a/demos/phonemes.zip
+++ /dev/null
Binary files differ
diff --git a/game.py b/game.py
index 993cf04..61c5118 100755
--- a/game.py
+++ b/game.py
@@ -21,6 +21,7 @@ import logging
import gobject
from os.path import join, dirname
+from gettext import gettext as _
from sugar import profile
from dbus.service import method, signal
from dbus.gobject_service import ExportedGObject
@@ -100,7 +101,7 @@ class MemorizeGame(GObject):
logging.error(' Reading setup file %s'%game_name)
def load_remote(self, grid, data, mode, signal = False):
- self.set_load_mode('Loading game...')
+ self.set_load_mode(_('Loading game...'))
self.model.grid = grid
self.model.data = data
self.model.data['mode'] = mode
diff --git a/images/game-load.svg b/images/game-load.svg
index 78dcc35..4222b7a 100644
--- a/images/game-load.svg
+++ b/images/game-load.svg
@@ -43,13 +43,13 @@
inkscape:window-height="871"
inkscape:window-width="1432"
inkscape:pageshadow="2"
- inkscape:pageopacity="0.0"
+ inkscape:pageopacity="0.96862745"
guidetolerance="10.0"
gridtolerance="10.0"
objecttolerance="10.0"
borderopacity="1.0"
bordercolor="#666666"
- pagecolor="#ffffff"
+ pagecolor="#4b4b4b"
id="base"
inkscape:zoom="12.145455"
inkscape:cx="27.5"
@@ -94,35 +94,35 @@
x1="13.209" /></g><g
id="g4140"
transform="matrix(0.8372116,0,0,0.8372116,8.751416,-7.2720533e-2)"><rect
- style="fill:#ffffff;stroke:#ffffff;stroke-width:1.79166175;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ style="fill:#ffffff;stroke:#ffffff;stroke-width:1.79166174;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect2221"
height="5.0509453"
width="5.0529833"
- y="2.5764074"
- x="32.505089" /><rect
+ y="2.5762157"
+ x="32.743912" /><rect
style="fill:#404040;stroke:#ffffff;stroke-width:1.79166175;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;fill-opacity:1"
id="rect2223"
height="5.0509453"
width="5.0529833"
y="2.5764074"
x="40.25333" /><rect
- style="fill:#404040;stroke:#ffffff;stroke-width:1.79166175;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;fill-opacity:1"
+ style="fill:#ffffff;stroke:#ffffff;stroke-width:1.79166175;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;fill-opacity:1"
id="rect2225"
height="5.0509453"
width="5.0529833"
y="2.5764074"
x="47.70649" /><rect
- style="fill:#404040;stroke:#ffffff;stroke-width:1.79166175;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;fill-opacity:1"
+ style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:1.79166174;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect2227"
height="5.0509453"
width="5.0529833"
- y="10.110903"
- x="32.505089" /><rect
- style="fill:#404040;stroke:#ffffff;stroke-width:1.79166175;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;fill-opacity:1"
+ y="10.110711"
+ x="32.743912" /><rect
+ style="fill:#404040;fill-opacity:1;stroke:#ffffff;stroke-width:1.79166174;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect2229"
height="5.0509453"
width="5.0529833"
- y="10.110903"
+ y="17.624184"
x="40.25333" /><rect
style="fill:#404040;stroke:#ffffff;stroke-width:1.79166175;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;fill-opacity:1"
id="rect2231"
@@ -130,17 +130,17 @@
width="5.0529833"
y="10.110903"
x="47.70649" /><rect
- style="fill:#404040;stroke:#ffffff;stroke-width:1.79166175;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;fill-opacity:1"
+ style="fill:#404040;fill-opacity:1;stroke:#ffffff;stroke-width:1.79166174;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect2233"
height="5.0509453"
width="5.0529833"
- y="17.624184"
- x="32.505089" /><rect
- style="fill:#ffffff;stroke:#ffffff;stroke-width:1.79166175;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ y="17.623993"
+ x="32.743912" /><rect
+ style="fill:#ffffff;stroke:#ffffff;stroke-width:1.79166174;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect2235"
height="5.0509453"
width="5.0529833"
- y="17.624184"
+ y="10.110903"
x="40.25333" /><rect
style="fill:#404040;stroke:#ffffff;stroke-width:1.79166175;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;fill-opacity:1"
id="rect2237"
diff --git a/images/game-new.svg b/images/game-new.svg
index e54ff7e..b71ccc1 100755
--- a/images/game-new.svg
+++ b/images/game-new.svg
@@ -25,23 +25,25 @@
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
id="defs2240" /><sodipodi:namedview
- inkscape:window-height="871"
- inkscape:window-width="1432"
+ inkscape:window-height="879"
+ inkscape:window-width="1440"
inkscape:pageshadow="2"
- inkscape:pageopacity="0.0"
+ inkscape:pageopacity="1"
guidetolerance="10.0"
gridtolerance="10.0"
objecttolerance="10.0"
borderopacity="1.0"
bordercolor="#666666"
- pagecolor="#ffffff"
+ pagecolor="#4b4b4b"
id="base"
inkscape:zoom="15.637993"
inkscape:cx="21.792"
- inkscape:cy="21.646"
- inkscape:window-x="4"
- inkscape:window-y="25"
- inkscape:current-layer="Icon" />
+ inkscape:cy="26.761746"
+ inkscape:window-x="0"
+ inkscape:window-y="21"
+ inkscape:current-layer="Icon"
+ showguides="true"
+ inkscape:guide-bbox="true" />
<rect
x="1.5007635"
y="1.5007635"
@@ -56,34 +58,22 @@
height="8.5757914"
id="rect2223"
style="fill:#404040;stroke:#ffffff;stroke-width:3.00152707;stroke-opacity:1;fill-opacity:1" />
+
+
<rect
- x="27.300175"
- y="1.5007635"
- width="8.5757914"
- height="8.5757914"
- id="rect2225"
- style="fill:#404040;stroke:#ffffff;stroke-width:3.00152707;stroke-opacity:1;fill-opacity:1" />
-<rect
- x="1.5007635"
- y="14.293271"
- width="8.5757914"
- height="8.5757914"
- id="rect2227"
- style="fill:#404040;stroke:#ffffff;stroke-width:3.00152707;stroke-opacity:1;fill-opacity:1" />
-<rect
- x="14.650882"
- y="14.293271"
+ x="14.522763"
+ y="27.082636"
width="8.5757914"
height="8.5757914"
id="rect2229"
- style="fill:#404040;stroke:#ffffff;stroke-width:3.00152707;stroke-opacity:1;fill-opacity:1" />
+ style="fill:#404040;fill-opacity:1;stroke:#ffffff;stroke-width:3.00152707;stroke-opacity:1" />
<rect
x="27.300175"
- y="14.293271"
+ y="14.320445"
width="8.5757914"
height="8.5757914"
id="rect2231"
- style="fill:#404040;stroke:#ffffff;stroke-width:3.00152707;stroke-opacity:1;fill-opacity:1" />
+ style="fill:#404040;fill-opacity:1;stroke:#ffffff;stroke-width:3.00152707;stroke-opacity:1" />
<rect
x="1.5007635"
y="27.049763"
@@ -92,8 +82,8 @@
id="rect2233"
style="fill:#404040;stroke:#ffffff;stroke-width:3.00152707;stroke-opacity:1;fill-opacity:1" />
<rect
- x="14.650882"
- y="27.049763"
+ x="14.522988"
+ y="14.320445"
width="8.5757914"
height="8.5757914"
id="rect2235"
@@ -104,7 +94,7 @@
width="8.5757914"
height="8.5757914"
id="rect2237"
- style="fill:#404040;stroke:#ffffff;stroke-width:3.00152707;stroke-opacity:1;fill-opacity:1" />
+ style="fill:#404040;fill-opacity:1;stroke:#ffffff;stroke-width:3.00152707;stroke-opacity:1" />
<g
id="g8128"
transform="matrix(1.1533304,0,0,1.1849266,74.491613,11.842114)"
@@ -124,4 +114,16 @@
sodipodi:nodetypes="cccccc"
id="path6171"
d="M -29.403233,14.298603 L -34.71123,18.835357 L -39.352442,24.018753 L -33.959691,19.472367 L -29.449186,14.344555 L -34.702238,18.923135"
- style="fill:#ffffff;fill-rule:evenodd;stroke:#ffffff;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;marker-start:none;stroke-opacity:1" /></g></svg> \ No newline at end of file
+ style="fill:#ffffff;fill-rule:evenodd;stroke:#ffffff;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;marker-start:none;stroke-opacity:1" /></g><rect
+ x="1.5007635"
+ y="14.320629"
+ width="8.5757914"
+ height="8.5757914"
+ id="rect2337"
+ style="fill:#ffffff;stroke:#ffffff;stroke-width:3.00152707;stroke-opacity:1" /><rect
+ x="27.299765"
+ y="1.5004449"
+ width="8.5757914"
+ height="8.5757914"
+ id="rect2339"
+ style="fill:#ffffff;stroke:#ffffff;stroke-width:3.00152707;stroke-opacity:1" /></svg> \ No newline at end of file
diff --git a/images/game-save.svg b/images/game-save.svg
index bc3e149..67742a7 100644
--- a/images/game-save.svg
+++ b/images/game-save.svg
@@ -43,13 +43,13 @@
inkscape:window-height="871"
inkscape:window-width="1432"
inkscape:pageshadow="2"
- inkscape:pageopacity="0.0"
+ inkscape:pageopacity="1"
guidetolerance="10.0"
gridtolerance="10.0"
objecttolerance="10.0"
borderopacity="1.0"
bordercolor="#666666"
- pagecolor="#ffffff"
+ pagecolor="#4b4b4b"
id="base"
inkscape:zoom="12.145455"
inkscape:cx="27.5"
@@ -112,53 +112,53 @@
id="rect2221"
height="4.2287102"
width="4.2304163"
- y="1.6075182"
- x="36.39415" /><rect
+ y="2.0430667"
+ x="36.411789" /><rect
style="fill:#404040;fill-opacity:1;stroke:#ffffff;stroke-width:1.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect2223"
height="4.2287102"
width="4.2304163"
- y="1.6075182"
- x="42.881065" /><rect
- style="fill:#404040;fill-opacity:1;stroke:#ffffff;stroke-width:1.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ y="2.0432274"
+ x="42.698757" /><rect
+ style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:1.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect2225"
height="4.2287102"
width="4.2304163"
- y="1.6075182"
- x="49.120937" /><rect
- style="fill:#404040;fill-opacity:1;stroke:#ffffff;stroke-width:1.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ y="2.0432274"
+ x="48.938633" /><rect
+ style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:1.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect2227"
height="4.2287102"
width="4.2304163"
- y="7.9154854"
- x="36.39415" /><rect
+ y="8.3510332"
+ x="36.411789" /><rect
style="fill:#404040;fill-opacity:1;stroke:#ffffff;stroke-width:1.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect2229"
height="4.2287102"
width="4.2304163"
- y="7.9154854"
- x="42.881065" /><rect
+ y="14.641401"
+ x="42.698757" /><rect
style="fill:#404040;fill-opacity:1;stroke:#ffffff;stroke-width:1.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect2231"
height="4.2287102"
width="4.2304163"
- y="7.9154854"
- x="49.120937" /><rect
+ y="8.3511934"
+ x="48.938633" /><rect
style="fill:#404040;fill-opacity:1;stroke:#ffffff;stroke-width:1.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect2233"
height="4.2287102"
width="4.2304163"
- y="14.20569"
- x="36.39415" /><rect
+ y="14.641241"
+ x="36.411789" /><rect
style="fill:#ffffff;stroke:#ffffff;stroke-width:1.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect2235"
height="4.2287102"
width="4.2304163"
- y="14.20569"
- x="42.881065" /><rect
+ y="8.3511934"
+ x="42.698757" /><rect
style="fill:#404040;fill-opacity:1;stroke:#ffffff;stroke-width:1.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect2237"
height="4.2287102"
width="4.2304163"
- y="14.20569"
- x="49.120937" /></svg> \ No newline at end of file
+ y="14.641401"
+ x="48.938633" /></svg> \ No newline at end of file
diff --git a/locale/pt_BR/LC_MESSAGES/org.laptop.Memorize.mo b/locale/pt_BR/LC_MESSAGES/org.laptop.Memorize.mo
index b9cedfd..bb6347c 100644
--- a/locale/pt_BR/LC_MESSAGES/org.laptop.Memorize.mo
+++ b/locale/pt_BR/LC_MESSAGES/org.laptop.Memorize.mo
Binary files differ
diff --git a/locale/pt_BR/activity.linfo b/locale/pt_BR/activity.linfo
index e3fbfbe..d591b92 100755
--- a/locale/pt_BR/activity.linfo
+++ b/locale/pt_BR/activity.linfo
@@ -1,2 +1,2 @@
[Activity]
-name = Memorize
+name = Jogo da Memória
diff --git a/memorizetoolbar.py b/memorizetoolbar.py
index f57c410..d78e7dc 100755
--- a/memorizetoolbar.py
+++ b/memorizetoolbar.py
@@ -34,19 +34,11 @@ class MemorizeToolbar(gtk.Toolbar):
standard_game_names = ['Load demo games',
'addition',
- 'capitals',
- 'drumgit',
'letters',
- 'numbers',
- 'phonemes'
]
translated_game_names = [_('Load demo games'),
_('addition'),
- _('capitals'),
- _('drumgit'),
_('letters'),
- _('numbers'),
- _('phonemes')
]
__gsignals__ = {
diff --git a/messenger.py b/messenger.py
index f7fc2bc..8a403e5 100644
--- a/messenger.py
+++ b/messenger.py
@@ -25,6 +25,7 @@ from os.path import join, getsize, isfile, dirname, basename
from dbus.service import method, signal
from dbus.gobject_service import ExportedGObject
from sugar.datastore import datastore
+from gettext import gettext as _
SERVICE = 'org.laptop.Memorize'
IFACE = SERVICE
@@ -176,7 +177,7 @@ class Messenger(ExportedGObject):
self.f.write(bytes)
percentage = int(float(part) / float(numparts) * 100.0)
- self.game.set_load_mode('Receiving game: '+str(percentage)+'% done.')
+ self.game.set_load_mode(_('Receiving game') + ': ' + str(percentage) + '% ' + _('done') + '.')
# last chunk
if part == numparts:
@@ -185,7 +186,7 @@ class Messenger(ExportedGObject):
# Saves the zip in datastore
gameObject = datastore.create()
gameObject.metadata['title'] = title
- gameObject.metadata['mime_type'] = 'application/memorizegame'
+ gameObject.metadata['mime_type'] = 'application/x-memorize-project'
gameObject.metadata['icon-color'] = color
gameObject.file_path = self.temp_file
datastore.write(gameObject)
diff --git a/model.py b/model.py
index ddfacbc..4861e65 100644
--- a/model.py
+++ b/model.py
@@ -330,7 +330,7 @@ class Model(object):
# Saves the zip in datastore
gameObject = datastore.create()
gameObject.metadata['title'] = title
- gameObject.metadata['mime_type'] = 'application/memorizegame'
+ gameObject.metadata['mime_type'] = 'application/x-memorize-project'
gameObject.metadata['icon-color'] = color
gameObject.file_path = path
datastore.write(gameObject)
diff --git a/po/memorize.pot b/po/memorize.pot
deleted file mode 100755
index c70cfb5..0000000
--- a/po/memorize.pot
+++ /dev/null
@@ -1,41 +0,0 @@
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date:2007-08-31 16:33-0300 \n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=utf-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-#: /home/msgodoi/olpc/workspace/Memorize.activity/activity.py:53
-msgid "Memorize Activity"
-msgstr ""
-
-#: /home/msgodoi/olpc/workspace/Memorize.activity/activity.py:67
-msgid "Games"
-msgstr ""
-
-#: /home/msgodoi/olpc/workspace/Memorize.activity/memorizetoolbar.py:33
-msgid "addition"
-msgstr ""
-
-#: /home/msgodoi/olpc/workspace/Memorize.activity/memorizetoolbar.py:33
-msgid "capitals"
-msgstr ""
-
-#: /home/msgodoi/olpc/workspace/Memorize.activity/memorizetoolbar.py:33
-msgid "drumgit"
-msgstr ""
-
-#: /home/msgodoi/olpc/workspace/Memorize.activity/memorizetoolbar.py:33
-msgid "letters"
-msgstr ""
-
-#: /home/msgodoi/olpc/workspace/Memorize.activity/memorizetoolbar.py:33
-msgid "numbers"
-msgstr ""
-
-#: /home/msgodoi/olpc/workspace/Memorize.activity/memorizetoolbar.py:33
-msgid "phonemes"
-msgstr ""
diff --git a/po/org.laptop.Memorize.pot b/po/org.laptop.Memorize.pot
new file mode 100755
index 0000000..d253467
--- /dev/null
+++ b/po/org.laptop.Memorize.pot
@@ -0,0 +1,121 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date:2007-08-31 16:33-0300 \n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: /home/msgodoi/olpc/workspace/Memorize.activity/game.py:103
+msgid "Loading game..."
+msgstr ""
+
+#: /home/msgodoi/olpc/workspace/Memorize.activity/memorizetoolbar.py:43
+msgid "Load demo games"
+msgstr ""
+
+#: /home/msgodoi/olpc/workspace/Memorize.activity/memorizetoolbar.py:44
+msgid "addition"
+msgstr ""
+
+#: /home/msgodoi/olpc/workspace/Memorize.activity/memorizetoolbar.py:45
+msgid "capitals"
+msgstr ""
+
+#: /home/msgodoi/olpc/workspace/Memorize.activity/memorizetoolbar.py:46
+msgid "drumgit"
+msgstr ""
+
+#: /home/msgodoi/olpc/workspace/Memorize.activity/memorizetoolbar.py:47
+msgid "letters"
+msgstr ""
+
+#: /home/msgodoi/olpc/workspace/Memorize.activity/memorizetoolbar.py:48
+msgid "numbers"
+msgstr ""
+
+#: /home/msgodoi/olpc/workspace/Memorize.activity/memorizetoolbar.py:49
+msgid "phonemes"
+msgstr ""
+
+#: /home/msgodoi/olpc/workspace/Memorize.activity/memorizetoolbar.py:69
+msgid "Restart Game"
+msgstr ""
+
+#: /home/msgodoi/olpc/workspace/Memorize.activity/memorizetoolbar.py:79
+#: /home/msgodoi/olpc/workspace/Memorize.activity/createtoolbar.py:63
+msgid "Load game"
+msgstr ""
+
+#: /home/msgodoi/olpc/workspace/Memorize.activity/memorizetoolbar.py:123
+#: /home/msgodoi/olpc/workspace/Memorize.activity/createtoolbar.py:116
+msgid "Choose memorize game"
+msgstr ""
+
+#: /home/msgodoi/olpc/workspace/Memorize.activity/messenger.py:180
+msgid "Receiving game"
+msgstr ""
+
+#: /home/msgodoi/olpc/workspace/Memorize.activity/messenger.py:180
+msgid "done"
+msgstr ""
+
+#: /home/msgodoi/olpc/workspace/Memorize.activity/activity.py:70
+msgid "Create"
+msgstr ""
+
+#: /home/msgodoi/olpc/workspace/Memorize.activity/activity.py:74
+msgid "Play"
+msgstr ""
+
+#: /home/msgodoi/olpc/workspace/Memorize.activity/createcardpanel.py:50
+msgid "Add as new pair"
+msgstr ""
+
+#: /home/msgodoi/olpc/workspace/Memorize.activity/createcardpanel.py:58
+msgid "Update selected pair"
+msgstr ""
+
+#: /home/msgodoi/olpc/workspace/Memorize.activity/createcardpanel.py:175
+msgid "Preview:"
+msgstr ""
+
+#: /home/msgodoi/olpc/workspace/Memorize.activity/createcardpanel.py:177
+msgid "Text:"
+msgstr ""
+
+#: /home/msgodoi/olpc/workspace/Memorize.activity/createcardpanel.py:238
+msgid "Choose image"
+msgstr ""
+
+#: /home/msgodoi/olpc/workspace/Memorize.activity/createcardpanel.py:258
+msgid "Choose audio"
+msgstr ""
+
+#: /home/msgodoi/olpc/workspace/Memorize.activity/createtoolbar.py:53
+msgid "New game"
+msgstr ""
+
+#: /home/msgodoi/olpc/workspace/Memorize.activity/createtoolbar.py:73
+msgid "Save game"
+msgstr ""
+
+#: /home/msgodoi/olpc/workspace/Memorize.activity/createtoolbar.py:83
+msgid "Game name"
+msgstr ""
+
+#: /home/msgodoi/olpc/workspace/Memorize.activity/createtoolbar.py:87
+msgid "Equal pairs"
+msgstr ""
+
+#: /home/msgodoi/olpc/workspace/Memorize.activity/createtoolbar.py:99
+#: /home/msgodoi/olpc/workspace/Memorize.activity/createtoolbar.py:158
+msgid "Click for grouped game"
+msgstr ""
+
+#: /home/msgodoi/olpc/workspace/Memorize.activity/createtoolbar.py:154
+msgid "Click for ungrouped game"
+msgstr ""
diff --git a/po/pt_BR.po b/po/pt_BR.po
deleted file mode 100755
index 1e47ccd..0000000
--- a/po/pt_BR.po
+++ /dev/null
@@ -1,49 +0,0 @@
-msgid ""
-msgstr ""
-"Project-Id-Version: Memorize\n"
-"POT-Creation-Date: \n"
-"PO-Revision-Date: 2007-08-31 16:28-0300\n"
-"Last-Translator: Muriel de Souza Godoi <muriel@laptop.org>\n"
-"Language-Team: Muriel de Souza Godoi <muriel@laptop.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=utf-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Poedit-Language: English\n"
-"X-Poedit-Country: UNITED STATES\n"
-"X-Poedit-SourceCharset: utf-8\n"
-"X-Poedit-KeywordsList: _\n"
-"X-Poedit-Basepath: .\n"
-"X-Poedit-SearchPath-0: /home/msgodoi/olpc/workspace/Memorize.activity\n"
-
-#: /home/msgodoi/olpc/workspace/Memorize.activity/activity.py:53
-msgid "Memorize Activity"
-msgstr "Jogo da Memória"
-
-#: /home/msgodoi/olpc/workspace/Memorize.activity/activity.py:67
-msgid "Games"
-msgstr "Jogos"
-
-#: /home/msgodoi/olpc/workspace/Memorize.activity/memorizetoolbar.py:33
-msgid "addition"
-msgstr "adição"
-
-#: /home/msgodoi/olpc/workspace/Memorize.activity/memorizetoolbar.py:33
-msgid "capitals"
-msgstr "capitais"
-
-#: /home/msgodoi/olpc/workspace/Memorize.activity/memorizetoolbar.py:33
-msgid "drumgit"
-msgstr "drumgit"
-
-#: /home/msgodoi/olpc/workspace/Memorize.activity/memorizetoolbar.py:33
-msgid "letters"
-msgstr "letras"
-
-#: /home/msgodoi/olpc/workspace/Memorize.activity/memorizetoolbar.py:33
-msgid "numbers"
-msgstr "números"
-
-#: /home/msgodoi/olpc/workspace/Memorize.activity/memorizetoolbar.py:33
-msgid "phonemes"
-msgstr "sílabas"
-