[pitivi] elements: don't edit the clip if it wasn't actually moved.
- From: Mathieu Duponchelle <mathieudu src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [pitivi] elements: don't edit the clip if it wasn't actually moved.
- Date: Sun, 25 Aug 2013 13:10:42 +0000 (UTC)
commit 8cc00e5d6f36a39a5905d33eaa6f5ff66e2f858e
Author: Mathieu Duponchelle <mathieu duponchelle epitech eu>
Date: Sat Aug 24 20:12:46 2013 +0200
elements: don't edit the clip if it wasn't actually moved.
Fixes https://github.com/pitivi/pitivi/issues/99
pitivi/timeline/elements.py | 23 ++++++++++++++---------
1 files changed, 14 insertions(+), 9 deletions(-)
---
diff --git a/pitivi/timeline/elements.py b/pitivi/timeline/elements.py
index b73b3a4..bfd386a 100644
--- a/pitivi/timeline/elements.py
+++ b/pitivi/timeline/elements.py
@@ -973,6 +973,7 @@ class Keyframe(Clutter.Actor):
class URISourceElement(TimelineElement):
def __init__(self, bElement, track, timeline):
TimelineElement.__init__(self, bElement, track, timeline)
+ self.gotDragged = False
# public API
@@ -1013,7 +1014,6 @@ class URISourceElement(TimelineElement):
# Callbacks
def _clickedCb(self, action, actor):
#TODO : Let's be more specific, masks etc ..
-
children = self.bElement.get_toplevel_parent().get_children(True)
selection = filter(lambda elem: isinstance(elem, GES.Source), children)
@@ -1041,13 +1041,8 @@ class URISourceElement(TimelineElement):
return False
def _dragBeginCb(self, action, actor, event_x, event_y, modifiers):
+ self.gotDragged = False
mode = self.timeline._container.getEditionMode()
- self._context = EditingContext(self.bElement,
- self.timeline.bTimeline,
- mode,
- GES.Edge.EDGE_NONE,
- None,
- self.timeline._container.app.action_log)
# This can't change during a drag, so we can safely compute it now for drag events.
nbrLayers = len(self.timeline.bTimeline.get_layers())
@@ -1068,6 +1063,15 @@ class URISourceElement(TimelineElement):
def _dragProgressCb(self, action, actor, delta_x, delta_y):
# We can't use delta_x here because it fluctuates weirdly.
+ if not self.gotDragged:
+ self.gotDragged = True
+ self._context = EditingContext(self.bElement,
+ self.timeline.bTimeline,
+ None,
+ GES.Edge.EDGE_NONE,
+ None,
+ self.timeline._container.app.action_log)
+
mode = self.timeline._container.getEditionMode()
self._context.setMode(mode)
@@ -1110,8 +1114,9 @@ class URISourceElement(TimelineElement):
if self.ghostclip.shouldCreateLayer:
self.timeline.insertLayer(self.ghostclip)
- self._context.editTo(new_start, priority)
- self._context.finish()
+ if self.gotDragged:
+ self._context.editTo(new_start, priority)
+ self._context.finish()
class TransitionElement(TimelineElement):
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]