Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/GNUChessActivity.py
diff options
context:
space:
mode:
authorWalter Bender <walter.bender@gmail.com>2012-07-23 13:41:01 (GMT)
committer Walter Bender <walter.bender@gmail.com>2012-07-23 13:41:01 (GMT)
commit3d0be449b7c119899c4e3c524742deb6f07d8760 (patch)
treed3a2eb9bfedd3dc4d4a6531f373da00b89a54284 /GNUChessActivity.py
parent088232d0f39d3ffea673b1ed8dd3baa2067e9923 (diff)
reskinning of pieces; pawn->queen
Diffstat (limited to 'GNUChessActivity.py')
-rw-r--r--GNUChessActivity.py65
1 files changed, 37 insertions, 28 deletions
diff --git a/GNUChessActivity.py b/GNUChessActivity.py
index 1c8e494..bd903c9 100644
--- a/GNUChessActivity.py
+++ b/GNUChessActivity.py
@@ -241,82 +241,82 @@ class GNUChessActivity(activity.Activity):
button_factory('white-pawn',
self.custom_toolbar,
- self._reskin,
- cb_arg='white-pawn',
+ self._reskin_cb,
+ cb_arg='white_pawn',
tooltip=_('White Pawn'))
button_factory('black-pawn',
self.custom_toolbar,
- self._reskin,
- cb_arg='black-pawn',
+ self._reskin_cb,
+ cb_arg='black_pawn',
tooltip=_('Black Pawn'))
button_factory('white-rook',
self.custom_toolbar,
- self._reskin,
- cb_arg='white-rook',
+ self._reskin_cb,
+ cb_arg='white_rook',
tooltip=_('White Rook'))
button_factory('black-rook',
self.custom_toolbar,
- self._reskin,
- cb_arg='black-rook',
+ self._reskin_cb,
+ cb_arg='black_rook',
tooltip=_('Black Rook'))
button_factory('white-knight',
self.custom_toolbar,
- self._reskin,
- cb_arg='white-knight',
+ self._reskin_cb,
+ cb_arg='white_knight',
tooltip=_('White Knight'))
button_factory('black-knight',
self.custom_toolbar,
- self._reskin,
- cb_arg='black-knight',
+ self._reskin_cb,
+ cb_arg='black_knight',
tooltip=_('Black Knight'))
button_factory('white-bishop',
self.custom_toolbar,
- self._reskin,
- cb_arg='white-bishop',
+ self._reskin_cb,
+ cb_arg='white_bishop',
tooltip=_('White Bishop'))
button_factory('black-bishop',
self.custom_toolbar,
- self._reskin,
- cb_arg='black-bishop',
+ self._reskin_cb,
+ cb_arg='black_bishop',
tooltip=_('Black Bishop'))
button_factory('white-queen',
self.custom_toolbar,
- self._reskin,
- cb_arg='white-queen',
+ self._reskin_cb,
+ cb_arg='white_queen',
tooltip=_('White Queen'))
button_factory('black-queen',
self.custom_toolbar,
- self._reskin,
- cb_arg='black-queen',
+ self._reskin_cb,
+ cb_arg='black_queen',
tooltip=_('Black Queen'))
button_factory('white-king',
self.custom_toolbar,
- self._reskin,
- cb_arg='white-king',
+ self._reskin_cb,
+ cb_arg='white_king',
tooltip=_('White King'))
button_factory('black-king',
self.custom_toolbar,
- self._reskin,
- cb_arg='black-king',
+ self._reskin_cb,
+ cb_arg='black_king',
tooltip=_('Black King'))
- def _reskin(self, button, piece):
+ def _reskin_cb(self, button, piece):
_logger.debug('reskin %s' % (piece))
id, file_path = self._choose_skin()
if file_path is not None:
self._gnuchess.reskin(piece, file_path)
- self.metadate[piece] = id
+ self.metadata[piece] = str(id)
def do_fullscreen_cb(self, button):
''' Hide the Sugar toolbars. '''
@@ -453,8 +453,17 @@ class GNUChessActivity(activity.Activity):
self.playing_robot = False
self.play_human_button.set_active(True)
self._gnuchess.restore_game(self._parse_move_list(self.game_data))
- # TODO: restore pieces...
-
+ for piece in ['white_pawn', 'black_pawn',
+ 'white_rook', 'black_rook',
+ 'white_knight', 'black_knight',
+ 'white_bishop', 'black_bishop',
+ 'white_queen', 'black_queen',
+ 'white_king', 'black_king']:
+ if piece in self.metadata:
+ id = self.metadata[piece]
+ jobject = datastore.get(id)
+ if jobject is not None and jobject.file_path is not None:
+ self._gnuchess.reskin(piece, jobject.file_path)
def _choose_skin(self):
''' Select a skin from the Journal '''