Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWalter 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)
commit516cf797d7b51f341f2cf9b9df6099cce3136d9b (patch)
tree52d8d713736ee7125119093bb2bc5ef814d4a846
parentc8a385d739197b209adffee5bef8360b40bb4747 (diff)
added undo, new stop button behavior, fixed radio button behavior #3976
-rw-r--r--TurtleArtActivity.py26
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)