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/radio/radio_skin.c | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) (limited to 'apps/radio') diff --git a/apps/radio/radio_skin.c b/apps/radio/radio_skin.c index 68314d62b5..2e329230f7 100644 --- a/apps/radio/radio_skin.c +++ b/apps/radio/radio_skin.c @@ -32,6 +32,10 @@ #include "appevents.h" #include "statusbar-skinned.h" #include "option_select.h" +#ifdef HAVE_TOUCHSCREEN +#include "sound.h" +#include "misc.h" +#endif char* default_radio_skin(enum screen_type screen) @@ -120,10 +124,23 @@ int fms_do_button_loop(bool update_screen) case ACTION_SETTINGS_INC: case ACTION_SETTINGS_DEC: { - const struct settings_list *setting = region->extradata; + const struct settings_list *setting = region->data; option_select_next_val(setting, button == ACTION_SETTINGS_DEC, true); } return ACTION_REDRAW; + case ACTION_TOUCH_MUTE: + { + const int min_vol = sound_min(SOUND_VOLUME); + if (global_settings.volume == min_vol) + global_settings.volume = region->value; + else + { + region->value = global_settings.volume; + global_settings.volume = min_vol; + } + setvol(); + } + return ACTION_REDRAW; } #endif return button; -- cgit v1.2.3