Gapless autohiding scrollbar arrows; Option to auto-hide arrows in KCM
Please see the following video: http://paulmcauley.com/kde/classikstyles/gapless_autohiding_scroll_arrows.mp4 The video refers to my own ClassikStyles Application Style, but the changes shown to the scrollbars in ClassikStyles are what is in this merge request.
This merge request seeks to address the following two problems when you enable scrollbar arrows in the Breeze Application Style:
- When scrollbar arrows auto-hide they leave a gap when the scrollbar is at maximum/minimum and your mouse is not over the scrollbar. This gap is not only unsightly, but it means you cannot easily determine whether the scrolling position is at maximum/minimum.
- There is no way to turn off the auto-hiding of the arrows, and cannot simply have permanent arrows.
This merge request removes the gap when your mouse is not over the scrollbar when at maximum/minimum by extending the size of the slider under these conditions. The slider position is never changed, only the size when at the extremities. The arrows are also made slightly more compact.
This merge request also adds an "Auto-hide arrows" checkbox to the Breeze Application Style KCM, so that by unticking it you can have scrollbar arrows appearing permanently on all scrollbars if you wish.
One button scroll arrows with auto-hide are now enabled by default again, as I believe this change makes auto-hiding scrollbar arrows highly usable again. You get the benefit of a usable clutter-less design when your mouse is not over a scrollbar, and also the added precision that a scrollbar arrow provides when precise small scrolling is required in a large document. Simple by default, powerful when needed. Sometimes clicking a scrollbar arrow feels more convenient and clear in function than using an imprecise touchpad or dragging the slider imprecisely. As another example, my elderly parents refuse to scroll in MS Windows any other way than by using the scrollbar arrows even when repeatedly shown touchpad gestures -- I doubt I could currently get them to use Plasma for this reason alone!