Bug 397932 - Cannot hold shift and make add selection while drawing a selection with bezier curve tool
Summary: Cannot hold shift and make add selection while drawing a selection with bezie...
Status: RESOLVED FIXED
Alias: None
Product: krita
Classification: Applications
Component: Tools (show other bugs)
Version: git master (please specify the git hash!)
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: Krita Bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-08-27 14:11 UTC by Raghavendra kamath
Modified: 2018-09-07 14:26 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Raghavendra kamath 2018-08-27 14:11:17 UTC
While drawing a selection with bezier selection, it is not possible to hold the shift key and add to the selection like other selection tools.
While Holding shift and drawing a bezier curve the tool gets deactivated when you click the second node.

To reproduce : 

1. Open a new document

2. Draw a selection with bezier selection tool

3. Now hold shift and try to draw a new selection to add to the previous selection

The result is when you click to add the second node, the tool gets deactivated and the first node is gone.
Comment 1 mvowada 2018-08-27 15:36:47 UTC
Yes, I can confirm the issue which affects only the "Bezier Curve Selection Tool" (tested with 4.2.0-pre-alpha (git 95e1b63) on Ubuntu 14.04).
(A temporary workaround is to release the SHIFT key soon after the first click)
Comment 2 Dmitry Kazakov 2018-08-28 12:12:43 UTC
The problem is that in Curve tool is used as a "finish polygon" shortcut. Basically, it was invented to avoid double-clicking with a stylus, which is a really complicated operation.

How should I fix this?

Here are the options:

1) Remove Shift+click/"finish polygon" shortcut at all
2) Assign "finish polygon" to some other shortcut. Which one?
Comment 3 Dmitry Kazakov 2018-08-28 12:20:37 UTC
15:18 < raghukamath> dmitryK|log: i think pressing enter would be an alternative to complete selection instead of shift click
15:18 < raghukamath> which works now
15:19 < raghukamath> but i need to know deevad and scotts or Wolthera_laptop opinion on this
15:19 < raghukamath> since not providing shift is also a wrong thing,
15:20 < raghukamath> so if we remove shift click to complete , it won't take away any feature since pressing enter already is there
Comment 4 Raghavendra kamath 2018-08-28 12:31:25 UTC
Currently you can check the polygon selection tool and polygon tool, if it is a selection tool the polygon selection tool ignore the shift left click to complete and uses shift to activate add to selection. while if it is a polygon tool, it uses shift to complete the shape.

I think bezier selection tool also should follow this paradigm, shift left click complete can be limited to bezier curve tool (where it shows this in tool tip too) but can be left out of the bezier curve selection tool, in the selection tool it can behave like all selection tool to add to selection when shift is held.

So to summarise properly

Remove shift + left click to complete from selection tool but keep it in normal bezier curve tool. this is the same behavior as polygon tool and polygon selection tool
Comment 5 Scott Petrovic 2018-08-28 12:39:42 UTC
it seems odd that we have two different shortcuts for completing a selection
1. Shift + click
2. Enter

We generally have Shift to be an addition modifier for selections, so it seems odd that we would ever use that for a "complete" action. I would say remove the Shift + click option.
Comment 6 Raghavendra kamath 2018-08-28 12:58:52 UTC
@ scott currently we have shift + left click to complete shape for only shape tools and not selection, so we can retain the behavior with the shape tools but remove it from selection tools.

Example is how polygon tool and polygon selection tool works now. we need to follow this same thing for bezier selection and bezier curve tool.
Comment 7 Dmitry Kazakov 2018-08-28 15:15:59 UTC
Git commit fa65d03d27e70d9118445acef0350122ea888a18 by Dmitry Kazakov.
Committed on 28/08/2018 at 15:05.
Pushed by dkazakov into branch 'master'.

Fix shift modifier in Curve Selection Tool

The modifier of the point clicked the last should define the
selection mode. For selection tools we just disable shift+click
"path-close" shortcut of the base path tool

M  +10   -8    libs/basicflakes/tools/KoCreatePathTool.cpp
M  +2    -3    libs/basicflakes/tools/KoCreatePathTool.h
M  +3    -4    libs/basicflakes/tools/KoCreatePathTool_p.h
M  +1    -12   plugins/tools/selectiontools/kis_tool_select_path.cc
M  +0    -2    plugins/tools/selectiontools/kis_tool_select_path.h

https://commits.kde.org/krita/fa65d03d27e70d9118445acef0350122ea888a18
Comment 8 Halla Rempt 2018-09-07 14:26:08 UTC
Git commit 6739f46bb6388d7d139fa3bb7c4c046801752644 by Boudewijn Rempt, on behalf of Dmitry Kazakov.
Committed on 07/09/2018 at 12:50.
Pushed by rempt into branch 'krita/4.1'.

Fix shift modifier in Curve Selection Tool

The modifier of the point clicked the last should define the
selection mode. For selection tools we just disable shift+click
"path-close" shortcut of the base path tool

M  +10   -8    libs/basicflakes/tools/KoCreatePathTool.cpp
M  +2    -3    libs/basicflakes/tools/KoCreatePathTool.h
M  +3    -4    libs/basicflakes/tools/KoCreatePathTool_p.h
M  +1    -12   plugins/tools/selectiontools/kis_tool_select_path.cc
M  +0    -2    plugins/tools/selectiontools/kis_tool_select_path.h

https://commits.kde.org/krita/6739f46bb6388d7d139fa3bb7c4c046801752644