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/statusbar-skinned.c | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) (limited to 'apps/gui/statusbar-skinned.c') diff --git a/apps/gui/statusbar-skinned.c b/apps/gui/statusbar-skinned.c index a5c751b804..ad89f7a6cb 100644 --- a/apps/gui/statusbar-skinned.c +++ b/apps/gui/statusbar-skinned.c @@ -39,6 +39,10 @@ #include "font.h" #include "icon.h" #include "option_select.h" +#ifdef HAVE_TOUCHSCREEN +#include "sound.h" +#include "misc.h" +#endif /* initial setup of wps_data */ static int update_delay = DEFAULT_UPDATE_DELAY; @@ -296,10 +300,23 @@ int sb_touch_to_button(int context) 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; /* TODO */ } return button; -- cgit v1.2.3