From b1b2c2290e0186558370085cb0944905458caec1 Mon Sep 17 00:00:00 2001 From: Walter Bender Date: Mon, 30 Jul 2012 15:21:44 +0000 Subject: clean up some problems with custom colors when sharing --- diff --git a/GNUChessActivity.py b/GNUChessActivity.py index 9024e01..73ddf42 100644 --- a/GNUChessActivity.py +++ b/GNUChessActivity.py @@ -255,7 +255,7 @@ class GNUChessActivity(activity.Activity): icon.show() skin_button2.set_icon_widget(icon) - self.skin_button3 = radio_factory('view-source', + self.skin_button3 = radio_factory('white-knight-custom', self.view_toolbar, self.do_custom_skin_cb, tooltip=_('Custom pieces'), @@ -439,27 +439,25 @@ class GNUChessActivity(activity.Activity): '%s/icons/white-pawn.svg' % (activity.get_bundle_path())) def _black_peices(self, colors): - self._gnuchess.reskin_from_svg('black_king', colors) - self._gnuchess.reskin_from_svg('black_queen', colors) - self._gnuchess.reskin_from_svg('black_bishop', colors) - self._gnuchess.reskin_from_svg('black_knight', colors) - self._gnuchess.reskin_from_svg('black_rook', colors) - self._gnuchess.reskin_from_svg('black_pawn', colors) + self._gnuchess.reskin_from_svg('black_king', colors, bw='#000000') + self._gnuchess.reskin_from_svg('black_queen', colors, bw='#000000') + self._gnuchess.reskin_from_svg('black_bishop', colors, bw='#000000') + self._gnuchess.reskin_from_svg('black_knight', colors, bw='#000000') + self._gnuchess.reskin_from_svg('black_rook', colors, bw='#000000') + self._gnuchess.reskin_from_svg('black_pawn', colors, bw='#000000') def _white_peices(self, colors): - self._gnuchess.reskin_from_svg('white_king', colors) - self._gnuchess.reskin_from_svg('white_queen', colors) - self._gnuchess.reskin_from_svg('white_bishop', colors) - self._gnuchess.reskin_from_svg('white_knight', colors) - self._gnuchess.reskin_from_svg('white_rook', colors) - self._gnuchess.reskin_from_svg('white_pawn', colors) + self._gnuchess.reskin_from_svg('white_king', colors, bw='#ffffff') + self._gnuchess.reskin_from_svg('white_queen', colors, bw='#ffffff') + self._gnuchess.reskin_from_svg('white_bishop', colors, bw='#ffffff') + self._gnuchess.reskin_from_svg('white_knight', colors, bw='#ffffff') + self._gnuchess.reskin_from_svg('white_rook', colors, bw='#ffffff') + self._gnuchess.reskin_from_svg('white_pawn', colors, bw='#ffffff') def do_sugar_skin_cb(self, button=None): colors = self.colors if not self._gnuchess.we_are_sharing: - colors[1] = '#000000' self._black_peices(colors) - colors[1] = '#ffffff' self._white_peices(colors) else: if self.playing_white: @@ -927,7 +925,7 @@ params=%r state=%d' % (id, initiator, type, service, params, state)) def _receive_colors(self, payload): _logger.debug('received_colors %s' % (payload)) - self.opponent_colors = payload + self.opponent_colors = payload.split(',') xocolors = XoColor(payload) icon = Icon(icon_name='human', xo_color=xocolors) icon.show() diff --git a/chess.py b/chess.py index b3e4b93..ab20455 100644 --- a/chess.py +++ b/chess.py @@ -1549,7 +1549,7 @@ Black's turn." % (move)) y += self.scale k += 1 - def reskin_from_svg(self, piece, colors): + def reskin_from_svg(self, piece, colors, bw='#ffffff'): DICT = {'white_pawn': svg_pawn, 'black_pawn': svg_pawn, 'white_rook': svg_rook, 'black_rook': svg_rook, 'white_knight': svg_knight, 'black_knight': svg_knight, @@ -1557,7 +1557,7 @@ Black's turn." % (move)) 'white_queen': svg_queen, 'black_queen': svg_queen, 'white_king': svg_king, 'black_king': svg_king} pixbuf = svg_str_to_pixbuf( - svg_header(colors) + DICT[piece](colors[0]) + svg_footer(), + svg_header(colors) + DICT[piece](bw) + svg_footer(), w=self.scale, h=self.scale) self._reskin(piece, pixbuf) diff --git a/icons/white-knight-custom.svg b/icons/white-knight-custom.svg new file mode 100644 index 0000000..6525051 --- /dev/null +++ b/icons/white-knight-custom.svg @@ -0,0 +1,126 @@ + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -- cgit v0.9.1