Quoting from the kimageshop thread:
The current implementation of clipboard events (both Paste As, as well as dragging and dropping) is spread across five different classes, with potentially duplicate (or at the very least inconsistent) behaviour.
As far as @dkazakov can tell, the requirements for the new system should be something like this:
- All mimedata handling routines should use common code (or at least common policy/priorities)
- D&D into the start page
- D&D into KisView (that is, to an opened document)
- D&D into Layers Docker
- Paste from the clipboard
- If mimetype has multiple formats, then they should be tried in the order of (user customizable?) priority
- all places should use the same priority (now the code is ad-hoc, so the requirement is not fulfilled)
- if one format exists, but fails, Krita should add warning to the log and continue to a different format (now it stops on the first found supported format)
- The tests for D&D should be done for the matrix of configurations on Chrome/Firefox/Safari versus Windows/Linux/MacOS. The same browser provides different mimedata on different platforms.