Bug 435848 - Freehand Selection tool has a conflict between Continuous Mode and Replace Mode
Summary: Freehand Selection tool has a conflict between Continuous Mode and Replace Mode
Status: RESOLVED FIXED
Alias: None
Product: krita
Classification: Unclassified
Component: Tools/Selection (show other bugs)
Version: 4.4.3
Platform: Microsoft Windows Microsoft Windows
: NOR normal
Target Milestone: ---
Assignee: Krita Bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-04-17 13:56 UTC by z01ks
Modified: 2022-02-23 14:57 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description z01ks 2021-04-17 13:56:49 UTC
SUMMARY


STEPS TO REPRODUCE
1. Activate Freehand Selection Tool (lasso)
2. Use it multiple times in Replace Mode with Shift modifier to add to the selection (using Shift to temporarily enable Add mode)
3. Now use Ctrl as a modifier when making a selection to enable Continuous Mode (Polygonal Selection mode) temporarily, getting some straight edges on the selection.
4. Try to use Ctrl to get straight edges and also use Shift to Add to the Selection multiple times (while the Freehand Selection tool is set to Replace in the Tool Options).

OBSERVED RESULT

Adding and Subtracting with Alt and Shift while using Ctrl to get straight edges with the Freehand Selection tool is impossible, while the tool is set to Replace mode in the Tool Options. This is likely because Ctrl is enables both the Continuous mode as well as Replace mode. So it doesn't let Shift and Alt enable Add or Subtract, maybe.

https://mail.kde.org/pipermail/kimageshop/2016-December/014635.html

EXPECTED RESULT

One should be able to use Ctrl to get straight edged selections when necessary and hold Shift or Alt before releasing Ctrl to be able to Add or Subtract the selection.
SOFTWARE/OS VERSIONS
Windows: 
macOS: 
Linux/KDE Plasma: 
(available in About System)
KDE Plasma Version: 
KDE Frameworks Version: 
Qt Version: 

ADDITIONAL INFORMATION
Comment 1 Ahab Greybeard 2021-04-22 15:56:03 UTC
I can confirm the behaviour as described in the Apr 21 5.0.0-prealpha (git 3eda0b9) appimage on Debian 10.
Comment 2 Deif Lou 2022-02-23 14:57:20 UTC
Git commit 9fbd23bdd29d0463b650c67b3b79f41ec45bf87c by Deif Lou.
Committed on 23/02/2022 at 14:56.
Pushed by deiflou into branch 'master'.

Improve selection tools' use of modifiers
Related: bug 426523, bug 420737, bug 420298

M  +5    -0    libs/basicflakes/tools/KoCreatePathTool.cpp
M  +7    -0    libs/basicflakes/tools/KoCreatePathTool.h
M  +2    -0    libs/ui/tool/KisToolOutlineBase.cpp
M  +5    -16   libs/ui/tool/kis_tool_polyline_base.cpp
M  +0    -5    libs/ui/tool/kis_tool_polyline_base.h
M  +35   -10   libs/ui/tool/kis_tool_rectangle_base.cpp
M  +3    -3    libs/ui/tool/kis_tool_rectangle_base.h
M  +161  -68   libs/ui/tool/kis_tool_select_base.h
M  +7    -0    libs/ui/tool/kis_tool_shape.h
M  +34   -15   plugins/tools/selectiontools/KisToolSelectMagnetic.cc
M  +15   -3    plugins/tools/selectiontools/kis_tool_select_contiguous.cc
M  +1    -0    plugins/tools/selectiontools/kis_tool_select_contiguous.h
M  +11   -7    plugins/tools/selectiontools/kis_tool_select_elliptical.cc
M  +5    -17   plugins/tools/selectiontools/kis_tool_select_elliptical.h
M  +20   -8    plugins/tools/selectiontools/kis_tool_select_outline.cc
M  +5    -8    plugins/tools/selectiontools/kis_tool_select_outline.h
M  +13   -10   plugins/tools/selectiontools/kis_tool_select_path.cc
M  +3    -2    plugins/tools/selectiontools/kis_tool_select_path.h
M  +12   -3    plugins/tools/selectiontools/kis_tool_select_polygonal.cc
M  +4    -7    plugins/tools/selectiontools/kis_tool_select_polygonal.h
M  +13   -8    plugins/tools/selectiontools/kis_tool_select_rectangular.cc
M  +4    -11   plugins/tools/selectiontools/kis_tool_select_rectangular.h
M  +17   -4    plugins/tools/selectiontools/kis_tool_select_similar.cc
M  +1    -0    plugins/tools/selectiontools/kis_tool_select_similar.h

https://invent.kde.org/graphics/krita/commit/9fbd23bdd29d0463b650c67b3b79f41ec45bf87c