diff options
author | Ariel Calzada <ariel@activitycentral.com> | 2012-06-12 01:50:43 (GMT) |
---|---|---|
committer | Ariel Calzada <ariel@activitycentral.com> | 2012-06-12 01:50:43 (GMT) |
commit | 45cee85ba7175ed92dd19a3e40bf9c40d029e01a (patch) | |
tree | 87132e5b6eff5dd0b823a3c165d8909a2c101259 /createtoolbar.py | |
parent | c725f091fd988944611acb1f092592644815c2be (diff) |
Diffstat (limited to 'createtoolbar.py')
-rw-r--r-- | createtoolbar.py | 42 |
1 files changed, 27 insertions, 15 deletions
diff --git a/createtoolbar.py b/createtoolbar.py index 9f95553..49feaf7 100644 --- a/createtoolbar.py +++ b/createtoolbar.py @@ -20,6 +20,7 @@ from gettext import gettext as _ import gtk import gobject from gobject import SIGNAL_RUN_FIRST, TYPE_PYOBJECT +import logging from sugar.graphics.toolbutton import ToolButton from sugar.graphics.toggletoolbutton import ToggleToolButton @@ -42,17 +43,17 @@ class CreateToolbarBuilder(gobject.GObject): self.toolbar = self.activity.get_toolbar_box().toolbar self._equal_pairs = ToggleToolButton('pair-non-equals') - self._equal_pairs.set_tooltip(_('Set equal pairs')) + self._equal_pairs.set_tooltip(_('Match different tiles')) self._equal_pairs.connect('toggled', self._emit_equal_pairs) self.toolbar.insert(self._equal_pairs, -1) self._grouped = ToggleToolButton('grouped_game1') - self._grouped.set_tooltip(_('Set grouped game')) + self._grouped.set_tooltip(_('Mixed tiles game')) self._grouped.connect('toggled', self._grouped_cb) self.toolbar.insert(self._grouped, -1) self._clear_button = ToolButton('edit-clear') - self._clear_button.set_tooltip(_('Clear current game')) + self._clear_button.set_tooltip(_('Clear all tiles')) self._clear_button.connect('clicked', self._clear_game_bt) self.toolbar.insert(self._clear_button, -1) @@ -67,18 +68,25 @@ class CreateToolbarBuilder(gobject.GObject): tool_item.show() def _clear_game_bt(self, button): - alert = Alert() - alert.props.title = _('Clear all the tiles from the game?') - icon = Icon(icon_name='dialog-ok') - alert.add_button(1, _('Clear'), icon) - icon = Icon(icon_name='dialog-cancel') - alert.add_button(0, _('Do not clear'), icon) - alert.connect('response', self._clear_game_alert_cb) - self.activity.add_alert(alert) + if self.activity.game.model.is_demo or \ + len(self.activity.cardlist.pairs) == 0: + self.clear_game() + else: + alert = Alert() + alert.props.title = _('Clear all the tiles from the game?') + icon = Icon(icon_name='dialog-ok') + alert.add_button(1, _('Clear'), icon) + icon = Icon(icon_name='dialog-cancel') + alert.add_button(0, _('Do not clear'), icon) + alert.connect('response', self._clear_game_alert_cb) + self.activity.add_alert(alert) def _clear_game_alert_cb(self, alert, response_id): self.activity.remove_alert(alert) if response_id == 1: + self.clear_game() + + def clear_game(self): self._equal_pairs.set_active(False) self._grouped.set_active(False) self.emit('create_new_game') @@ -91,23 +99,27 @@ class CreateToolbarBuilder(gobject.GObject): def _emit_equal_pairs(self, widget): if self._equal_pairs.get_active(): self._equal_pairs.set_named_icon('pair-equals') - self._equal_pairs.set_tooltip(_('Set non equal pairs')) + self._equal_pairs.set_tooltip(_('Match identical tiles')) self.activity.game.model.data['equal_pairs'] = '1' else: self._equal_pairs.set_named_icon('pair-non-equals') - self._equal_pairs.set_tooltip(_('Set equal pairs')) + self._equal_pairs.set_tooltip(_('Match different tiles')) self.activity.game.model.data['equal_pairs'] = '0' self.emit('create_equal_pairs', self._equal_pairs.get_active()) + logging.debug('createtoolbar._emit_equal_pairs') + self.activity.game.model.mark_modified() def _grouped_cb(self, widget): if self._grouped.get_active(): self._grouped.set_named_icon('grouped_game2') - self._grouped.set_tooltip(_('Set ungrouped game')) + self._grouped.set_tooltip(_('Grouped tiles game')) self.activity.game.model.data['divided'] = '1' else: self._grouped.set_named_icon('grouped_game1') - self._grouped.set_tooltip(_('Set grouped game')) + self._grouped.set_tooltip(_('Mixed tiles game')) self.activity.game.model.data['divided'] = '0' + logging.debug('createtoolbar._grouped_cb') + self.activity.game.model.mark_modified() def update_create_toolbar(self, widget, game_name, equal_pairs, grouped): self._equal_pairs.set_active(equal_pairs == '1') |