Bug 367604 - Reduced usability of combined slider/input widgets in editing tools
Summary: Reduced usability of combined slider/input widgets in editing tools
Status: RESOLVED FIXED
Alias: None
Product: digikam
Classification: Applications
Component: Showfoto-Plugins (show other bugs)
Version: 5.1.0
Platform: Other Linux
: NOR minor
Target Milestone: ---
Assignee: Digikam Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-08-20 15:43 UTC by Frank Steinmetzger
Modified: 2022-02-04 22:09 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In: 5.2.0


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Frank Steinmetzger 2016-08-20 15:43:29 UTC
The widgets I am talking about are those with which the user sets plugin parameters, for example the angle of the rotation tool or the dimensions in the resize tool.

Compared to Digikam 4, the new widget behaves very differently. That in itself is not necessarily open for critique, and is rather a matter of opinion and getting-used-to. But the new widget also introduces some shortcomings that go against expected behaviour and does away with some useful features, as described below.

First and foremost, when the user left-clicks on the number, the slider moves to maximum. This should not happen. In any other situation, clicking a number in such a context means set focus on and edit the number. Only by accident I found out that the number now needs to be right-clicked to activate keyboard input mode, which IMHO goes against common UI conventions.

In Digikam 4, there were five different ways to increment or decrement a value, each way having a distinct increment interval¹:
- 1-increment by clicking the spinner up/down arrows or using the mousewheel on the input widget. Especially the latter is fast because there is no need for precise and time-consuming mouse movement to click on the arrow buttons.
- 3-increment by turning the scrollwheel on the slider
- «pagewise» increment by left-clicking on the slider (depending on tool, sometimes ±10, sometimes more).
- absolute slider movement by middle-clicking on the slider

Especially the last two are default behaviour across Qt applications. In contrast, in Digikam 5 a left-click moves the slider absolutely, there is no page-wise increment anymore. I can live with the fact that using the scrollwheel on the slider and on the number increments by the same amount. But the increment in some tools is so high that it makes no sense to use it anymore, e.g. 18 degrees in the free rotation tool.

Perhaps I am a bit more sensible to the described behaviour because I recently bought a mouse whose scrollwheel moves too easily and I just upgraded from digikam 4 to 5 last week. But I hope you understand my point.
Thanks for your time and effort in any case.

Reproducible: Always


Actual Results:  
Clicking on a number in an input widget moves the slider and thus the value to maximum.

Expected Results:  
The keyboard focus moves to the number input.

¹ This old behaviour could also be criticised for being inconsistent. For me, the typical Showfoto workflow consists in the loading of many images at once and do necessary corrections, such as rotation, crop, colours etc. Having several increments to choose from with a single mouse action made this work very fast, because I very seldomly need to use the keyboard (mostly for calling the tools through shortcuts) or do precise mouse movements to hit the spinner's arrow buttons.
IMHO, Digikam does not aim to be a simple and easy tool for every-day photo management. Judging from its range of features, it is rather for users who want to dig deeper into a subject matter and are therefore more accepting towards more functionality in exchange for a steeper learning curve.
Comment 1 Maik Qualmann 2016-08-22 20:25:42 UTC
Git commit ce77b70d48737f3d11829e1647008e0377b05ae8 by Maik Qualmann.
Committed on 22/08/2016 at 20:24.
Pushed by mqualmann into branch 'master'.

left click on value label activate input edit
FIXED-IN: 5.2.0

M  +2    -1    NEWS
M  +14   -2    libs/widgets/common/dsliderspinbox.cpp
M  +5    -4    libs/widgets/common/dsliderspinbox.h

http://commits.kde.org/digikam/ce77b70d48737f3d11829e1647008e0377b05ae8