Skip to content

410341 Metadata editor: reimplement entry handling

This MR fixes extensively the Layer metadata editor.

The main feature is that entry handling is now based entirely on a few compile time macros and Qt's newer signal/slot syntax. This allows me to add support for flash metadata, which was broken since at least 67b39577, and also remove the bespoke XML parsing altogether.

While at it:

  • port the panes to Qt's native form layout
  • format invalid names in KisMetaData::Entry correctly
  • add a default icon to the Dublin Core pane; the old one in the xmlgui file was missing since forever.
  • fix display of Dublin Core dates (they do not have times)

BUG: 410341

Test Plan

Build Krita. Check in the Layer metadata editor that the relevant editable fields are populated with the correct values.

In particular, check that the flash values are editable on their own and that the resulting struct value matches what's displayed in the List pane.

Formalities Checklist

  • I confirmed this builds.
  • I confirmed Krita ran and the relevant functions work.
  • I tested the relevant unit tests and can confirm they are not broken. (If not possible, don't hesitate to ask for help!)
  • I made sure my commits build individually and have good descriptions as per KDE guidelines.
  • I made sure my code conforms to the standards set in the HACKING file.
  • I can confirm the code is licensed and attributed appropriately, and that unattributed code is mine, as per KDE Licensing Policy.

Merge request reports