From 605e2d0e90b335897cc1e29c575a27dabc778491 Mon Sep 17 00:00:00 2001 From: Jonathan Gordon Date: Thu, 13 Jan 2011 10:56:23 +0000 Subject: 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 --- apps/gui/skin_engine/skin_parser.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'apps/gui/skin_engine/skin_parser.c') 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 -- cgit v1.2.3