FS#9828 - Quickscreen: implement cancelling

Attached to Project: Rockbox
Opened by Thomas Martitz (kugel.) - Sunday, 25 January 2009, 18:55 GMT
Last edited by Thomas Martitz (kugel.) - Thursday, 22 December 2011, 15:37 GMT
Task Type Patches
Category User Interface
Status Closed
Assigned To No-one
Operating System All players
Severity Low
Priority Normal
Reported Version Version 3.1
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No


This patch implements cancelling changes in the quickscreen. If the changes are discarded, a splash will appear for some 250ms (HZ/4).

The side effect: For most targets, the button that exited the quickscreen will now cancel. So, in order to save the settings, the usual ok/select button must be used (except for buttons which are used to change options, like right, on some targets)

The changes to the keymap are to make sure, that the buttons which changes the options don't also act as ok button. E.g. if the usual select is mapped to right (in addition to select), the quickscreen must make sure that right is remapped to not act as ok button.
This task depends upon

Closed by  Thomas Martitz (kugel.)
Thursday, 22 December 2011, 15:37 GMT
Reason for closing:  Out of Date
Comment by Jonathan Gordon (jdgordon) - Monday, 26 January 2009, 00:10 GMT
the way you are storing the old values wont work... bool values are also legal in the QS and dong *(int*)blaa on them will possibly data abort on arm...

Also, we would like to be able to put a .cfg selector in the screen whcih this patch would bassically kill
Comment by Thomas Martitz (kugel.) - Monday, 26 January 2009, 00:11 GMT
Hm, I tried it with bool (actually because shuffle is default..and bool) and it didn't data abort.

Edit (re cfg selector): another "possibly somewhere in the future added feature, which isn't even yet decided how it's going to be implemented". Anyway, if the cfg selector would just open the filebrowser to some pre-defined cfg folder (which is probably also the easiest way to do it), this wouldn't break it.
Comment by Thomas Martitz (kugel.) - Monday, 26 January 2009, 00:32 GMT
Hmm, actually I don't know how it would break a cfg selector in anyway. If the cfg's would be selected within the quickscreen, you're going the apply them actually upon leaving anyway, not (otherwise it would load every cfg while just toggling through them)? This would work well with this patch.
Comment by Thomas Martitz (kugel.) - Monday, 26 January 2009, 02:21 GMT
Ok, this is more intelligent with the keymappings. For most targets, the existing behavior will NOT change. Exceptions are the sansas, where SELECT is the button to confirm now and power will cancel (that makes much more sense to me anyway).
I left the int for now, as I didn't encounter any problems (I'm using 64bit sim).

Some more notes why I think this patch is useful:
Canceling settings is something I really like, and I use that often. I find this incredibly useful with settings which are applied by "hovering" above them (i.e. which take effect before you hit confirm). I'd like to have the quickscreen do that as well.
I like consistency. Virtually almost every setting can be cancelled, and I don't see a reason why the quickscreen should be an exception.

The quickscreen is still live, this patch doesn't change any of its liveness. Toggling through the settings will take effect immediately, just as before.

edit: correct diff this time.