From f5a34aaa8fd22624f5a6eda21e8071eaff9ee16d Mon Sep 17 00:00:00 2001 From: Gonzalo Odiard Date: Tue, 25 Sep 2012 15:41:29 +0000 Subject: Fix error in the use of menus to change game and size This error was introduced when used menuitem instead of combo to change the game and size. Now the icon in the button show the selected option. Signed-off-by: Gonzalo Odiard --- diff --git a/activity.py b/activity.py index 1fdf8ac..1588cc9 100644 --- a/activity.py +++ b/activity.py @@ -122,6 +122,8 @@ class MemorizeActivity(Activity): self.cardlist.clean_list) self._createToolbarBuilder.connect('create_new_game', self.createcardpanel.clean) + self._createToolbarBuilder.connect('create_new_game', + self._memorizeToolbarBuilder.reset) self._createToolbarBuilder.connect('create_equal_pairs', self.change_equal_pairs) self.game = game.MemorizeGame() diff --git a/memorizetoolbar.py b/memorizetoolbar.py index dc6bc98..1a06da7 100644 --- a/memorizetoolbar.py +++ b/memorizetoolbar.py @@ -65,6 +65,7 @@ class MemorizeToolbarBuilder(gobject.GObject): self._demo_games.props.palette.menu.append(menu_item) menu_item.show() self.toolbar.insert(self._demo_games, -1) + self._selected_game = self.standard_game_names[0] # Change size combobox self._size_combo = RadioMenuButton(icon_name='change_size') @@ -77,6 +78,7 @@ class MemorizeToolbarBuilder(gobject.GObject): self._size_combo.props.palette.menu.append(menu_item) menu_item.show() self.toolbar.insert(self._size_combo, -1) + self._selected_game_size = self._sizes[0][0] # Reset Button self._restart_button = ToolButton('game-new') @@ -95,8 +97,10 @@ class MemorizeToolbarBuilder(gobject.GObject): self._restart_button.set_sensitive(active) def _game_size_cb(self, widget, i): - game_size = int(self._sizes[i][0]) - self.emit('game_changed', None, game_size, 'size', None, None) + self._selected_game_size = int(self._sizes[i][0]) + self._size_combo.props.icon_name = self._sizes[i] + self.emit('game_changed', None, self._selected_game_size, 'size', None, + None) def __activate_game_cb(self, menu, i): self._game_selected_index = i @@ -120,16 +124,16 @@ class MemorizeToolbarBuilder(gobject.GObject): def _change_game(self): title = self.translated_game_names[self._game_selected_index] - game_size = int(self._sizes[self._size_combo.combo.get_active()][0]) + game_size = int(self._selected_game_size) game_name = self.standard_game_names[self._game_selected_index] - + self._demo_games.props.icon_name = game_name game_file = join(dirname(__file__), 'demos', game_name + '.zip') self.emit('game_changed', game_file, game_size, 'demo', title, None) + def reset(self, widget): + self._demo_games.props.icon_name = 'memorize-collection' + def update_toolbar(self, widget, data, grid): size = data.get('size') - self._size_combo.combo.handler_block(self.size_handle_id) - size_index = self._sizes.index(size + ' X ' + size) - self._size_combo.combo.set_active(int(size_index)) - self._size_combo.combo.handler_unblock(self.size_handle_id) + self._size_combo.props.icon_name = size + ' X ' + size -- cgit v0.9.1