Bug 420737

Summary: Modifier key conflicts with Outline Selection Tool on Mac
Product: [Applications] krita Reporter: Yu-Hsuan Lai <raincolee>
Component: Tools/SelectionAssignee: vanyossi <ghevan>
Status: RESOLVED FIXED    
Severity: normal CC: ghevan, halla
Priority: NOR Keywords: triaged
Version: nightly build (please specify the git hash!)   
Target Milestone: ---   
Platform: macOS (DMG)   
OS: macOS   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: screen recording

Description Yu-Hsuan Lai 2020-04-29 05:46:08 UTC
SUMMARY
On Mac, while using Outline Selection Tool, pressing "Command" does two things:

1) makes it work like Polygon Selection Tool temporarily
2) makes it work under subtract mode


STEPS TO REPRODUCE
1. Switch to Outline Selection Tool.
2. Draw a curve, but don't close the outline
3. Holding Cmd.
4. Click on canvas.
5. Finish selection

OBSERVED RESULT
The "outside" of the intended region is selected

EXPECTED RESULT
The intended region is selected

SOFTWARE/OS VERSIONS
macOS: 10.14.6
Krita: 4.3.0 (2bae978)

ADDITIONAL INFORMATION
See attachment
Comment 1 Yu-Hsuan Lai 2020-04-29 05:46:31 UTC
Created attachment 127970 [details]
screen recording
Comment 2 Halla Rempt 2020-05-04 12:31:02 UTC
I cannot even get it to become a polyline tool, but that's maybe because I was using the trackpad of my macbook pro...
Comment 3 Deif Lou 2022-02-23 14:57:28 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 420298, bug 435848

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