Bug 378484

Summary: Popup Palette usability issues of unwanted right-click selecting & holding-releasing right-click actions
Product: [Applications] krita Reporter: Tyson Tan <tysontanx>
Component: UsabilityAssignee: Krita Bugs <krita-bugs-null>
Status: RESOLVED FIXED    
Severity: wishlist CC: alvin, halla
Priority: NOR    
Version: 3.1.3-alpha   
Target Milestone: ---   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed In:

Description Tyson Tan 2017-04-06 02:57:16 UTC
In Krita 3.1.x and older, Popup palette has a few usability issues that cause unwanted actions:

1) Right-click can pick color and select brush presets. 

As Krita 3.1.x's current design, when the cursor is above the popup palette, another right click selects something on the palette before closing it down. This is bad because: Right click is associated with BRINGING UP the popup palette -- we expect another right-click to be associated with CLOSING DOWN the palette. We normally don't pay attention to the cursor position when we close the palette, so it is very easy to select unwanted colors and brush presets accidentally, breaking the flow.

2) Holding Right-click and release automatically selects brush preset and close popup palette.

Holding right click over canvas can bring up popup palette. Keep holding it and move the cursor over a brush preset icon and release, the preset will be selected and the palette close down immediately. This aggravates the problem of (1). What's more, releasing the right button over the palette's color picker doesn't do anything, an inconsistency of UI interaction. 

Allowing holding-key command is usually a bad idea because mouse and stylus does not work the same:

A) A mouse runs on a solid surface, which means a CLICK can be done in a clean and reliable way.

B) A stylus is supported by soft flesh. When the force over a barrel button is lifted, the bouncing back flesh keeps the button activated for a longer period. We cannot predict when the clicking mechanism is bring released. In this case, many (EXPECTED) CLICKS are recognized as HOLDING by the system. That's why it's very difficult to use a 1-button in-line remote control of a headset to perform NEXT (2-clicks) and BACK (3-clicks).

Therefore, we should always consider that on a stylus, CLICKS and HOLDING cannot be executed in a reliable way and they always mix with each other. 

The issues above cause too many unwanted changes of color and brush and confusion in Krita. Therefore I suggest:

A) Do not allow right click to select popup palette items.

B) Do not auto-select-and-close when a holding-right-click is released, keep the popup palette up so we can have time to look, think, select.

C) Treat all holding right-clicks as 1 normal right-click. Do not assign different functions to right-click and holding-right-click.
Comment 1 Halla Rempt 2017-11-26 13:04:02 UTC
WISHGROUP: Small Usability Fixes
Comment 2 Alvin Wong 2018-03-14 15:20:17 UTC
I think point 2 would be handled in Bug 391696. I'll leave point 1 for this bug report.
Comment 3 Dmitry Kazakov 2018-04-18 14:27:42 UTC
Git commit c7e6c0184f951b4b4165a4bbb7e99107a9e36cb0 by Dmitry Kazakov.
Committed on 18/04/2018 at 14:27.
Pushed by dkazakov into branch 'master'.

Disable right-clicking on popup palette

With this patch it is not possible to select a palette item
using the right-click of the stylus. All the distinct actions
should be confirmed with the left button. Right-click on any part
of the canvas just closes the entire palette.
Related: bug 391696

M  +24   -1    libs/ui/kis_popup_palette.cpp
M  +5    -0    libs/ui/kis_popup_palette.h

https://commits.kde.org/krita/c7e6c0184f951b4b4165a4bbb7e99107a9e36cb0
Comment 4 Tyson Tan 2018-04-18 14:51:30 UTC
Thank you Dmitry! This is a life saver!
Comment 5 Halla Rempt 2018-05-02 11:59:38 UTC
Git commit 93e1e39386eae6b23b390ab7c3034c83f864a7ec by Boudewijn Rempt, on behalf of Dmitry Kazakov.
Committed on 02/05/2018 at 11:54.
Pushed by rempt into branch 'krita/4.0'.

Disable right-clicking on popup palette

With this patch it is not possible to select a palette item
using the right-click of the stylus. All the distinct actions
should be confirmed with the left button. Right-click on any part
of the canvas just closes the entire palette.
Related: bug 391696
(cherry picked from commit 20c9efffb70cf2757595fee8d7c56a5fe59d5664)

M  +24   -1    libs/ui/kis_popup_palette.cpp
M  +5    -0    libs/ui/kis_popup_palette.h

https://commits.kde.org/krita/93e1e39386eae6b23b390ab7c3034c83f864a7ec