elementary / files

File browser designed for elementary OS
https://elementary.io
GNU General Public License v3.0
331 stars 78 forks source link

[Regression] Fix dragging multiple items #2421

Closed jeremypw closed 8 months ago

jeremypw commented 8 months ago

Fixes #2419

No elegant solution could be found to get the desired behaviour when using an event controller to handle button press events. The native handler had to be suppressed when required using another handler and a flag.

The problem seems to be that returning true from the old-type signal handler does not stop DnD happening (and suppresses native handling) whereas setting the eventcontroller state to "CLAIMED" stops DnD as well and not setting it allows the native handler to run.

Using Signal.stop_emission_by_name () was tried but I couldn't get it to work.

This hopefully should not be necessary after porting to Gtk4 and using Gtk4 DnD infrastructure.