summaryrefslogtreecommitdiff
path: root/apps/screens.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/screens.c')
-rw-r--r--apps/screens.c35
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}