diff options
Diffstat (limited to 'apps/gui/skin_engine/skin_touchsupport.c')
-rw-r--r-- | apps/gui/skin_engine/skin_touchsupport.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/apps/gui/skin_engine/skin_touchsupport.c b/apps/gui/skin_engine/skin_touchsupport.c index c16d223af3..e1a7d0688e 100644 --- a/apps/gui/skin_engine/skin_touchsupport.c +++ b/apps/gui/skin_engine/skin_touchsupport.c | |||
@@ -32,6 +32,7 @@ | |||
32 | #include "lang.h" | 32 | #include "lang.h" |
33 | #include "splash.h" | 33 | #include "splash.h" |
34 | #include "playlist.h" | 34 | #include "playlist.h" |
35 | #include "dsp.h" | ||
35 | 36 | ||
36 | /** Disarms all touchregions. */ | 37 | /** Disarms all touchregions. */ |
37 | void skin_disarm_touchregions(struct wps_data *data) | 38 | void skin_disarm_touchregions(struct wps_data *data) |
@@ -237,6 +238,29 @@ int skin_get_touchaction(struct wps_data *data, int* edge_offset, | |||
237 | returncode = ACTION_REDRAW; | 238 | returncode = ACTION_REDRAW; |
238 | } | 239 | } |
239 | break; | 240 | break; |
241 | case ACTION_TOUCH_SHUFFLE: /* toggle shuffle mode */ | ||
242 | { | ||
243 | global_settings.playlist_shuffle = | ||
244 | !global_settings.playlist_shuffle; | ||
245 | #if CONFIG_CODEC == SWCODEC | ||
246 | dsp_set_replaygain(); | ||
247 | #endif | ||
248 | if (global_settings.playlist_shuffle) | ||
249 | playlist_randomise(NULL, current_tick, true); | ||
250 | else | ||
251 | playlist_sort(NULL, true); | ||
252 | returncode = ACTION_REDRAW; | ||
253 | } | ||
254 | break; | ||
255 | case ACTION_TOUCH_REPMODE: /* cycle the repeat mode setting */ | ||
256 | { | ||
257 | const struct settings_list *rep_setting = | ||
258 | find_setting(&global_settings.repeat_mode, NULL); | ||
259 | option_select_next_val(rep_setting, false, true); | ||
260 | audio_flush_and_reload_tracks(); | ||
261 | returncode = ACTION_REDRAW; | ||
262 | } | ||
263 | break; | ||
240 | } | 264 | } |
241 | return returncode; | 265 | return returncode; |
242 | } | 266 | } |