diff options
author | Daniel Francis <francis@sugarlabs.org> | 2012-07-25 00:16:08 (GMT) |
---|---|---|
committer | Daniel Francis <francis@sugarlabs.org> | 2012-07-25 00:16:08 (GMT) |
commit | cb3381c3226889292bb9c371593ae2bb0a278823 (patch) | |
tree | 7aa7ebc5286d383330ee2bda7810505ab6c40cc0 | |
parent | 9b05fa1fa80a32f2099dd102b584e7212ce84fb3 (diff) |
-rw-r--r-- | activity.py | 6 | ||||
-rw-r--r-- | frames_tray.py | 22 |
2 files changed, 12 insertions, 16 deletions
diff --git a/activity.py b/activity.py index 1939415..a76e0a0 100644 --- a/activity.py +++ b/activity.py @@ -26,6 +26,9 @@ import tempfile import zipfile import json +import logging +logger = logging.getLogger() + import gtk import gobject @@ -86,7 +89,8 @@ class AnimateActivity(activity.Activity): def _move_cb(self, widget, index, new_index): self._animation.move(index, new_index) - def _current_frame_changed_cb(self, index): + def _current_frame_changed_cb(self, widget, index): + logger.debug('%d' % index) self._animation.set_current_frame(index) def write_file(self, file_path): diff --git a/frames_tray.py b/frames_tray.py index 097e764..ac5b281 100644 --- a/frames_tray.py +++ b/frames_tray.py @@ -38,20 +38,19 @@ class FramesTray(HTray): HTray.__init__(self) self._group = None - self._frames_count = 0 self.set_size_request(-1, style.LARGE_ICON_SIZE + 10) self.show() def add_frame(self, pixbuf): - self._frames_count += 1 - item = FrameWidget(pixbuf, self._frames_count) + item = FrameWidget(pixbuf) if not self._group: self._group = item else: item.set_group(self._group) self.add_item(item) + item.connect('toggled', self._frame_selected) def get_selected_frame(self): for button in self.get_children(): @@ -69,21 +68,17 @@ class FramesTray(HTray): def select_frame(self, index): self.get_children()[index].set_active(True) - def _frame_selected(self, index): - self.emit('current-frame-changed', index) + def _frame_selected(self, widget): + if widget.get_active(): + index = self.get_children().index(widget) + self.emit('current-frame-changed', index) class FrameWidget(RadioToolButton): - __gsignals__ = {"frame-selected": (gobject.SIGNAL_RUN_LAST, - gobject.TYPE_NONE, - (gobject.TYPE_INT,))} - - def __init__(self, pixbuf, index): + def __init__(self, pixbuf): super(FrameWidget, self).__init__() - self._index = index - width = pixbuf.get_width() height = pixbuf.get_height() preview_pixbuf = pixbuf.scale_simple(style.LARGE_ICON_SIZE * @@ -95,6 +90,3 @@ class FrameWidget(RadioToolButton): image.show() self.show() - - def __frame_selected_cb(self, widget): - self.emit('frame-selected', self._index) |