Review Request 121336: Fix vector sapes resolution in Krita
Dmitry Kazakov
dimula73 at gmail.com
Wed Dec 3 10:53:47 GMT 2014
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/121336/
-----------------------------------------------------------
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/20141203/00af7978/attachment.htm>
More information about the calligra-devel
mailing list