WIP: Docker UnitConverter
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.
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 viewNeed 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.