• Status Closed
  • Percent Complete
  • Task Type Patches
  • Category User Interface
  • Assigned To No-one
  • Operating System Another
  • Severity Low
  • Priority Very Low
  • Reported Version Release 3.4
  • Due in Version Undecided
  • Due Date Undecided
  • Votes
  • Private
Attached to Project: Rockbox
Opened by Kuma76 - 2009-11-23
Last edited by mcuelenaere - 2010-11-05

FS#10806 - Yes/No Screen for absolute touchsreen mode

This patch allows to use the yes /no screen in the absolute touchscreen mode.
It draws the message at the screen center and two buttons (yes and no) below.

The functions to draw the buttons and to check if a button was pressed I put in separate files as they are used by the latest version of the absolute mode graphic EQ screen (FS#10639) too.

Closed by  mcuelenaere
2010-11-05 12:09
Reason for closing:  Fixed
Additional comments about closing:   Warning: Undefined array key "typography" in /home/rockbox/flyspray/plugins/dokuwiki/inc/parserutils.php on line 371 Warning: Undefined array key "camelcase" in /home/rockbox/flyspray/plugins/dokuwiki/inc/parserutils.php on line 407

Yes/no support for touchscreens was introduced in r27890.

Following a discussion on the -dev mailing list recently, several people objected to any removal of the current “grid” mode, which basically means that all screens will need to work in both modes.

For the yes/no screen, I think it’s sufficiently simple to keep everything in one merged yesno.c file. Something like the attached patch ;-)

There are a few more things that need fixing before this can be committed. In particular, you should make sure not to use any floating-point maths in the Rockbox core (it’s ok in plugins, but not the core). If you want to calculate 10% of some value, use something like x*10/100 instead…

Thanks for the comments, I will check this floating point thing.

About the grid mode. I can change the patch to show the screen in the old fashioned way in grid mode and with buttons in the absoute mode.
Personally I don’t like this screen in grid mode and I can not think of anybody with a touchscreen who does, therefore I fixed this to the absolute mode.

Actually for me sometimes the grid is better (e.g. in lists), in other screens I prefer the absolute mode (graphic EQ (still patch only)), which means I would
like to have the mode selectable for different screens. But this is a different issue and I am not sure how to accomplish this. Selections menus seem to be
wasted, I think something like WPS tags would be nice, though the WPS is probably not the best place.
Anyway, as long is such a thing is not available, I would like to have this screen fixed to absolute mode. can you agree? Anything else needed to get this

I don’t think any screen should force the touchscreen mode. The screens that currently do, only do it as a temporary workaround - the user’s choice should be obeyed wherever possible. If you prefer a different mode in different screens, it may be possible in future to introduce a key combination to switch between modes, if that’s useful. I don’t think we want a setting per screen, that’s overkill I think.

Bearing this in mind, I think the patch I posted above is a good starting point. It needs some work still: the “grid mode” implementation is poor, and I think more code could be made common between the two implementations. Also the floating-point calculations need to be removed.


Available keyboard shortcuts


Task Details

Task Editing