diff options
author | Walter Bender <walter.bender@gmail.com> | 2012-10-02 13:28:00 (GMT) |
---|---|---|
committer | Walter Bender <walter.bender@gmail.com> | 2012-10-02 13:28:00 (GMT) |
commit | 516cf797d7b51f341f2cf9b9df6099cce3136d9b (patch) | |
tree | 52d8d713736ee7125119093bb2bc5ef814d4a846 | |
parent | c8a385d739197b209adffee5bef8360b40bb4747 (diff) |
added undo, new stop button behavior, fixed radio button behavior #3976
-rw-r--r-- | TurtleArtActivity.py | 26 |
1 files changed, 19 insertions, 7 deletions
diff --git a/TurtleArtActivity.py b/TurtleArtActivity.py index aec73a1..1bc456e 100644 --- a/TurtleArtActivity.py +++ b/TurtleArtActivity.py @@ -271,12 +271,17 @@ class TurtleArtActivity(activity.Activity): self.tw.run_button(self.tw.step_time, running_from_button_push=True) def do_stop_cb(self, button): - ''' Callback for stop button. ''' - self.stop_turtle_button.set_icon('stopitoff') - self.stop_turtle_button.set_tooltip(_('Stop turtle')) - self.tw.stop_button() + ''' Callback for turtle stop button ''' # Auto show blocks after stop - self.tw.showblocks() + if not self.tw.hide and not self.tw.running_blocks: + self.tw.hideblocks() + self.stop_turtle_button.set_icon('hideshowon') + self.stop_turtle_button.set_tooltip(_('Show blocks')) + else: + self.tw.showblocks() + self.stop_turtle_button.set_icon('hideshowoff') + self.stop_turtle_button.set_tooltip(_('Hide blocks')) + self.tw.stop_button() self.tw.display_coordinates() def do_samples_cb(self, button): @@ -488,6 +493,8 @@ class TurtleArtActivity(activity.Activity): edit_toolbar, '<Ctrl>c') self._add_button('edit-paste', _('Paste'), self._paste_cb, edit_toolbar, '<Ctrl>v') + self._add_button('edit-undo', _('Restore blocks from trash'), + self._undo_cb, edit_toolbar) self._add_button('view-fullscreen', _('Fullscreen'), self.do_fullscreen_cb, view_toolbar, '<Alt>Return') self._add_button('view-Cartesian', _('Cartesian coordinates'), @@ -616,6 +623,7 @@ class TurtleArtActivity(activity.Activity): add_section(help_box, _('Edit'), icon='toolbar-edit') add_paragraph(help_box, _('Copy'), icon='edit-copy') add_paragraph(help_box, _('Paste'), icon='edit-paste') + add_paragraph(help_box, _('Undo'), icon='edit-undo') help_box = Gtk.VBox() help_box.set_homogeneous(False) @@ -743,7 +751,7 @@ class TurtleArtActivity(activity.Activity): self.step_button = self._add_button( 'run-slowoff', _('Step'), self.do_step_cb, toolbar, _('<Ctrl>w')) self.stop_turtle_button = self._add_button( - 'stopitoff', _('Stop turtle'), self.do_stop_cb, toolbar, + 'hideshowoff', _('Stop turtle'), self.do_stop_cb, toolbar, _('<Ctrl>s')) def _check_ver_change(self, datapath): @@ -1104,6 +1112,10 @@ skipping insert') self.tw.paste_offset) self.tw.paste_offset += 20 + def _undo_cb(self, button): + ''' Restore most recent item added to the trash ''' + self.tw.restore_latest_from_trash() + def _share_cb(self, button): ''' Share a stack of blocks. ''' if self.sharing_blocks: @@ -1181,7 +1193,7 @@ skipping insert') group, position=-1): ''' Add a radio button to a toolbar ''' button = RadioToolButton(group=group) - button.set_named_icon(button_name) + button.set_icon_name(button_name) if cb is not None: if arg is None: button.connect('clicked', cb) |