From e668818e9924778105629edd6d6ab708675364ff Mon Sep 17 00:00:00 2001 From: itdominator <1itdominator@gmail.com> Date: Sun, 6 Feb 2022 17:57:40 -0600 Subject: [PATCH] added dnd for 'from' list --- src/controller/ChangeView.py | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/src/controller/ChangeView.py b/src/controller/ChangeView.py index bce4e68..e3d6d2f 100644 --- a/src/controller/ChangeView.py +++ b/src/controller/ChangeView.py @@ -3,7 +3,8 @@ # Lib imports import gi gi.require_version('Gtk', '3.0') -from gi.repository import Gtk +gi.require_version('Gdk', '3.0') +from gi.repository import Gtk, Gdk # Application imports from mixins import CommonActionsMixin @@ -26,6 +27,15 @@ class ChangeView(Gtk.Box, CommonActionsMixin): from_container.set_orientation(1) to_container.set_orientation(1) + fchild = from_scroll_vw.get_children()[0] + fchild.connect("drag-data-received", self._on_drag_data_received) + URI_TARGET_TYPE = 80 + uri_target = Gtk.TargetEntry.new('text/uri-list', Gtk.TargetFlags(0), URI_TARGET_TYPE) + targets = [ uri_target ] + action = Gdk.DragAction.COPY + fchild.enable_model_drag_dest(targets, action) + fchild.enable_model_drag_source(0, targets, action) + self.set_spacing(20) self.set_border_width(2) self.set_homogeneous(True) @@ -33,6 +43,12 @@ class ChangeView(Gtk.Box, CommonActionsMixin): self.add(to_container) self.show_all() + def _on_drag_data_received(self, widget, drag_context, x, y, data, info, time): + if info == 80: + uri = data.get_uris()[0].split("file://")[1] + event_system.set_active_path(uri) + + def update_from_list(self): if event_system.block_from_update: