From 84570f44bf995a619017cffc4ff266f3d0af4f0c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20Mart=C3=ADn=20Nieto?= Date: Tue, 14 Mar 2023 19:52:54 +0100 Subject: [PATCH] port: add the dragged port as the drag icon This makes it the port label follows your cursor around instead of the generic text document icon that doesn't make a lot of sense here. --- src/view/port.rs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/view/port.rs b/src/view/port.rs index 2e8af18..f414eb0 100644 --- a/src/view/port.rs +++ b/src/view/port.rs @@ -158,9 +158,11 @@ impl Port { Direction::Output => ForwardLink(id).to_value(), })) .build(); - drag_src.connect_drag_begin(move |_, _| { + drag_src.connect_drag_begin(clone!(@weak res as obj => move |source, _| { trace!("Drag started from port {}", id); - }); + let paintable = gtk::WidgetPaintable::new(Some(&obj)); + source.set_icon(Some(&paintable), 0, 0); + })); drag_src.connect_drag_cancel(move |_, _, _| { trace!("Drag from port {} was cancelled", id); false