diff options
Diffstat (limited to 'apps/gui/statusbar-skinned.c')
-rw-r--r-- | apps/gui/statusbar-skinned.c | 19 |
1 files changed, 18 insertions, 1 deletions
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 @@ | |||
39 | #include "font.h" | 39 | #include "font.h" |
40 | #include "icon.h" | 40 | #include "icon.h" |
41 | #include "option_select.h" | 41 | #include "option_select.h" |
42 | #ifdef HAVE_TOUCHSCREEN | ||
43 | #include "sound.h" | ||
44 | #include "misc.h" | ||
45 | #endif | ||
42 | 46 | ||
43 | /* initial setup of wps_data */ | 47 | /* initial setup of wps_data */ |
44 | static int update_delay = DEFAULT_UPDATE_DELAY; | 48 | static int update_delay = DEFAULT_UPDATE_DELAY; |
@@ -296,10 +300,23 @@ int sb_touch_to_button(int context) | |||
296 | case ACTION_SETTINGS_INC: | 300 | case ACTION_SETTINGS_INC: |
297 | case ACTION_SETTINGS_DEC: | 301 | case ACTION_SETTINGS_DEC: |
298 | { | 302 | { |
299 | const struct settings_list *setting = region->extradata; | 303 | const struct settings_list *setting = region->data; |
300 | option_select_next_val(setting, button == ACTION_SETTINGS_DEC, true); | 304 | option_select_next_val(setting, button == ACTION_SETTINGS_DEC, true); |
301 | } | 305 | } |
302 | return ACTION_REDRAW; | 306 | return ACTION_REDRAW; |
307 | case ACTION_TOUCH_MUTE: | ||
308 | { | ||
309 | const int min_vol = sound_min(SOUND_VOLUME); | ||
310 | if (global_settings.volume == min_vol) | ||
311 | global_settings.volume = region->value; | ||
312 | else | ||
313 | { | ||
314 | region->value = global_settings.volume; | ||
315 | global_settings.volume = min_vol; | ||
316 | } | ||
317 | setvol(); | ||
318 | } | ||
319 | return ACTION_REDRAW; | ||
303 | /* TODO */ | 320 | /* TODO */ |
304 | } | 321 | } |
305 | return button; | 322 | return button; |