rockbox/apps/gui
William Wilgus dc87e9e9f3 Selective Backlight/Advanced Softlock - Selective actions based on context
Selective backlight allows the user to choose actions that will not
enable the backlight when pressed.

Advanced softlock allows user to choose actions that  will not be
blocked by screenlock on devices without a hold button.

Both only occur in FM and WPS Contexts.

Update:
Back from the dead
-Cleaned up code, removed unnecessary calls, re-arranged last filter action
  timeout conditional to work in case last_filtered_action_tick was never set
-Added entries to the manual
-Fixed back button on some menus not activating backlight
-Made menus more intuitive, no actions selected now changes menu item to off.
-Added talk fuctionality.
-Added option to disable selective backlight while on external power.
-Rewrote backlight and softlock handling code to fix issue with scrollwheels
-Menu changed to have toggle(yes/no) and settings
-Optimized selective actions lookup
-Added option to disable notification of 'buttons locked' while softlocked
-Removed uneeded code, consolidated action lookup to single function
-Fixed incorrect name on selective softlock menu
-Added option to disable touch on touchscreen devices
-Fixed backlight on original screenlock without selective screenlock active
-Added text selection in mask_select for when show_icons is off
-Fixed voice in mask_select to speak if voice is defined instead of spelling
-Added more lang defines (play skip seek)
-Added option to disable unknown keys turning on backlight
-Fixed Conditional argument In wrong place causing players without
	backlight to fail to build
-Fixed Disable Unknown blocking detection of context change
-Fixed canceling menu didn't update new settings
-Added Autolock on backlight off
-Removed backlight_on_force from backlight.c, Now sets ignore next to false
	and uses backlight_on
-Cleaned up autolock code added strings to lang file
-Fixed issue where rapid presses would bypass softlock
-Removed old softlock code, Cleaned selective actions code
-Changed menu to match existing RB menus
-Fixed Backlight_on_Hold blocked by backlight_ignore_next
-Fixed ignore_next for ipod
-Fixed bug allowing context with softlock to bypass selective backlight
-Changed mask_select to no longer prompt for changes to be saved
-Changed menu names
-Added ignore timeout to allow ipod scroll wheel to work properly and other
 players to still work properly, removed some previous code including
 ignore_event
-Increased ignore timeout to prevent sd card accesses from interrupting action
 code and turning on backlight
-Changed Unknown action to unmapped action in menu, changed handling code
-Removed unneeded logic and variables for handling unfiltered actions
-Reverted unmapped action code to previous functionality
-Added manual entries (thanks JohnB)
-Removed elusive unhandled unicode character from manual, changed formatting slightly

Actions:
Volume,Play,Seek,Skip

Extras:
Disable unmapped actions
Disable selective backlight on external power
Disable touch during softlock on touchscreen devices
Disable softlock notifications (power button still notifies)
Autolock on backlight off

Method:
Adds a function to ignore backlight on next call
 If selected action occurs backlight is forced on,
 Filter_first_keypress stays intact.

Selective softlock allows selected actions through, bypasses the normal
 softlock routine.

ToDo:
DONE

previous commit (#1) has attribution for folder_select.c which mask_select
is based from.

Change-Id: I08132ddcfd64c81751ef23b720f3ec6d68695fe4
2017-01-17 23:06:17 +01:00
..
bitmap Touchscreen: Show a line separator in lists. 2014-03-03 15:14:16 +01:00
charcell lists: Adapt put_line(). 2014-01-07 14:13:40 +01:00
skin_engine Fix misleading indentation as pointed out by the new gcc warning 2016-08-12 15:33:28 +02:00
backdrop.c
backdrop.h
buttonbar.c
buttonbar.h
color_picker.c lcd-24bit: Introduce a 24-bit mid-level LCD driver 2014-06-21 00:15:53 +02:00
color_picker.h
folder_select.c folder_select: fix problem when selecting / as folder. 2012-08-15 23:10:28 +02:00
folder_select.h New GUI browser to select one (or more) folders. 2012-07-30 21:20:51 +02:00
icon.c icons: When loading mono icons keep them in mono format. 2014-01-11 14:19:43 +01:00
icon.h icons: Provide accessors to the icon format (mono or native). 2014-01-07 11:49:53 +01:00
line.c Fix greyscale and mono builds. 2014-03-03 16:34:36 +01:00
line.h lcd-24bit: Introduce a 24-bit mid-level LCD driver 2014-06-21 00:15:53 +02:00
list.c Fix scrolling left button inadvertently cancels listtree 2015-11-10 20:40:36 +01:00
list.h iPod Classic: reads HDD S.M.A.R.T. data 2015-10-07 06:15:04 +02:00
mask_select.c Selective Backlight/Advanced Softlock - Selective actions based on context 2017-01-17 23:06:17 +01:00
mask_select.h Selective Backlight/Advanced Softlock - Selective actions based on context 2017-01-17 23:06:17 +01:00
option_select.c Implement volume limiter feature 2014-01-13 11:32:03 +01:00
option_select.h skin_engine: Make pressing the setting bar touch region work 2012-07-06 14:28:34 +10:00
pitchscreen.c Make rbcodec/dsp includes more specific. 2012-04-29 17:31:30 -04:00
pitchscreen.h
quickscreen.c Fix build reds caused by typos. 2014-03-18 12:31:09 +01:00
quickscreen.h
scrollbar.c skin_engine: New param "noborder" for the bar tags. 2014-01-12 15:22:29 +01:00
scrollbar.h skin_engine: New param "noborder" for the bar tags. 2014-01-12 15:22:29 +01:00
splash.c scroll_engine: Rename scroll_stop* functions to be more consistent with the lcd api. 2013-12-14 23:11:30 +01:00
splash.h
statusbar-skinned.c events: Rework event subsystem (add_event, send_event) to be more versatile. 2014-03-14 23:36:30 +01:00
statusbar-skinned.h events: Rework event subsystem (add_event, send_event) to be more versatile. 2014-03-14 23:36:30 +01:00
statusbar.c
statusbar.h Add more INIT_ATTR and add config.h includes to header files with INIT_ATTR. 2011-12-19 20:12:52 +00:00
usb_screen.c Fix reset runtime 2016-04-04 11:05:43 +02:00
usb_screen.h
viewport.c events: Rework event subsystem (add_event, send_event) to be more versatile. 2014-03-14 23:36:30 +01:00
viewport.h Fix up some more red 2014-08-05 21:32:13 -04:00
wps.c AB repeat: fix bug that prevents to jump to beginning of track 2015-10-25 20:58:36 +01:00
wps.h Add more INIT_ATTR and add config.h includes to header files with INIT_ATTR. 2011-12-19 20:12:52 +00:00
yesno.c scroll_engine: Rename scroll_stop* functions to be more consistent with the lcd api. 2013-12-14 23:11:30 +01:00
yesno.h