Bug 446952 - Zoomable Scrollbar: Some people are having difficulty controlling horizontal vs vertical scrolling.
Summary: Zoomable Scrollbar: Some people are having difficulty controlling horizontal ...
Status: RESOLVED FIXED
Alias: None
Product: krita
Classification: Unclassified
Component: Animation (show other bugs)
Version: 5.0.0-beta5
Platform: Other Linux
: NOR minor
Target Milestone: ---
Assignee: Emmet O'Neill
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-12-13 21:37 UTC by Emmet O'Neill
Modified: 2021-12-17 02:56 UTC (History)
0 users

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 Emmet O'Neill 2021-12-13 21:37:22 UTC
Some people have complained about the zoomable scrollbar on the bottom of the timeline, saying that they are having a hard time panning comfortably without accidentally scrolling. Personally I don't find it too difficult to drag roughly horizontally or vertically with a pen or mouse, but we need to consider different levels of comfort, dexterity and accessibility.

https://krita-artists.org/t/animation-zoom-timeline/33074/9

Here are some potential solutions or workarounds:

1. Add an option (in-menu or config file) to disable zoomable scrollbar behavior.

2. Adjust the detection of horizontal vs vertical so as to prefer one "dominant axis" over the other. By broadening the detection angles of the dominant axis (thus narrowing the angle of the minor axis) it would [a] allow us to favor panning over zooming, decreasing the odds of accidentally zooming, and [b] it would move the "fault line" away from the 45-degree angles that we are naturally prone to drawing due to the arc of the forearm. 

3. Lock into horizontal or vertical mode per drag. If you start dragging horizontally, you will remain in horizontal mode until the drag event is over. Same thing with vertical mode. This way you only need to be precise at the very start of the drag (although, the precision at the start becomes *more* important).

4. Revert this design and everything else I've ever done because it's all terrible and go chase my dreams and never look back. :P
Comment 1 Emmet O'Neill 2021-12-17 02:22:33 UTC
Git commit c0c14f45d7bc325c48c11fda8beaed6e5c576ab7 by Emmet O'Neill.
Committed on 17/12/2021 at 02:19.
Pushed by emmetoneill into branch 'krita/5.0'.

Zoomable Scrollbar: Added option to disable in config file.

"scrollbarZoomEnabled=false" in ~/.config/kritarc

M  +1    -0    libs/ui/CMakeLists.txt
M  +9    -0    libs/ui/kis_config.cc
M  +3    -0    libs/ui/kis_config.h
M  +0    -1    libs/widgetutils/CMakeLists.txt
D  +0    -221  libs/widgetutils/kis_zoom_scrollbar.cpp
D  +0    -62   libs/widgetutils/kis_zoom_scrollbar.h
M  +1    -1    plugins/dockers/animation/KisAnimTimelineFramesView.cpp

https://invent.kde.org/graphics/krita/commit/c0c14f45d7bc325c48c11fda8beaed6e5c576ab7
Comment 2 Emmet O'Neill 2021-12-17 02:56:48 UTC
Git commit dcd640c8d12139a0d5362ac1de9d9bb46ad29eff by Emmet O'Neill.
Committed on 17/12/2021 at 02:30.
Pushed by emmetoneill into branch 'master'.

Zoomable Scrollbar: Added option to disable in config file.

"scrollbarZoomEnabled=false" in ~/.config/kritarc

(cherry picked from commit c0c14f45d7bc325c48c11fda8beaed6e5c576ab7)
(cherry picked from commit 78c80d1f86830757457aa250b9a923c5a4933194)

M  +1    -0    libs/ui/CMakeLists.txt
M  +9    -0    libs/ui/kis_config.cc
M  +3    -0    libs/ui/kis_config.h
R  +4    -3    libs/ui/widgets/kis_zoom_scrollbar.cpp [from: libs/widgetutils/kis_zoom_scrollbar.cpp - 097% similarity]
R  +10   -9    libs/ui/widgets/kis_zoom_scrollbar.h [from: libs/widgetutils/kis_zoom_scrollbar.h - 098% similarity]
M  +0    -1    libs/widgetutils/CMakeLists.txt
M  +1    -1    plugins/dockers/animation/KisAnimTimelineFramesView.cpp

https://invent.kde.org/graphics/krita/commit/dcd640c8d12139a0d5362ac1de9d9bb46ad29eff