Skip to content

WIP: Docker UnitConverter

Grum 999 requested to merge grum/krita:grum999/unit_converter_tool into master

Hi

I've a made new docker "Unit Converter".
It's a simple tool which allow to quickly made conversion between different unit:

  • Length unit (mm, in, pt, px, ...)
    • Docker is aware about document resolution
  • Angle (radian, degrees, gon, percent of circle)

It also provides information about document resolution & size (for which user can choose dimension).

A visual representation of length (real size in pixel + canvas size) and angle are rendered.

image
image

Short video of docker:
unit_converter_docker

User settings (expanded/collapsed section, selected conversion units, ...) are saved in kritarc.

Note: It's still WIP as the following case needs to be fixed (i need to search how to manage this)

  • Need to take in account that when active view is changed, the visual length representation have to be updated to take in account zoom level of new active view
  • Need to take in account zoom mode ("pixel" or "document", I need to understand exactly what it means)
  • There's a bug related with how KisDoubleParseUnitSpinBox works internally:
    • For example, document 500x500 pixels, @300dpi
      Display documentation dimension as "dm" -> 500px = 0.42dm Switch back to pixels 0.42dm -> 496px I'm not sure if I have to fix it with this MR or create a dedicated BUG+MR

Documentation will be written once the feature will be merged.

A topics has been created on KA about this feature: https://krita-artists.org/t/docker-unit-converter/99452

Test Plan

  • Docker is available
  • Conversions are fine, takes in account document resolution properly

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.
  • Does the patch add a user-visible feature? If yes, is there a documentation MR ready for it at Krita Documentation Repository?

Reminder: the reviewer is responsible for merging the patch, this is to ensure at the least two people can build the patch. In case a patch breaks the build, both the author and the reviewer should be contacted to fix the build. If this is not possible, the commits shall be reverted, and a notification with the reasoning and any relevant logs shall be sent to the mailing list, kimageshop@kde.org.

Edited by Grum 999

Merge request reports

Loading