Bug 317200

Summary: Shift+drag transform to constrain proportions only works when pressing shift after dragging.
Product: [Applications] krita Reporter: Bollebib <kwadraatnope>
Component: UsabilityAssignee: Krita Bugs <krita-bugs-null>
Status: RESOLVED FIXED    
Severity: normal CC: chrjs, dirxteam, halla, storm.anthro, sven.langkamp
Priority: NOR    
Version: git master (please specify the git hash!)   
Target Milestone: ---   
Platform: Other   
OS: Other   
Latest Commit: Version Fixed In:

Description Bollebib 2013-03-22 17:12:45 UTC
the transform tool contrains move/rotate/resize to a fixed amount when pressing shift .

This is great,but it only works when pressing shift AFTER dragging one of the handles.

I think it should work also when pressing it before dragging.

This would makes unify it with the CTRL+drag that also works by pressing before the actual dragging.
And it would make the tool more versatile.

Releasing shift while drag is going on should still cancel out the constrain function.


This should work wether you move,resize or rotate.


There are more tools that could benefit from this way of working : box select, oval select, box shape, any other tool that has some kind of modifier effect when pressing shift should already be active when you press before actually dragging/susing the tool.

Reproducible: Always
Comment 1 Halla Rempt 2013-03-31 11:45:05 UTC
Ack, this really is a confusing bug.
Comment 2 Dmitry Kazakov 2013-05-09 19:15:02 UTC
Git commit 484898a234ea75698c5d5685dcf337af896fd2bc by Dmitry Kazakov.
Committed on 09/05/2013 at 21:14.
Pushed by dkazakov into branch 'master'.

Fixed a midifiers bug

1) The tool should register the modifiers it is going to use
2) The gesture() should be optional for a tool

M  +2    -2    krita/plugins/tools/defaulttools/kis_tool_gradient.cc
M  +3    -2    krita/plugins/tools/defaulttools/kis_tool_line.cc
M  +2    -2    krita/plugins/tools/defaulttools/kis_tool_measure.cc
M  +1    -1    krita/plugins/tools/tool_transform2/kis_tool_transform.cc
M  +9    -3    krita/ui/tool/kis_tool.cc
M  +1    -0    krita/ui/tool/kis_tool.h
M  +3    -2    krita/ui/tool/kis_tool_ellipse_base.cpp
M  +5    -0    krita/ui/tool/kis_tool_freehand.cc
M  +1    -0    krita/ui/tool/kis_tool_freehand.h
M  +3    -2    krita/ui/tool/kis_tool_rectangle_base.cpp

http://commits.kde.org/calligra/484898a234ea75698c5d5685dcf337af896fd2bc
Comment 3 Dmitry Kazakov 2013-05-09 19:30:50 UTC
Git commit 79f54b681291106e21425539d41d632e3877021d by Dmitry Kazakov.
Committed on 09/05/2013 at 21:14.
Pushed by dkazakov into branch 'calligra/2.7'.

Fixed a midifiers bug

1) The tool should register the modifiers it is going to use
2) The gesture() should be optional for a tool

M  +2    -2    krita/plugins/tools/defaulttools/kis_tool_gradient.cc
M  +3    -2    krita/plugins/tools/defaulttools/kis_tool_line.cc
M  +2    -2    krita/plugins/tools/defaulttools/kis_tool_measure.cc
M  +1    -1    krita/plugins/tools/tool_transform2/kis_tool_transform.cc
M  +9    -3    krita/ui/tool/kis_tool.cc
M  +1    -0    krita/ui/tool/kis_tool.h
M  +3    -2    krita/ui/tool/kis_tool_ellipse_base.cpp
M  +5    -0    krita/ui/tool/kis_tool_freehand.cc
M  +1    -0    krita/ui/tool/kis_tool_freehand.h
M  +3    -2    krita/ui/tool/kis_tool_rectangle_base.cpp

http://commits.kde.org/calligra/79f54b681291106e21425539d41d632e3877021d
Comment 4 Siddharth 2013-05-17 07:15:34 UTC
Git commit 64a0a233cddd74a66921877d117ea858ecba9ecd by Siddharth Sharma, on behalf of Dmitry Kazakov.
Committed on 09/05/2013 at 21:14.
Pushed by siddharthsharma into branch 'krita-psd-plugin-siddharth'.

Fixed a midifiers bug

1) The tool should register the modifiers it is going to use
2) The gesture() should be optional for a tool

M  +2    -2    krita/plugins/tools/defaulttools/kis_tool_gradient.cc
M  +3    -2    krita/plugins/tools/defaulttools/kis_tool_line.cc
M  +2    -2    krita/plugins/tools/defaulttools/kis_tool_measure.cc
M  +1    -1    krita/plugins/tools/tool_transform2/kis_tool_transform.cc
M  +9    -3    krita/ui/tool/kis_tool.cc
M  +1    -0    krita/ui/tool/kis_tool.h
M  +3    -2    krita/ui/tool/kis_tool_ellipse_base.cpp
M  +5    -0    krita/ui/tool/kis_tool_freehand.cc
M  +1    -0    krita/ui/tool/kis_tool_freehand.h
M  +3    -2    krita/ui/tool/kis_tool_rectangle_base.cpp

http://commits.kde.org/calligra/64a0a233cddd74a66921877d117ea858ecba9ecd
Comment 5 Chris Jones 2014-01-20 11:08:00 UTC
This bug has resurfaced on Windows 8.1, Krita x64 2.7.9.5 (although I first noticed it in a previous build).
Comment 6 Halla Rempt 2014-02-18 10:05:51 UTC
*** Bug 330975 has been marked as a duplicate of this bug. ***
Comment 7 Sven Langkamp 2014-07-06 02:45:44 UTC
Is the bug still reproduceable? Appears to work here.
Comment 8 Chris Jones 2014-07-06 08:50:15 UTC
The other day I had thought (or possibly imagined) for a moment that it was fixed in X64 2.8.79.10, but having just tested it again, it appears not.

On a possibly related note, snapping the rotation to 15° angles also only works when pressing shift after dragging.  And 3D rotate seems to no longer work *without* snapping (except on the odd random occasion), but that's probably a separate issue.
Comment 9 Storm Engineer 2015-01-19 19:52:25 UTC
This works in 2.9. Tested right now with a version built fresh from latest source.
Comment 10 Bollebib 2015-02-09 16:51:25 UTC
this seems solved again.