Bug 421169 - Allow resizing panel with an editable spinbox
Summary: Allow resizing panel with an editable spinbox
Status: RESOLVED FIXED
Alias: None
Product: plasmashell
Classification: Plasma
Component: Panel (other bugs)
Version First Reported In: master
Platform: Other Linux
: NOR normal
Target Milestone: 1.0
Assignee: Nate Graham
URL:
Keywords: usability
Depends on:
Blocks:
 
Reported: 2020-05-07 21:33 UTC by Andres Betts
Modified: 2020-06-12 14:51 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed/Implemented In: 5.20
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Andres Betts 2020-05-07 21:33:04 UTC
SUMMARY
Implement 2 helpers for users to interact with fine motor functions.

1. Make dragging more "sticky", help users land and stay in a specific pixel number for a little longer so as to help them land on the desired pixel number. Imagine a user with hand motor function issues that is unable to control the panel size they want.

2. Implement an editable spin box to help users avoid dragging with pointer and instead enter the desired number and be done. There is a new idea for a spin box that would work really well in this scenario. https://phabricator.kde.org/T9460


EXPECTED RESULT


SOFTWARE/OS VERSIONS
Windows: 
macOS: 
Linux/KDE Plasma: 
(available in About System)
KDE Plasma Version: 
KDE Frameworks Version: 
Qt Version: 

ADDITIONAL INFORMATION
Comment 1 Nate Graham 2020-05-08 13:47:48 UTC
#1 is basically Bug 418700. Let's use this to track the request for #2. I have wanted this myself for a long time. The current drag-only interaction method feels quite clumsy and imprecise to me.

In fact the PlasmaComponents3 spinbox already looks almost exactly like the proposal in https://phabricator.kde.org/T9460, so maybe it's just a matter of using it and then re-adding the existing drag-to-resize behavior for people who like that.
Comment 2 Nate Graham 2020-05-08 16:10:21 UTC
Implemented with https://phabricator.kde.org/D29535
Comment 3 Nate Graham 2020-06-12 14:47:17 UTC
Git commit 876eedfb6b93a2d18a91ed0d734839eed01e9947 by Nate Graham.
Committed on 12/06/2020 at 14:47.
Pushed by ngraham into branch 'master'.

Add a SpinBox (with draggability) to panel thickness adjustment UI

Summary:
We receive many complaints and bug reports about the current UI for adjusting panel
thickness. People don't figure out that they have to drag on the button, and when they do,
they complain that it's too hard to set the value finely enough.

This patch removes the draggable button and replaces it with a more conventional SpinBox,
which in D29534 is given ability to adjust the values by scrolling over it or clicking and
dragging. This yields the following improvements:
- The way you adjust panel thickness is now more obvious
- The existing drag-to-adjust behavior is much nicer and less buggy
- Panel thickness can now be specified numerically
- Fine-tuning panel thickness is now easier using any adjustment method
- We have one fewer custom control to maintain
- Bugs in custom scrolling implementation go away

Touch friendliness is maintained because this SpinBox has an inherently touch-friendly design
with large touchable buttons that can be held down to quickly adjust the value, and touch-and
-drag still works after D29534 is applied.

I wouldn't mind using this SpinBox design elsewhere too; see T9460.
Related: bug 418700
FIXED-IN: 5.19

Test Plan:
{F8301480}
{F8301388}

Reviewers: abetts, #vdg, #plasma, mart

Reviewed By: #vdg, #plasma, mart

Subscribers: mart, ahiemstra, cblack, plasma-devel

Tags: #plasma

Differential Revision: https://phabricator.kde.org/D29535

D  +0    -181  desktoppackage/contents/configuration/panelconfiguration/SizeHandle.qml
M  +43   -6    desktoppackage/contents/configuration/panelconfiguration/ToolBar.qml

https://invent.kde.org/plasma/plasma-desktop/commit/876eedfb6b93a2d18a91ed0d734839eed01e9947