Skip to content

RAW: some modernization and fixes

This MR brings the feather duster to the RAW import plugin. I've implemented the following bits:

  • Ported the UI widget to the Wdg* dual-inheritance pattern we follow in the rest of Krita
  • The UI now uses KoDialog + an Apply button
  • Layout was cleaned up, ensuring there are not 4 scrollbars anymore. Now only the configuration panel is scrollable, vertically
  • Preview is scaled to the window size and updated after the widget is rendered. (Doing so on creation makes the scaling apply to the default, not the real size)
  • Implemented HiDPI for the preview widget
  • Implemented progress reporting (40% is LibRaw as per kdcraw, the rest is assigned to the row iterator and split among each row)
Before After
Captura_de_pantalla_2022-12-26_215751 imagen

Test Plan

Build Krita, and use the RAW import dialog. Check that all is sized up correctly, the preview is shown and updated on clicking Apply, and that (if you have another document opened) the document opening progress is correctly reported.

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