diff options
-rw-r--r-- | apps/playlist.c | 25 | ||||
-rw-r--r-- | apps/tree.c | 59 | ||||
-rw-r--r-- | apps/wps.c | 41 |
3 files changed, 65 insertions, 60 deletions
diff --git a/apps/playlist.c b/apps/playlist.c index 9bd42941bc..27665981f7 100644 --- a/apps/playlist.c +++ b/apps/playlist.c | |||
@@ -30,12 +30,10 @@ | |||
30 | #include "settings.h" | 30 | #include "settings.h" |
31 | #include "status.h" | 31 | #include "status.h" |
32 | #include "applimits.h" | 32 | #include "applimits.h" |
33 | |||
34 | #ifdef HAVE_LCD_BITMAP | 33 | #ifdef HAVE_LCD_BITMAP |
35 | #define LINE_Y (global_settings.statusbar&&statusbar_enabled?1:0) /* Y position the entry-list starts at */ | 34 | #include "icons.h" |
36 | #else /* HAVE_LCD_BITMAP */ | 35 | #include "widgets.h" |
37 | #define LINE_Y 0 /* Y position the entry-list starts at */ | 36 | #endif |
38 | #endif /* HAVE_LCD_BITMAP */ | ||
39 | 37 | ||
40 | playlist_info_t playlist; | 38 | playlist_info_t playlist; |
41 | 39 | ||
@@ -183,10 +181,17 @@ void play_list(char *dir, /* "current directory" */ | |||
183 | 181 | ||
184 | playlist.index = start_index; | 182 | playlist.index = start_index; |
185 | 183 | ||
184 | #ifdef HAVE_LCD_BITMAP | ||
185 | if(global_settings.statusbar) | ||
186 | lcd_setmargins(0, STATUSBAR_HEIGHT); | ||
187 | else | ||
188 | lcd_setmargins(0, 0); | ||
189 | #endif | ||
190 | |||
186 | /* If file is NULL, the list is in RAM */ | 191 | /* If file is NULL, the list is in RAM */ |
187 | if(file) { | 192 | if(file) { |
188 | lcd_clear_display(); | 193 | lcd_clear_display(); |
189 | lcd_puts(0,LINE_Y,"Loading..."); | 194 | lcd_puts(0,0,"Loading..."); |
190 | status_draw(); | 195 | status_draw(); |
191 | lcd_update(); | 196 | lcd_update(); |
192 | playlist.in_ram = false; | 197 | playlist.in_ram = false; |
@@ -216,7 +221,7 @@ void play_list(char *dir, /* "current directory" */ | |||
216 | 221 | ||
217 | if(global_settings.playlist_shuffle) { | 222 | if(global_settings.playlist_shuffle) { |
218 | if(!playlist.in_ram) { | 223 | if(!playlist.in_ram) { |
219 | lcd_puts(0,LINE_Y,"Shuffling..."); | 224 | lcd_puts(0,0,"Shuffling..."); |
220 | status_draw(); | 225 | status_draw(); |
221 | lcd_update(); | 226 | lcd_update(); |
222 | randomise_playlist( random_seed ); | 227 | randomise_playlist( random_seed ); |
@@ -247,7 +252,7 @@ void play_list(char *dir, /* "current directory" */ | |||
247 | } | 252 | } |
248 | 253 | ||
249 | if(!playlist.in_ram) { | 254 | if(!playlist.in_ram) { |
250 | lcd_puts(0,LINE_Y,"Playing... "); | 255 | lcd_puts(0,0,"Playing... "); |
251 | status_draw(); | 256 | status_draw(); |
252 | lcd_update(); | 257 | lcd_update(); |
253 | } | 258 | } |
@@ -342,7 +347,7 @@ void add_indices_to_playlist(void) | |||
342 | next_tick = current_tick + HZ; | 347 | next_tick = current_tick + HZ; |
343 | snprintf(line, sizeof line, "%d files", | 348 | snprintf(line, sizeof line, "%d files", |
344 | playlist.amount); | 349 | playlist.amount); |
345 | lcd_puts(0,LINE_Y+1,line); | 350 | lcd_puts(0,1,line); |
346 | status_draw(); | 351 | status_draw(); |
347 | lcd_update(); | 352 | lcd_update(); |
348 | } | 353 | } |
@@ -357,7 +362,7 @@ void add_indices_to_playlist(void) | |||
357 | } | 362 | } |
358 | if(!playlist.in_ram) { | 363 | if(!playlist.in_ram) { |
359 | snprintf(line, sizeof line, "%d files", playlist.amount); | 364 | snprintf(line, sizeof line, "%d files", playlist.amount); |
360 | lcd_puts(0,LINE_Y+1,line); | 365 | lcd_puts(0,1,line); |
361 | status_draw(); | 366 | status_draw(); |
362 | lcd_update(); | 367 | lcd_update(); |
363 | close(fd); | 368 | close(fd); |
diff --git a/apps/tree.c b/apps/tree.c index 1f1c924ef6..a07a520955 100644 --- a/apps/tree.c +++ b/apps/tree.c | |||
@@ -69,10 +69,10 @@ void browse_root(void) | |||
69 | 69 | ||
70 | #ifdef HAVE_LCD_BITMAP | 70 | #ifdef HAVE_LCD_BITMAP |
71 | 71 | ||
72 | #define TREE_MAX_ON_SCREEN ((LCD_HEIGHT-MARGIN_Y)/LINE_HEIGTH-LINE_Y) | 72 | #define TREE_MAX_ON_SCREEN ((LCD_HEIGHT-MARGIN_Y)/LINE_HEIGTH) |
73 | #define TREE_MAX_LEN_DISPLAY 16 /* max length that fits on screen */ | 73 | #define TREE_MAX_LEN_DISPLAY 16 /* max length that fits on screen */ |
74 | 74 | ||
75 | #define MARGIN_Y 0 /* Y pixel margin */ | 75 | #define MARGIN_Y (global_settings.statusbar ? STATUSBAR_HEIGHT : 0) /* Y pixel margin */ |
76 | #define MARGIN_X 10 /* X pixel margin */ | 76 | #define MARGIN_X 10 /* X pixel margin */ |
77 | #define LINE_Y (global_settings.statusbar ? 1 : 0) /* Y position the entry-list starts at */ | 77 | #define LINE_Y (global_settings.statusbar ? 1 : 0) /* Y position the entry-list starts at */ |
78 | #define LINE_X 0 /* X position the entry-list starts at */ | 78 | #define LINE_X 0 /* X position the entry-list starts at */ |
@@ -167,7 +167,7 @@ static int showdir(char *path, int start) | |||
167 | int fh; | 167 | int fh; |
168 | unsigned char *font = lcd_getcurrentldfont(); | 168 | unsigned char *font = lcd_getcurrentldfont(); |
169 | fh = ajf_get_fontheight(font); | 169 | fh = ajf_get_fontheight(font); |
170 | tree_max_on_screen = ((LCD_HEIGHT-MARGIN_Y)/fh)-LINE_Y; | 170 | tree_max_on_screen = (LCD_HEIGHT - MARGIN_Y) / fh; |
171 | line_height = fh; | 171 | line_height = fh; |
172 | #else | 172 | #else |
173 | tree_max_on_screen = TREE_MAX_ON_SCREEN; | 173 | tree_max_on_screen = TREE_MAX_ON_SCREEN; |
@@ -273,7 +273,7 @@ static int showdir(char *path, int start) | |||
273 | icon_type = File; | 273 | icon_type = File; |
274 | } | 274 | } |
275 | lcd_bitmap(bitmap_icons_6x8[icon_type], | 275 | lcd_bitmap(bitmap_icons_6x8[icon_type], |
276 | 4, MARGIN_Y+(LINE_Y+i-start)*line_height, 6, 8, true); | 276 | 4, MARGIN_Y+(i-start)*line_height, 6, 8, true); |
277 | #endif | 277 | #endif |
278 | 278 | ||
279 | 279 | ||
@@ -283,11 +283,11 @@ static int showdir(char *path, int start) | |||
283 | { | 283 | { |
284 | char temp = dircache[i].name[len-4]; | 284 | char temp = dircache[i].name[len-4]; |
285 | dircache[i].name[len-4] = 0; | 285 | dircache[i].name[len-4] = 0; |
286 | lcd_puts(LINE_X, LINE_Y+i-start, dircache[i].name); | 286 | lcd_puts(LINE_X, i-start, dircache[i].name); |
287 | dircache[i].name[len-4] = temp; | 287 | dircache[i].name[len-4] = temp; |
288 | } | 288 | } |
289 | else | 289 | else |
290 | lcd_puts(LINE_X, LINE_Y+i-start, dircache[i].name); | 290 | lcd_puts(LINE_X, i-start, dircache[i].name); |
291 | } | 291 | } |
292 | 292 | ||
293 | status_draw(); | 293 | status_draw(); |
@@ -411,7 +411,7 @@ bool dirbrowse(char *root) | |||
411 | int fh; | 411 | int fh; |
412 | unsigned char *font = lcd_getcurrentldfont(); | 412 | unsigned char *font = lcd_getcurrentldfont(); |
413 | fh = ajf_get_fontheight(font); | 413 | fh = ajf_get_fontheight(font); |
414 | tree_max_on_screen = ((LCD_HEIGHT-MARGIN_Y)/fh)-LINE_Y; | 414 | tree_max_on_screen = (LCD_HEIGHT - MARGIN_Y) / fh; |
415 | #else | 415 | #else |
416 | tree_max_on_screen = TREE_MAX_ON_SCREEN; | 416 | tree_max_on_screen = TREE_MAX_ON_SCREEN; |
417 | #endif | 417 | #endif |
@@ -424,7 +424,7 @@ bool dirbrowse(char *root) | |||
424 | if (numentries == -1) | 424 | if (numentries == -1) |
425 | return -1; /* root is not a directory */ | 425 | return -1; /* root is not a directory */ |
426 | 426 | ||
427 | put_cursorxy(0, CURSOR_Y + LINE_Y+dircursor, true); | 427 | put_cursorxy(0, CURSOR_Y + dircursor, true); |
428 | 428 | ||
429 | while(1) { | 429 | while(1) { |
430 | bool restore = false; | 430 | bool restore = false; |
@@ -545,29 +545,29 @@ bool dirbrowse(char *root) | |||
545 | case BUTTON_VOL_UP: | 545 | case BUTTON_VOL_UP: |
546 | if(filesindir) { | 546 | if(filesindir) { |
547 | if(dircursor) { | 547 | if(dircursor) { |
548 | put_cursorxy(0, CURSOR_Y + LINE_Y+dircursor, false); | 548 | put_cursorxy(0, CURSOR_Y + dircursor, false); |
549 | dircursor--; | 549 | dircursor--; |
550 | put_cursorxy(0, CURSOR_Y + LINE_Y+dircursor, true); | 550 | put_cursorxy(0, CURSOR_Y + dircursor, true); |
551 | } | 551 | } |
552 | else { | 552 | else { |
553 | if (start) { | 553 | if (start) { |
554 | start--; | 554 | start--; |
555 | numentries = showdir(currdir, start); | 555 | numentries = showdir(currdir, start); |
556 | put_cursorxy(0, CURSOR_Y + LINE_Y+dircursor, true); | 556 | put_cursorxy(0, CURSOR_Y + dircursor, true); |
557 | } | 557 | } |
558 | else { | 558 | else { |
559 | if (numentries < tree_max_on_screen) { | 559 | if (numentries < tree_max_on_screen) { |
560 | put_cursorxy(0, CURSOR_Y + LINE_Y+dircursor, | 560 | put_cursorxy(0, CURSOR_Y + dircursor, |
561 | false); | 561 | false); |
562 | dircursor = numentries - 1; | 562 | dircursor = numentries - 1; |
563 | put_cursorxy(0, CURSOR_Y + LINE_Y+dircursor, | 563 | put_cursorxy(0, CURSOR_Y + dircursor, |
564 | true); | 564 | true); |
565 | } | 565 | } |
566 | else { | 566 | else { |
567 | start = numentries - tree_max_on_screen; | 567 | start = numentries - tree_max_on_screen; |
568 | dircursor = tree_max_on_screen - 1; | 568 | dircursor = tree_max_on_screen - 1; |
569 | numentries = showdir(currdir, start); | 569 | numentries = showdir(currdir, start); |
570 | put_cursorxy(0, CURSOR_Y + LINE_Y + | 570 | put_cursorxy(0, CURSOR_Y + |
571 | tree_max_on_screen - 1, true); | 571 | tree_max_on_screen - 1, true); |
572 | } | 572 | } |
573 | } | 573 | } |
@@ -583,28 +583,28 @@ bool dirbrowse(char *root) | |||
583 | { | 583 | { |
584 | if (dircursor + start + 1 < numentries ) { | 584 | if (dircursor + start + 1 < numentries ) { |
585 | if(dircursor+1 < tree_max_on_screen) { | 585 | if(dircursor+1 < tree_max_on_screen) { |
586 | put_cursorxy(0, CURSOR_Y + LINE_Y+dircursor, | 586 | put_cursorxy(0, CURSOR_Y + dircursor, |
587 | false); | 587 | false); |
588 | dircursor++; | 588 | dircursor++; |
589 | put_cursorxy(0, CURSOR_Y + LINE_Y+dircursor, true); | 589 | put_cursorxy(0, CURSOR_Y + dircursor, true); |
590 | } | 590 | } |
591 | else { | 591 | else { |
592 | start++; | 592 | start++; |
593 | numentries = showdir(currdir, start); | 593 | numentries = showdir(currdir, start); |
594 | put_cursorxy(0, CURSOR_Y + LINE_Y+dircursor, true); | 594 | put_cursorxy(0, CURSOR_Y + dircursor, true); |
595 | } | 595 | } |
596 | } | 596 | } |
597 | else { | 597 | else { |
598 | if(numentries < tree_max_on_screen) { | 598 | if(numentries < tree_max_on_screen) { |
599 | put_cursorxy(0, CURSOR_Y + LINE_Y+dircursor, | 599 | put_cursorxy(0, CURSOR_Y + dircursor, |
600 | false); | 600 | false); |
601 | start = dircursor = 0; | 601 | start = dircursor = 0; |
602 | put_cursorxy(0, CURSOR_Y + LINE_Y+dircursor, true); | 602 | put_cursorxy(0, CURSOR_Y + dircursor, true); |
603 | } | 603 | } |
604 | else { | 604 | else { |
605 | start = dircursor = 0; | 605 | start = dircursor = 0; |
606 | numentries = showdir(currdir, start); | 606 | numentries = showdir(currdir, start); |
607 | put_cursorxy(0, CURSOR_Y + LINE_Y+dircursor, true); | 607 | put_cursorxy(0, CURSOR_Y + dircursor, true); |
608 | } | 608 | } |
609 | } | 609 | } |
610 | lcd_update(); | 610 | lcd_update(); |
@@ -614,14 +614,8 @@ bool dirbrowse(char *root) | |||
614 | case TREE_MENU: { | 614 | case TREE_MENU: { |
615 | bool lastfilter = global_settings.mp3filter; | 615 | bool lastfilter = global_settings.mp3filter; |
616 | bool lastsortcase = global_settings.sort_case; | 616 | bool lastsortcase = global_settings.sort_case; |
617 | #ifdef HAVE_LCD_BITMAP | ||
618 | bool laststate=statusbar(false); | ||
619 | #endif | ||
620 | lcd_stop_scroll(); | 617 | lcd_stop_scroll(); |
621 | main_menu(); | 618 | main_menu(); |
622 | #ifdef HAVE_LCD_BITMAP | ||
623 | statusbar(laststate); | ||
624 | #endif | ||
625 | /* do we need to rescan dir? */ | 619 | /* do we need to rescan dir? */ |
626 | if ( lastfilter != global_settings.mp3filter || | 620 | if ( lastfilter != global_settings.mp3filter || |
627 | lastsortcase != global_settings.sort_case) | 621 | lastsortcase != global_settings.sort_case) |
@@ -650,13 +644,18 @@ bool dirbrowse(char *root) | |||
650 | 644 | ||
651 | #ifdef HAVE_RECORDER_KEYPAD | 645 | #ifdef HAVE_RECORDER_KEYPAD |
652 | case BUTTON_F3: | 646 | case BUTTON_F3: |
653 | #endif | ||
654 | #ifdef HAVE_LCD_BITMAP | 647 | #ifdef HAVE_LCD_BITMAP |
655 | global_settings.statusbar = !global_settings.statusbar; | 648 | global_settings.statusbar = !global_settings.statusbar; |
656 | settings_save(); | 649 | settings_save(); |
650 | #ifdef LOADABLE_FONTS | ||
651 | tree_max_on_screen = (LCD_HEIGHT - MARGIN_Y) / fh; | ||
652 | #else | ||
653 | tree_max_on_screen = TREE_MAX_ON_SCREEN; | ||
654 | #endif | ||
657 | restore = true; | 655 | restore = true; |
658 | #endif | 656 | #endif |
659 | break; | 657 | break; |
658 | #endif | ||
660 | 659 | ||
661 | #ifndef SIMULATOR | 660 | #ifndef SIMULATOR |
662 | case SYS_USB_CONNECTED: { | 661 | case SYS_USB_CONNECTED: { |
@@ -694,7 +693,7 @@ bool dirbrowse(char *root) | |||
694 | dircursor--; | 693 | dircursor--; |
695 | } | 694 | } |
696 | numentries = showdir(currdir, start); | 695 | numentries = showdir(currdir, start); |
697 | put_cursorxy(0, CURSOR_Y + LINE_Y+dircursor, true); | 696 | put_cursorxy(0, CURSOR_Y + dircursor, true); |
698 | } | 697 | } |
699 | 698 | ||
700 | if ( numentries ) { | 699 | if ( numentries ) { |
@@ -711,12 +710,12 @@ bool dirbrowse(char *root) | |||
711 | int len = strlen(dircache[i].name); | 710 | int len = strlen(dircache[i].name); |
712 | char temp = dircache[i].name[len-4]; | 711 | char temp = dircache[i].name[len-4]; |
713 | dircache[i].name[len-4] = 0; | 712 | dircache[i].name[len-4] = 0; |
714 | lcd_puts_scroll(LINE_X, LINE_Y+dircursor, | 713 | lcd_puts_scroll(LINE_X, dircursor, |
715 | dircache[i].name); | 714 | dircache[i].name); |
716 | dircache[i].name[len-4] = temp; | 715 | dircache[i].name[len-4] = temp; |
717 | } | 716 | } |
718 | else | 717 | else |
719 | lcd_puts_scroll(LINE_X, LINE_Y+dircursor, | 718 | lcd_puts_scroll(LINE_X, dircursor, |
720 | dircache[i].name); | 719 | dircache[i].name); |
721 | } | 720 | } |
722 | } | 721 | } |
diff --git a/apps/wps.c b/apps/wps.c index 3af73d15ed..e134535bff 100644 --- a/apps/wps.c +++ b/apps/wps.c | |||
@@ -45,12 +45,6 @@ | |||
45 | #endif | 45 | #endif |
46 | 46 | ||
47 | #ifdef HAVE_LCD_BITMAP | 47 | #ifdef HAVE_LCD_BITMAP |
48 | #define LINE_Y (global_settings.statusbar ? 1 : 0) /* Y position the entry-list starts at */ | ||
49 | #else /* HAVE_LCD_BITMAP */ | ||
50 | #define LINE_Y 0 /* Y position the entry-list starts at */ | ||
51 | #endif /* HAVE_LCD_BITMAP */ | ||
52 | |||
53 | #ifdef HAVE_LCD_BITMAP | ||
54 | #define PLAY_DISPLAY_2LINEID3 0 | 48 | #define PLAY_DISPLAY_2LINEID3 0 |
55 | #define PLAY_DISPLAY_FILENAME_SCROLL 1 | 49 | #define PLAY_DISPLAY_FILENAME_SCROLL 1 |
56 | #define PLAY_DISPLAY_TRACK_TITLE 2 | 50 | #define PLAY_DISPLAY_TRACK_TITLE 2 |
@@ -82,7 +76,6 @@ static void draw_screen(struct mp3entry* id3) | |||
82 | font_height = 8; | 76 | font_height = 8; |
83 | #endif | 77 | #endif |
84 | 78 | ||
85 | |||
86 | lcd_clear_display(); | 79 | lcd_clear_display(); |
87 | if(!id3) | 80 | if(!id3) |
88 | { | 81 | { |
@@ -117,14 +110,14 @@ static void draw_screen(struct mp3entry* id3) | |||
117 | strncpy(szArtist,szTok,sizeof(szArtist)); | 110 | strncpy(szArtist,szTok,sizeof(szArtist)); |
118 | szArtist[sizeof(szArtist)-1] = 0; | 111 | szArtist[sizeof(szArtist)-1] = 0; |
119 | szDelimit = strrchr(id3->path, ch); | 112 | szDelimit = strrchr(id3->path, ch); |
120 | lcd_puts(0,LINE_Y, szArtist?szArtist:"<nothing>"); | 113 | lcd_puts(0, 0, szArtist?szArtist:"<nothing>"); |
121 | 114 | ||
122 | // removes the .mp3 from the end of the display buffer | 115 | // removes the .mp3 from the end of the display buffer |
123 | szPeriod = strrchr(szDelimit, '.'); | 116 | szPeriod = strrchr(szDelimit, '.'); |
124 | if (szPeriod != NULL) | 117 | if (szPeriod != NULL) |
125 | *szPeriod = 0; | 118 | *szPeriod = 0; |
126 | 119 | ||
127 | lcd_puts_scroll(0,LINE_Y+1,(++szDelimit)); | 120 | lcd_puts_scroll(0, 1, (++szDelimit)); |
128 | break; | 121 | break; |
129 | } | 122 | } |
130 | case PLAY_DISPLAY_FILENAME_SCROLL: | 123 | case PLAY_DISPLAY_FILENAME_SCROLL: |
@@ -147,12 +140,12 @@ static void draw_screen(struct mp3entry* id3) | |||
147 | playlist.amount, | 140 | playlist.amount, |
148 | id3->path); | 141 | id3->path); |
149 | } | 142 | } |
150 | lcd_puts_scroll(0,LINE_Y, buffer); | 143 | lcd_puts_scroll(0, 0, buffer); |
151 | break; | 144 | break; |
152 | } | 145 | } |
153 | case PLAY_DISPLAY_2LINEID3: | 146 | case PLAY_DISPLAY_2LINEID3: |
154 | { | 147 | { |
155 | int l = LINE_Y; | 148 | int l = 0; |
156 | #ifdef HAVE_LCD_BITMAP | 149 | #ifdef HAVE_LCD_BITMAP |
157 | char buffer[64]; | 150 | char buffer[64]; |
158 | 151 | ||
@@ -161,7 +154,7 @@ static void draw_screen(struct mp3entry* id3) | |||
161 | lcd_puts(0, l++, id3->album?id3->album:""); | 154 | lcd_puts(0, l++, id3->album?id3->album:""); |
162 | lcd_puts(0, l++, id3->artist?id3->artist:""); | 155 | lcd_puts(0, l++, id3->artist?id3->artist:""); |
163 | 156 | ||
164 | if(LINE_Y==0&&font_height<=8) { | 157 | if(!global_settings.statusbar && font_height <= 8) { |
165 | if(id3->vbr) | 158 | if(id3->vbr) |
166 | snprintf(buffer, sizeof(buffer), "%d kbit (avg)", | 159 | snprintf(buffer, sizeof(buffer), "%d kbit (avg)", |
167 | id3->bitrate); | 160 | id3->bitrate); |
@@ -345,6 +338,11 @@ static void display_file_time(unsigned int elapsed, unsigned int length) | |||
345 | char buffer[32]; | 338 | char buffer[32]; |
346 | 339 | ||
347 | #ifdef HAVE_LCD_BITMAP | 340 | #ifdef HAVE_LCD_BITMAP |
341 | int line; | ||
342 | if(global_settings.statusbar) | ||
343 | line = 5; | ||
344 | else | ||
345 | line = 6; | ||
348 | snprintf(buffer,sizeof(buffer), | 346 | snprintf(buffer,sizeof(buffer), |
349 | "Time:%3d:%02d/%d:%02d", | 347 | "Time:%3d:%02d/%d:%02d", |
350 | elapsed / 60000, | 348 | elapsed / 60000, |
@@ -352,7 +350,7 @@ static void display_file_time(unsigned int elapsed, unsigned int length) | |||
352 | length / 60000, | 350 | length / 60000, |
353 | length % 60000 / 1000 ); | 351 | length % 60000 / 1000 ); |
354 | 352 | ||
355 | lcd_puts(0, 6, buffer); | 353 | lcd_puts(0, line, buffer); |
356 | slidebar(0, LCD_HEIGHT-6, LCD_WIDTH, 6, elapsed*100/length, Grow_Right); | 354 | slidebar(0, LCD_HEIGHT-6, LCD_WIDTH, 6, elapsed*100/length, Grow_Right); |
357 | lcd_update(); | 355 | lcd_update(); |
358 | #else | 356 | #else |
@@ -410,6 +408,7 @@ void display_keylock_text(bool locked) | |||
410 | { | 408 | { |
411 | lcd_puts(2, 3, "Key lock is OFF"); | 409 | lcd_puts(2, 3, "Key lock is OFF"); |
412 | } | 410 | } |
411 | status_draw(); | ||
413 | lcd_update(); | 412 | lcd_update(); |
414 | #endif | 413 | #endif |
415 | 414 | ||
@@ -435,6 +434,7 @@ void display_mute_text(bool muted) | |||
435 | { | 434 | { |
436 | lcd_puts(2, 3, "Mute is OFF"); | 435 | lcd_puts(2, 3, "Mute is OFF"); |
437 | } | 436 | } |
437 | status_draw(); | ||
438 | lcd_update(); | 438 | lcd_update(); |
439 | #endif | 439 | #endif |
440 | 440 | ||
@@ -464,7 +464,10 @@ int wps_show(void) | |||
464 | lcd_icon(ICON_AUDIO, true); | 464 | lcd_icon(ICON_AUDIO, true); |
465 | lcd_icon(ICON_PARAM, false); | 465 | lcd_icon(ICON_PARAM, false); |
466 | #else | 466 | #else |
467 | lcd_setmargins(0,0); | 467 | if(global_settings.statusbar) |
468 | lcd_setmargins(0, STATUSBAR_HEIGHT); | ||
469 | else | ||
470 | lcd_setmargins(0, 0); | ||
468 | #endif | 471 | #endif |
469 | 472 | ||
470 | ff_rewind = false; | 473 | ff_rewind = false; |
@@ -876,15 +879,9 @@ int wps_show(void) | |||
876 | #endif | 879 | #endif |
877 | if(!keys_locked && !dont_go_to_menu && menu_button_is_down) | 880 | if(!keys_locked && !dont_go_to_menu && menu_button_is_down) |
878 | { | 881 | { |
879 | #ifdef HAVE_LCD_BITMAP | ||
880 | bool laststate=statusbar(false); | ||
881 | #endif | ||
882 | lcd_stop_scroll(); | 882 | lcd_stop_scroll(); |
883 | button_set_release(old_release_mask); | 883 | button_set_release(old_release_mask); |
884 | main_menu(); | 884 | main_menu(); |
885 | #ifdef HAVE_LCD_BITMAP | ||
886 | statusbar(laststate); | ||
887 | #endif | ||
888 | old_release_mask = button_set_release(RELEASE_MASK); | 885 | old_release_mask = button_set_release(RELEASE_MASK); |
889 | ignore_keyup = true; | 886 | ignore_keyup = true; |
890 | id3 = mpeg_current_track(); | 887 | id3 = mpeg_current_track(); |
@@ -905,6 +902,10 @@ int wps_show(void) | |||
905 | #ifdef HAVE_LCD_BITMAP | 902 | #ifdef HAVE_LCD_BITMAP |
906 | global_settings.statusbar = !global_settings.statusbar; | 903 | global_settings.statusbar = !global_settings.statusbar; |
907 | settings_save(); | 904 | settings_save(); |
905 | if(global_settings.statusbar) | ||
906 | lcd_setmargins(0, STATUSBAR_HEIGHT); | ||
907 | else | ||
908 | lcd_setmargins(0, 0); | ||
908 | draw_screen(id3); | 909 | draw_screen(id3); |
909 | #endif | 910 | #endif |
910 | break; | 911 | break; |