Bug 425526 - Hold-clicking sensors in the Brush Settings interface often results in not updating the curve shown
Summary: Hold-clicking sensors in the Brush Settings interface often results in not up...
Status: RESOLVED FIXED
Alias: None
Product: krita
Classification: Applications
Component: Usability (show other bugs)
Version: 4.3.0
Platform: Appimage Linux
: NOR normal
Target Milestone: ---
Assignee: Krita Bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-08-19 02:00 UTC by tomtomtomreportingin
Modified: 2022-04-07 07:51 UTC (History)
1 user (show)

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


Attachments
The deadzone between sensors (black bar) that is visible in Krita using the repo version. The faint blue highlight above the deadzone is from cursor hover only visible in the repo version. (4.65 KB, image/png)
2020-08-19 02:00 UTC, tomtomtomreportingin
Details

Note You need to log in before you can comment on or make changes to this bug.
Description tomtomtomreportingin 2020-08-19 02:00:42 UTC
Created attachment 130989 [details]
The deadzone between sensors (black bar) that is visible in Krita using the repo version. The faint blue highlight above the deadzone is from cursor hover only visible in the repo version.

SUMMARY
When you click and hold sensors, this can often result in the interface showing you the wrong curve. This is not strictly a visual problem: if you touch this incorrect curve, it will overwrite the actual curve of the sensor, which is a problem when not sharing the sensor curves.

STEPS TO REPRODUCE
1. Select Ink-2 Fineliner
2. Select Size
3. (You should be seeing the Speed curve) Similar to a common case you'd come across, hold click PressureIn, drag to Pressure, then take your finger off the button 

OBSERVED RESULT
You will be shown the Speed curve despite having Pressure selected.

BONUS STEP
4. Touch the curve

BONUS RESULT
Your Pressure curve is now the same as the Speed curve.

EXPECTED RESULT
The curve shown should be accurately updated. The holdclicking selection behavior should stay at the very least, as it makes it easier for pens.

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: Debian sid
(available in About System)
KDE Plasma Version: 5.17.5
KDE Frameworks Version: 5.70.0
Qt Version: 5.12.8 (Appimage)

ADDITIONAL INFORMATION
One might notice that this sometimes happens even if you didn't hold-click an unrelated sensor next to the desired sensor. The reason for that is this: There is a little deadzone between sensors, that is not visible to a user using the appimages, but is visible (maybe because of the differences in Qt versions) when using the version from the Debian sid repos (Qt 5.14.2). This deadzone is also why clicks sometimes seem to not register when selecting sensors. 

This deadzone relates to the bug report in that holdclicking from this deadzone produces the same behavior as holdclicking from another sensor. I personally don't see a reason for this deadzone to exist.
Comment 1 Ahab Greybeard 2020-08-19 16:00:42 UTC
This happens with the  Aug 18 4.0.0 alpha (git c6ac82b) appimage on Debian 10 with a MATE desktop.
It also happens with the 4.2.0 appimage.

For Steps 2., 3., whatever input you select, even if it's a non-used curve, if you then click-hold another non-used curve and drag to a used curve, the first input curve you clicked on will be displayed.
(If you then release the hold and click on the final selectedinput again, the correct curve will be displayed.)

I see the bonus result.

I see the deadzone and the effects if you start there.
Comment 2 tomtomtomreportingin 2020-08-21 23:23:42 UTC
I also notice similar behavior in the Filters interface when hold-clicking across the different filters, but it doesn't have something similar to the "Bonus Result"
Comment 3 Bug Janitor Service 2021-12-06 19:17:05 UTC
A possibly relevant merge request was started @ https://invent.kde.org/graphics/krita/-/merge_requests/1205
Comment 4 Dmitry Kazakov 2022-04-07 07:51:53 UTC
Git commit 75abd1e9f436731f822d8d2099365448bf3a3c26 by Dmitry Kazakov, on behalf of Tom Tom Tom.
Committed on 07/04/2022 at 07:51.
Pushed by dkazakov into branch 'master'.

Allow the brush settings lists to respond to drag inputs

Dragging the mouse/pen across options/sensors will now effectively
select the last highlighted option/sensor, instead of doing nothing

M  +18   -0    libs/ui/kis_paintop_settings_widget.cpp
M  +1    -0    libs/ui/kis_paintop_settings_widget.h
M  +14   -0    plugins/paintops/libpaintop/kis_multi_sensors_selector.cpp
M  +4    -0    plugins/paintops/libpaintop/kis_multi_sensors_selector.h

https://invent.kde.org/graphics/krita/commit/75abd1e9f436731f822d8d2099365448bf3a3c26