Review Request 121336: Fix vector sapes resolution in Krita

Boudewijn Rempt boud at valdyas.org
Thu Dec 4 11:15:01 GMT 2014


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/121336/#review71338
-----------------------------------------------------------

Ship it!


Ship It!

- Boudewijn Rempt


On Dec. 3, 2014, 10:53 a.m., Dmitry Kazakov wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/121336/
> -----------------------------------------------------------
> 
> (Updated Dec. 3, 2014, 10:53 a.m.)
> 
> 
> Review request for Calligra and Boudewijn Rempt.
> 
> 
> Bugs: 313600 and 341107
>     http://bugs.kde.org/show_bug.cgi?id=313600
>     http://bugs.kde.org/show_bug.cgi?id=341107
> 
> 
> Repository: calligra
> 
> 
> Description
> -------
> 
> This is a cumulative patch for the work done in krita-chili-kazakov branch in git.
> 
> The main idea of the changes is that KoUnit returned by the canvas now contains proper pt->px conversion coefficient and the main shape widgets can handle it properly. They are now connected to the resource manager's signal and update the unit on every change.
> 
> There is one "not-ideal" point. The shapes can have internal transformations, but their size and position member functions do not take it into account. So in some of the widgets I had to take this "transformation factor" into account using KoUnit's pt->px factor. This looks a bit ugly, but I'm not sure we can do anything else here.
> 
> 
> Here is the full list of changes.
> 
> commit 5efa5b4e9205632e1945d5fb467bc37836a582c4
> Author: Dmitry Kazakov <dimula73 at gmail.com>
> Date:   Tue Dec 2 14:07:35 2014 +0300
> 
>     Fix width of the Pencil Tool stroke after changing resolution
>     
>     There were two things needed:
>     
>     1) Deselect shapes when a shape-based tool is activated.
>        That is not needed when twe creating a new shape and it causes
>        the shape stroke widget edit the options of the lastly
>        selected stroke, which is not expected.
>     2) Reset unit on every selection change in KoStrokeConfigWidget.
>        Otherwise deselection is not handled properly.
> 
> commit ef5e1d2544beb30a027f874f7aedd8add951fedd
> Author: Dmitry Kazakov <dimula73 at gmail.com>
> Date:   Tue Dec 2 13:05:30 2014 +0300
> 
>     Fix units in the shadow config docker
>     
>     1) Added correct unit updates to the widget
>     2) Moved approxTransformScale() calculation to KoUnit since it
>        is too global
> 
> commit 38eea366b6477c4fcb5f0b46ced9be4fb9b93c1f
> Author: Dmitry Kazakov <dimula73 at gmail.com>
> Date:   Fri Nov 28 15:23:30 2014 +0400
> 
>     Fix a nice infinite loop in KoShadowConfigWidget
>     
>     How to reproduce:
>     1) Add a shape in Krita
>     2) Enable Shadow
>     3) Zoom canvas with mouse wheel
> 
> commit fddc5e9cc648c4d0eceb67b793faa3c0c14b8d62
> Author: Dmitry Kazakov <dimula73 at gmail.com>
> Date:   Fri Nov 28 15:14:33 2014 +0400
> 
>     Fix Default tool widgets to show values in real pixels, not points
>     
>     Now the option widgets use correct KoUnit object to convert their
>     options in correct user-visible pixels. Some note on the implementation:
>     
>     1) Affects KoStrokeConfigWidget and DefaultToolWidget
>     2) The correct conversion value is stored in KoUnit, which is reported
>        by KisCanvas2 and retransmitted by KisView2.
>     3) There is a hack in KoStrokeConfigWidget. KoShapeStroke knows nothing
>        about the absoluteTransformation() of the shape, which doesn't stop
>        the shape from doing the transformation of the outline (loaded into
>        QPainter directly). So we take it into account manually, by adding
>        a multiplier into KoUnit.
>     
>     BUG:313600
>     BUG:341107
> 
> 
> Diffs
> -----
> 
>   krita/ui/kis_view2.cpp aa894e8 
>   krita/ui/tool/kis_delegated_tool.h c63c6f9 
>   krita/ui/tool/kis_delegated_tool_policies.h PRE-CREATION 
>   krita/ui/tool/kis_delegated_tool_policies.cpp PRE-CREATION 
>   libs/flake/KoShapeShadow.h ccb3a3f 
>   libs/flake/KoShapeShadow.cpp ead0b80 
>   libs/odf/KoUnit.h ae26734 
>   libs/odf/KoUnit.cpp dc22265 
>   libs/widgets/KoShadowConfigWidget.h b3140dd 
>   libs/widgets/KoShadowConfigWidget.cpp d08f232 
>   libs/widgets/KoStrokeConfigWidget.cpp 445ea9f 
>   libs/widgets/KoUnitDoubleSpinBox.cpp ff94913 
>   plugins/defaultTools/defaulttool/DefaultToolWidget.cpp 55885d2 
>   krita/ui/CMakeLists.txt e28134a 
>   krita/ui/canvas/kis_canvas2.cpp 60ade0b 
>   krita/ui/flake/kis_shape_controller.h 39ae1eb 
>   krita/ui/flake/kis_shape_controller.cpp a0db22d 
>   krita/ui/flake/kis_shape_layer.cc c0fe4ac 
>   krita/plugins/tools/defaulttools/kis_tool_path.h 36db16a 
>   krita/plugins/tools/defaulttools/kis_tool_pencil.h 8a69428 
>   krita/plugins/tools/selectiontools/kis_tool_select_path.h 0bb252b 
>   krita/plugins/tools/tool_transform2/kis_transform_utils.cpp 9fd7e29 
> 
> Diff: https://git.reviewboard.kde.org/r/121336/diff/
> 
> 
> Testing
> -------
> 
> Tested in Krita
> 
> 
> Thanks,
> 
> Dmitry Kazakov
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/calligra-devel/attachments/20141204/486aa575/attachment.htm>


More information about the calligra-devel mailing list