summaryrefslogtreecommitdiffstats
path: root/apps/gui/skin_engine/skin_parser.c
diff options
context:
space:
mode:
authorJonathan Gordon <rockbox@jdgordon.info>2011-01-13 10:56:23 +0000
committerJonathan Gordon <rockbox@jdgordon.info>2011-01-13 10:56:23 +0000
commit605e2d0e90b335897cc1e29c575a27dabc778491 (patch)
tree55cb67f5e7abc0fe1f5d62090ffda4abb4948959 /apps/gui/skin_engine/skin_parser.c
parentded64f1db58e15bb310da2c685afed6b3dbce4b5 (diff)
downloadrockbox-605e2d0e90b335897cc1e29c575a27dabc778491.tar.gz
rockbox-605e2d0e90b335897cc1e29c575a27dabc778491.zip
New Touchscreen region type... 'mute' which un/mutes volume without pausing playback
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29046 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/gui/skin_engine/skin_parser.c')
-rw-r--r--apps/gui/skin_engine/skin_parser.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/apps/gui/skin_engine/skin_parser.c b/apps/gui/skin_engine/skin_parser.c
index 5a90873d86..e23f84207e 100644
--- a/apps/gui/skin_engine/skin_parser.c
+++ b/apps/gui/skin_engine/skin_parser.c
@@ -880,6 +880,7 @@ static const struct touchaction touchactions[] = {
{ "resumeplayback", ACTION_TREE_WPS}, /* returns to previous music, WPS/FM */
/* not really WPS specific, but no equivilant ACTION_STD_* */
{"voldown", ACTION_WPS_VOLDOWN}, {"volup", ACTION_WPS_VOLUP},
+ {"mute", ACTION_TOUCH_MUTE },
/* generic settings changers */
{"setting_inc", ACTION_SETTINGS_INC}, {"setting_dec", ACTION_SETTINGS_DEC},
@@ -945,7 +946,7 @@ static int parse_touchregion(struct skin_element *element,
region->wvp = curr_vp;
region->armed = false;
region->reverse_bar = false;
- region->extradata = NULL;
+ region->data = NULL;
action = element->params[4].data.text;
strcpy(temp, action);
@@ -998,7 +999,7 @@ static int parse_touchregion(struct skin_element *element,
break;
if (j==nb_settings)
return WPS_ERROR_INVALID_PARAM;
- region->extradata = (void*)&settings[j];
+ region->data = (void*)&settings[j];
}
}
break;
@@ -1011,6 +1012,13 @@ static int parse_touchregion(struct skin_element *element,
if (!item)
return WPS_ERROR_INVALID_PARAM;
add_to_ll_chain(&wps_data->touchregions, item);
+
+ if (region->action == ACTION_TOUCH_MUTE)
+ {
+ region->value = global_settings.volume;
+ }
+
+
return 0;
}
#endif