Bug 324373

Summary: [move-tool] Move tool shouldn't deselect-all automatically after a move action
Product: [Applications] krita Reporter: David REVOY <info>
Component: ToolsAssignee: Dmitry Kazakov <dimula73>
Status: RESOLVED FIXED    
Severity: normal CC: halla
Priority: NOR    
Version: git master (please specify the git hash!)   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description David REVOY 2013-09-01 20:43:45 UTC
Move tool shouldn't deselect-all automatically after a move action :

To reproduce :
   * Open an image
   * Select a part of it with any selection tool avaible
   * When the ant path display, switch to the move tool  ( T )
   * Move the Selection

What it does :
   * Selection is invisible while dragging , on release the selection ant-path disappeared but you can keep moving the selection around with other drag-and-drop actions. If you switch to Freehand tool , you can paint anywhere on the canvas. Selection is lost.

What I would expect it does :
   * Selection is invisible while dragging = ok , good for placement.  On release the selection ant-path  Should reappear , user can keep drag and drop the selection is Ok too . If you switch to Freehand tool , the ant-path should be still displayed ,  and so you can paint only the selection , even if this one has moved.

Note :
If you perform a move action on a selection with the Transform tool, this one behaves correctly.
Comment 1 Halla Rempt 2013-09-15 11:02:29 UTC
Hi David,

Yes, this is something we need to fix. Dmitry... I'm looking at you :-)
Comment 2 Dmitry Kazakov 2014-02-21 10:47:36 UTC
Git commit ccb498214a6bbcd1e6daf8a43522ed609233a5a9 by Dmitry Kazakov.
Committed on 21/02/2014 at 10:36.
Pushed by dkazakov into branch 'master'.

Fix the moving of a selected piece of layer

Now the selection is moved alongside with the selected piece of data.
While the stroke is active, the selection is hidden not to interere with
the process of moving. As soon as the stroke is finished the the moved
selection is shown again.

M  +0    -1    krita/image/CMakeLists.txt
A  +75   -0    krita/image/commands_new/kis_move_command_common.h     [License: GPL (v2+)]
D  +0    -63   krita/image/commands_new/kis_node_move_command2.cpp
M  +2    -29   krita/image/commands_new/kis_node_move_command2.h
A  +46   -0    krita/image/commands_new/kis_selection_move_command2.h     [License: GPL (v2+)]
M  +4    -4    krita/image/kis_paint_device.h
M  +9    -0    krita/image/kis_pixel_selection.cpp
M  +6    -0    krita/image/kis_pixel_selection.h
M  +6    -0    krita/image/kis_selection.cc
M  +8    -6    krita/image/tiles3/kis_rect_iterator.cpp
M  +3    -0    krita/image/tiles3/kis_rect_iterator.h
M  +16   -7    krita/plugins/tools/defaulttools/strokes/move_selection_stroke_strategy.cpp
M  +1    -0    krita/plugins/tools/defaulttools/strokes/move_selection_stroke_strategy.h

http://commits.kde.org/calligra/ccb498214a6bbcd1e6daf8a43522ed609233a5a9
Comment 3 Dmitry Kazakov 2014-02-22 05:20:42 UTC
Git commit 6ddb37b265eaaac863faa814ab9f17c5c328002f by Dmitry Kazakov.
Committed on 21/02/2014 at 10:36.
Pushed by dkazakov into branch 'calligra/2.8'.

Fix the moving of a selected piece of layer

Now the selection is moved alongside with the selected piece of data.
While the stroke is active, the selection is hidden not to interere with
the process of moving. As soon as the stroke is finished the the moved
selection is shown again.

M  +0    -1    krita/image/CMakeLists.txt
A  +75   -0    krita/image/commands_new/kis_move_command_common.h     [License: GPL (v2+)]
D  +0    -63   krita/image/commands_new/kis_node_move_command2.cpp
M  +2    -29   krita/image/commands_new/kis_node_move_command2.h
A  +46   -0    krita/image/commands_new/kis_selection_move_command2.h     [License: GPL (v2+)]
M  +4    -4    krita/image/kis_paint_device.h
M  +9    -0    krita/image/kis_pixel_selection.cpp
M  +6    -0    krita/image/kis_pixel_selection.h
M  +6    -0    krita/image/kis_selection.cc
M  +8    -6    krita/image/tiles3/kis_rect_iterator.cpp
M  +3    -0    krita/image/tiles3/kis_rect_iterator.h
M  +16   -7    krita/plugins/tools/defaulttools/strokes/move_selection_stroke_strategy.cpp
M  +1    -0    krita/plugins/tools/defaulttools/strokes/move_selection_stroke_strategy.h

http://commits.kde.org/calligra/6ddb37b265eaaac863faa814ab9f17c5c328002f