Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Francis <francis@sugarlabs.org>2012-07-25 00:16:08 (GMT)
committer Daniel Francis <francis@sugarlabs.org>2012-07-25 00:16:08 (GMT)
commitcb3381c3226889292bb9c371593ae2bb0a278823 (patch)
tree7aa7ebc5286d383330ee2bda7810505ab6c40cc0
parent9b05fa1fa80a32f2099dd102b584e7212ce84fb3 (diff)
Solved animation preview bugHEADmaster
-rw-r--r--activity.py6
-rw-r--r--frames_tray.py22
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)