diff options
author | Walter Bender <walter.bender@gmail.com> | 2012-06-30 18:00:41 (GMT) |
---|---|---|
committer | Walter Bender <walter.bender@gmail.com> | 2012-06-30 18:00:41 (GMT) |
commit | 031d8f5adafaade8b4d6cdcfa98c99fbad19ca82 (patch) | |
tree | db3409c7835252883818ad6319529a71641b02dd /TurtleArt/tawindow.py | |
parent | c792d86e92f6c5e38e752e45ef5a350d7f636188 (diff) |
use same mechanism for sharing stacks as in copying stacks
Diffstat (limited to 'TurtleArt/tawindow.py')
-rw-r--r-- | TurtleArt/tawindow.py | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/TurtleArt/tawindow.py b/TurtleArt/tawindow.py index 8f37de7..78b0d0b 100644 --- a/TurtleArt/tawindow.py +++ b/TurtleArt/tawindow.py @@ -1269,7 +1269,8 @@ class TurtleArtWindow(): # From the sprite at x, y, look for a corresponding block blk = self.block_list.spr_to_block(spr) ''' If we were copying and didn't click on a block... ''' - if self.running_sugar and self.activity.copying: + if self.running_sugar and \ + (self.activity.copying or self.activity.sharing_blocks): if blk is None or blk.type != 'block': self.activity.restore_cursor() if blk is not None: @@ -1651,13 +1652,17 @@ class TurtleArtWindow(): self.drag_group = find_group(blk) (sx, sy) = blk.spr.get_xy() self.drag_pos = x - sx, y - sy - if self.running_sugar and self.activity.copying: + if self.running_sugar and \ + (self.activity.copying or self.activity.sharing_blocks): for blk in self.drag_group: if blk.status != 'collapsed': blk.spr.set_layer(TOP_LAYER) blk.highlight() self.block_operation = 'copying' - self.activity.send_to_clipboard() + if self.activity.copying: + self.activity.send_to_clipboard() + else: + self.activity.share_blocks() if self.running_sugar and self._sharing and \ hasattr(self.activity, 'share_button'): self.activity.share_button.set_tooltip( @@ -2168,6 +2173,9 @@ class TurtleArtWindow(): abs(self.dy < MOTION_THRESHOLD))): self._click_block(x, y) elif self.block_operation == 'copying': + gobject.timeout_add(500, self._unhighlight_drag_group, blk) + + def _unhighlight_drag_group(self, blk): self.drag_group = find_group(blk) for gblk in self.drag_group: gblk.unhighlight() |