diff options
Diffstat (limited to 'apps/screens.c')
-rw-r--r-- | apps/screens.c | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/apps/screens.c b/apps/screens.c index 450fdfaaa4..81ed976a61 100644 --- a/apps/screens.c +++ b/apps/screens.c | |||
@@ -164,6 +164,7 @@ bool f2_screen(void) | |||
164 | bool used = false; | 164 | bool used = false; |
165 | int w, h; | 165 | int w, h; |
166 | char buf[32]; | 166 | char buf[32]; |
167 | int oldrepeat = global_settings.repeat_mode; | ||
167 | 168 | ||
168 | /* Get the font height */ | 169 | /* Get the font height */ |
169 | lcd_getstringsize("A",&w,&h); | 170 | lcd_getstringsize("A",&w,&h); |
@@ -176,6 +177,7 @@ bool f2_screen(void) | |||
176 | 177 | ||
177 | lcd_clear_display(); | 178 | lcd_clear_display(); |
178 | 179 | ||
180 | /* Shuffle mode */ | ||
179 | lcd_putsxy(0, LCD_HEIGHT/2 - h*2, str(LANG_SHUFFLE)); | 181 | lcd_putsxy(0, LCD_HEIGHT/2 - h*2, str(LANG_SHUFFLE)); |
180 | lcd_putsxy(0, LCD_HEIGHT/2 - h, str(LANG_F2_MODE)); | 182 | lcd_putsxy(0, LCD_HEIGHT/2 - h, str(LANG_F2_MODE)); |
181 | lcd_putsxy(0, LCD_HEIGHT/2, | 183 | lcd_putsxy(0, LCD_HEIGHT/2, |
@@ -184,6 +186,7 @@ bool f2_screen(void) | |||
184 | lcd_bitmap(bitmap_icons_7x8[Icon_FastBackward], | 186 | lcd_bitmap(bitmap_icons_7x8[Icon_FastBackward], |
185 | LCD_WIDTH/2 - 16, LCD_HEIGHT/2 - 4, 7, 8, true); | 187 | LCD_WIDTH/2 - 16, LCD_HEIGHT/2 - 4, 7, 8, true); |
186 | 188 | ||
189 | /* Directory Filter */ | ||
187 | switch ( global_settings.dirfilter ) { | 190 | switch ( global_settings.dirfilter ) { |
188 | case SHOW_ALL: | 191 | case SHOW_ALL: |
189 | ptr = str(LANG_FILTER_ALL); | 192 | ptr = str(LANG_FILTER_ALL); |
@@ -206,6 +209,28 @@ bool f2_screen(void) | |||
206 | lcd_bitmap(bitmap_icons_7x8[Icon_DownArrow], | 209 | lcd_bitmap(bitmap_icons_7x8[Icon_DownArrow], |
207 | LCD_WIDTH/2 - 3, LCD_HEIGHT - h*3, 7, 8, true); | 210 | LCD_WIDTH/2 - 3, LCD_HEIGHT - h*3, 7, 8, true); |
208 | 211 | ||
212 | /* Repeat Mode */ | ||
213 | switch ( global_settings.repeat_mode ) { | ||
214 | case REPEAT_OFF: | ||
215 | ptr = str(LANG_OFF); | ||
216 | break; | ||
217 | |||
218 | case REPEAT_ALL: | ||
219 | ptr = str(LANG_REPEAT_ALL); | ||
220 | break; | ||
221 | |||
222 | case REPEAT_ONE: | ||
223 | ptr = str(LANG_REPEAT_ONE); | ||
224 | break; | ||
225 | } | ||
226 | |||
227 | lcd_getstringsize(str(LANG_REPEAT),&w,&h); | ||
228 | lcd_putsxy(LCD_WIDTH - w, LCD_HEIGHT/2 - h*2, str(LANG_REPEAT)); | ||
229 | lcd_putsxy(LCD_WIDTH - w, LCD_HEIGHT/2 - h, str(LANG_F2_MODE)); | ||
230 | lcd_putsxy(LCD_WIDTH - w, LCD_HEIGHT/2, ptr); | ||
231 | lcd_bitmap(bitmap_icons_7x8[Icon_FastForward], | ||
232 | LCD_WIDTH/2 + 8, LCD_HEIGHT/2 - 4, 7, 8, true); | ||
233 | |||
209 | lcd_update(); | 234 | lcd_update(); |
210 | 235 | ||
211 | switch (button_get(true)) { | 236 | switch (button_get(true)) { |
@@ -229,6 +254,14 @@ bool f2_screen(void) | |||
229 | used = true; | 254 | used = true; |
230 | break; | 255 | break; |
231 | 256 | ||
257 | case BUTTON_RIGHT: | ||
258 | case BUTTON_F2 | BUTTON_RIGHT: | ||
259 | global_settings.repeat_mode++; | ||
260 | if ( global_settings.repeat_mode >= NUM_REPEAT_MODES ) | ||
261 | global_settings.repeat_mode = 0; | ||
262 | used = true; | ||
263 | break; | ||
264 | |||
232 | case BUTTON_F2 | BUTTON_REL: | 265 | case BUTTON_F2 | BUTTON_REL: |
233 | if ( used ) | 266 | if ( used ) |
234 | exit = true; | 267 | exit = true; |
@@ -247,6 +280,8 @@ bool f2_screen(void) | |||
247 | 280 | ||
248 | settings_save(); | 281 | settings_save(); |
249 | lcd_setfont(FONT_UI); | 282 | lcd_setfont(FONT_UI); |
283 | if ( oldrepeat != global_settings.repeat_mode ) | ||
284 | mpeg_flush_and_reload_tracks(); | ||
250 | 285 | ||
251 | return false; | 286 | return false; |
252 | } | 287 | } |