Warning: mysqli_real_connect(): Headers and client library minor version mismatch. Headers:50625 Library:50543 in /sites/rockbox.org/flyspray/adodb/drivers/adodb-mysqli.inc.php on line 108 FS#5990 : set_int screen with a slider



FS#5990 - set_int screen with a slider

Attached to Project: Rockbox
Opened by Jonathan Gordon (jdgordon) - Thursday, 14 September 2006, 09:18 GMT
Last edited by Jonathan Gordon (jdgordon) - Wednesday, 01 August 2007, 14:25 GMT
Task Type Patches
Category User Interface
Status Closed
Assigned To No-one
Operating System All players
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No


this is the much requested screen with a slider instead of lists for te int settings...
This task depends upon

Closed by  Jonathan Gordon (jdgordon)
Wednesday, 01 August 2007, 14:25 GMT
Reason for closing:  Later
Comment by Linus Nielsen Feltzing (linusnielsen) - Thursday, 14 September 2006, 21:48 GMT
I tried the patch and here are my comments:

1) I think it adds confusion, since some of the settings that may appear (to the user) to be int settings don't use the slider, like the backlight timer.

2) The slider isn't drawn correctly on some settings, like the contrast on h100.

Otherwise I like it.
Comment by Dominik Riebeling (bluebrother) - Thursday, 14 September 2006, 22:51 GMT
After the discussion earlier and playing around with the mockups I made today I was tempted playing around with this patch. The attached modified version draws vertical sliders. Tried on recorder (sim) with xtal-14 and h120 with various font sizes. I made this mainly for demonstration, so the code may need some more work.
Comment by Dominik Riebeling (bluebrother) - Friday, 15 September 2006, 12:10 GMT
Ok, here is another modification:
- show the vertical slider if there is enough room.
- if there are only 4 lines available for text, use a horizontal slider (as a vertical slider looks a bit strange)
- if there is less than 4 lines, omit the title
- respect the statusbar setting.
Tested on h120 target, recorder (also with xtal-14) and h120 sim. Looks nice and is IMO a good compromise between being consistent and convenient.

Comment by Alexander Levin (fml2) - Friday, 15 September 2006, 20:32 GMT
Without having tried out the patch: I think Linus is right. There are some settings which have int values (e.g. recording sample rate) but that are more naturally set through a list. And it's very hard to decide which setting should be set in which way. And even if the devs would agree on it -- it'd be still hard to explain this to the users.
Comment by Jonathan Gordon (jdgordon) - Saturday, 16 September 2006, 09:36 GMT
i'm going to try the patch out soon, but just replying to Linus and Alex I think those values should actually be changed.
is there any real reason why the backlight (for example) setting doesnt pass the actual timeout to the code instead of an index value?
The only semi-acceptable reason I can tihnk of is that a special value is needed for on/off, but the formatter callback function can be used to display on/off instead of the spercial value (It would also decrease code size by a tiny bnit changing these because you wont need to have the options sturct with the values.)
Comment by Linus Nielsen Feltzing (linusnielsen) - Saturday, 16 September 2006, 13:19 GMT
There are 3 reasons:

1) The values also include "Off" and "Always on", which aren't integer values

2) The values aren't evenly spaced

3) To save space in the RTC RAM
Comment by Jonathan Gordon (jdgordon) - Saturday, 16 September 2006, 13:48 GMT
1) can be done with the formatter callback
2) using the backlight as an example... why does it not just have a max,min and any value between them is fine?
3) with a max value you still wont get close to needing all 32 bits.. 8 bits is enough to get to 512 which i would think would be plenty for most settings..
Comment by Linus Nielsen Feltzing (linusnielsen) - Saturday, 16 September 2006, 16:32 GMT
1) Yes

2) The backlight timer might be done like that, but the recording timesplit would be a pain to set to 24 hours when the resolution is 5 minutes. The uneven steps are for convenience.

3) what 32 bits? The current backlight timer setting uses 5 bits

I agree with you that these settings could be converted to integer settings. The question is if we want it. If we take the timesplit as an example again, I believe it is convenient for the user to not have 5-minute resolution up to the maximum of 24 hours. For example, the 01:14 and 01:20 settings are exactly matched to fit a regular CD. If we want to allow the user to set 01:14, we would need 1-minute resolution. That would make it even more painful to set the timesplit.
Comment by Jonathan Gordon (jdgordon) - Sunday, 17 September 2006, 00:31 GMT
to get around the resolution problem we could either add a button to keep doubling the resolution, or change the res depending on how long the user had been holding down the inc/dec buttons.
Comment by Dominik Riebeling (bluebrother) - Wednesday, 20 September 2006, 19:56 GMT
I consider a slider being a graphical representation. Thus I don't think the values need to have equal steps, so using values like 1:00, 1:14 and 1:20 doesn't seem problematic to me. But if there are objections, why not leave such settings the way they are already?
Also, IMO a slider looks way better on sound setting values (like volume, bass, etc.) but isn't necessary on other values (like display contrast) at all. How about using it as a graphical representation on only those sound setting values? (Ok, this will make the display inconsistent to some degree -- but maybe it's a nice option.)