[pitivi] timeline: Fix DND effects from the library to the timeline
- From: Thibault Saunier <tsaunier src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [pitivi] timeline: Fix DND effects from the library to the timeline
- Date: Tue, 9 Feb 2016 13:01:23 +0000 (UTC)
commit eac24b8fa30fc8431384e4550e4d06a9bc8c4171
Author: Thibault Saunier <tsaunier gnome org>
Date: Tue Feb 2 19:41:18 2016 +0100
timeline: Fix DND effects from the library to the timeline
Reviewed-by: Alex Băluț <alexandru balut gmail com>
Differential Revision: https://phabricator.freedesktop.org/D732
pitivi/timeline/timeline.py | 15 +++++++++++----
1 files changed, 11 insertions(+), 4 deletions(-)
---
diff --git a/pitivi/timeline/timeline.py b/pitivi/timeline/timeline.py
index cf9f8d3..ff014e4 100644
--- a/pitivi/timeline/timeline.py
+++ b/pitivi/timeline/timeline.py
@@ -672,7 +672,8 @@ class Timeline(Gtk.EventBox, Zoomable, Loggable):
event_widget = self.get_event_widget(event)
unused_x, y = event_widget.translate_coordinates(self, event.x, event.y)
layer, unused_on_sep = self._getLayerAt(
- y, prefer_bLayer=self.__moving_layer, past_middle_when_adjacent=True)
+ y, prefer_bLayer=self.__moving_layer,
+ past_middle_when_adjacent=True)
if layer != self.__moving_layer:
priority = layer.get_priority()
self.moveLayer(self.__moving_layer, priority)
@@ -768,22 +769,28 @@ class Timeline(Gtk.EventBox, Zoomable, Loggable):
def __dragMotionCb(self, unused_widget, context, x, y, timestamp):
target = self.drag_dest_find_target(context, None)
+ if not target:
+ Gdk.drag_status(context, 0, timestamp)
+ return True
+
if not self.dropDataReady:
# We don't know yet the details of what's being dragged.
# Ask for the details.
self.drag_get_data(context, target, timestamp)
- else:
+ elif target.name() == URI_TARGET_ENTRY.target:
if not self.__createClips(x, y):
# The clips are already created.
self.__dragUpdate(self, x, y)
+
Gdk.drag_status(context, Gdk.DragAction.COPY, timestamp)
return True
- def __dragLeaveCb(self, unused_widget, unused_context, unused_timestamp):
+ def __dragLeaveCb(self, unused_widget, context, unused_timestamp):
# De-highlight the separators. We still need to remember them.
# See how __on_separators is used in __dragDropCb for details
self._setSeparatorsPrelight(False)
+ target = self.drag_dest_find_target(context, None)
if self.draggingElement:
self.__last_clips_on_leave = [(clip.get_layer(), clip)
for clip in self.current_group.get_children(False)]
@@ -800,7 +807,7 @@ class Timeline(Gtk.EventBox, Zoomable, Loggable):
self.draggingElement = None
self.__got_dragged = False
self._createdClips = False
- else:
+ elif target == URI_TARGET_ENTRY.target:
self.cleanDropData()
def cleanDropData(self):
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]