[pitivi] transitions: Bring back transition type handling



commit e2c0a432091c4af45941666cd56c9482fcf923cb
Author: Thibault Saunier <thibault saunier collabora com>
Date:   Sat Aug 31 13:13:34 2013 -0400

    transitions: Bring back transition type handling

 pitivi/timeline/elements.py |   14 ++++++++++++++
 pitivi/transitions.py       |   12 ++----------
 2 files changed, 16 insertions(+), 10 deletions(-)
---
diff --git a/pitivi/timeline/elements.py b/pitivi/timeline/elements.py
index b3c88df..256fe07 100644
--- a/pitivi/timeline/elements.py
+++ b/pitivi/timeline/elements.py
@@ -1147,6 +1147,7 @@ class TransitionElement(TimelineElement):
     def __init__(self, bElement, track, timeline):
         TimelineElement.__init__(self, bElement, track, timeline)
         self.isDragged = True
+        self.set_reactive(True)
 
     def _createBackground(self, track):
         self.background = RoundedRectangle(0, 0, 0, 0)
@@ -1156,3 +1157,16 @@ class TransitionElement(TimelineElement):
         self.background.set_border_width(1)
         self.background.set_position(0, 0)
         self.add_child(self.background)
+
+    def _selectedChangedCb(self, selected, isSelected):
+        TimelineElement._selectedChangedCb(self, selected, isSelected)
+
+        if isSelected:
+            self.timeline._container.app.gui.trans_list.activate(self.bElement)
+        else:
+            self.timeline._container.app.gui.trans_list.deactivate()
+
+    def _clickedCb(self, action, actor):
+        selection = set([self.bElement])
+        self.timeline.selection.setSelection(selection, SELECT)
+        return False
diff --git a/pitivi/transitions.py b/pitivi/transitions.py
index 0758121..b2a0467 100644
--- a/pitivi/transitions.py
+++ b/pitivi/transitions.py
@@ -161,14 +161,8 @@ class TransitionsListWidget(Signallable, Gtk.VBox, Loggable):
         else:
             self.props_widgets.set_sensitive(True)
 
-        # Avoid deadlocks by seeking to 0 before changing type
-        position = self.app.current.pipeline.getPosition()
-        self.app.current.pipeline.simple_seek(0)
-
         self.element.get_parent().set_asset(transition_asset)
-
-        # Seek back into the previous position, refreshing the preview
-        self.app.current.pipeline.simple_seek(position)
+        self.app.current.seeker.flush(True)
 
         return True
 
@@ -176,9 +170,7 @@ class TransitionsListWidget(Signallable, Gtk.VBox, Loggable):
         value = range_changed.get_value()
         self.debug("User changed the border property to %s" % value)
         self.element.set_border(int(value))
-        # FIXME: Currently creates deadlocks, reactivate it when
-        # fixed
-        #self.app.current.seeker.flush(True)
+        self.app.current.seeker.flush(True)
 
     def _invertCheckboxCb(self, widget):
         value = widget.get_active()


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]