Add support for copying and pasting a lot of stuff, and also dropping stuff onto the canvas

This adds generic infrastructure for parsing items into QMimeData and back, and uses it for copy/paste and for drag and drop (only drop for now, though if it is needed drag may also be implemented)

This also adds handlers for:

  1. A custom Drawy-specific format (application/x-drawy-clipboard), consisting of a JSON array of items, used for copying inside Drawy.
  2. Plain text (text/plain), which creates a text item when pasted and copies the text from a lone selected text item.
  3. SVG (image/svg+xml, copy-only), which converts the selected items into SVG.

Closes #109 (closed)

Merge request reports

Loading