diff options
author | Walter Bender <walter@sugarlabs.org> | 2010-09-27 16:54:24 (GMT) |
---|---|---|
committer | Walter Bender <walter@sugarlabs.org> | 2010-09-27 16:54:24 (GMT) |
commit | bf6f571c579772a69aed4b0487089df9bf15d4a1 (patch) | |
tree | b0afd5c88f9784fdbe36ab2228f3c6a5c56b6256 | |
parent | a9282caa89f1ed03c975efcd6ca3252137e15eb3 (diff) |
more robust copy/paste processing
-rw-r--r-- | SlideruleActivity.py | 4 | ||||
-rw-r--r-- | sprite_factory.py | 2 | ||||
-rw-r--r-- | window.py | 7 |
3 files changed, 10 insertions, 3 deletions
diff --git a/SlideruleActivity.py b/SlideruleActivity.py index ea0cd4f..2dc6236 100644 --- a/SlideruleActivity.py +++ b/SlideruleActivity.py @@ -476,7 +476,9 @@ class SlideruleActivity(activity.Activity): def _copy_cb(self, arg=None): """ Copy a number to the clipboard from the active slide. """ clipBoard = gtk.Clipboard() - if self.sr.last is not None and self.sr.last.labels[0] is not None: + if self.sr.last is not None and \ + self.sr.last.labels is not None and \ + self.sr.last.labels[0] is not None: clipBoard.set_text(self.sr.last.labels[0]) return diff --git a/sprite_factory.py b/sprite_factory.py index 2f06057..08adcb9 100644 --- a/sprite_factory.py +++ b/sprite_factory.py @@ -150,7 +150,7 @@ class Tab(): def __init__(self, sprites, path, name, x, y, w, h): self.spr = Sprite(sprites, x, y, file_to_pixbuf(path, name, w, h)) self.spr.label = "1.0" - + self.name = name def file_to_pixbuf(path, name, w, h): """ Load pixbuf from a file. """ @@ -556,7 +556,12 @@ class SlideRule(): def _button_release_cb(self, win, event): if self.press == None: return True - self.last = self.press + if self.press == self.active_slide.spr: + self.last = self.active_slide.tabs[LEFT].spr + elif self.press == self.active_stator.spr: + self.last = None + else: + self.last = self.press self.press = None self.update_result_label() |