diff options
author | Björn Stenberg <bjorn@haxx.se> | 2002-09-03 15:58:47 +0000 |
---|---|---|
committer | Björn Stenberg <bjorn@haxx.se> | 2002-09-03 15:58:47 +0000 |
commit | abe11fd910f979f95454e3b44aba5a57570c6543 (patch) | |
tree | 295747d156f9ff4f579a126fb4bd4617e248752a /apps/wps.c | |
parent | 27c739277773c960ca9b385eacf77c40523dab5c (diff) | |
download | rockbox-abe11fd910f979f95454e3b44aba5a57570c6543.tar.gz rockbox-abe11fd910f979f95454e3b44aba5a57570c6543.zip |
Added quick-set screens to F2 (play modes) and F3 (screen settings) in dir browser and wps. Fixed minor propfont issues in lcd.c. Exported icons outside of icons.c
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2154 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/wps.c')
-rw-r--r-- | apps/wps.c | 166 |
1 files changed, 158 insertions, 8 deletions
diff --git a/apps/wps.c b/apps/wps.c index 440a3e85bf..029ed44f55 100644 --- a/apps/wps.c +++ b/apps/wps.c | |||
@@ -49,7 +49,7 @@ | |||
49 | /* 3% of 30min file == 54s step size */ | 49 | /* 3% of 30min file == 54s step size */ |
50 | 50 | ||
51 | #ifdef HAVE_RECORDER_KEYPAD | 51 | #ifdef HAVE_RECORDER_KEYPAD |
52 | #define RELEASE_MASK (BUTTON_F1 | BUTTON_DOWN | BUTTON_LEFT | BUTTON_RIGHT | BUTTON_UP) | 52 | #define RELEASE_MASK (BUTTON_F1 | BUTTON_F2 | BUTTON_F3 | BUTTON_DOWN | BUTTON_LEFT | BUTTON_RIGHT | BUTTON_UP) |
53 | #else | 53 | #else |
54 | #define RELEASE_MASK (BUTTON_MENU | BUTTON_STOP | BUTTON_LEFT | BUTTON_RIGHT | BUTTON_PLAY) | 54 | #define RELEASE_MASK (BUTTON_MENU | BUTTON_STOP | BUTTON_LEFT | BUTTON_RIGHT | BUTTON_PLAY) |
55 | #endif | 55 | #endif |
@@ -629,6 +629,153 @@ static bool menu(void) | |||
629 | return false; | 629 | return false; |
630 | } | 630 | } |
631 | 631 | ||
632 | #ifdef HAVE_LCD_BITMAP | ||
633 | bool f2_screen(void) | ||
634 | { | ||
635 | bool exit = false; | ||
636 | |||
637 | lcd_stop_scroll(); | ||
638 | |||
639 | while (!exit) { | ||
640 | int w,h; | ||
641 | char* ptr; | ||
642 | |||
643 | ptr = "Repeat"; | ||
644 | #ifdef LCD_PROPFONTS | ||
645 | lcd_getstringsize(ptr,0,&w,&h); | ||
646 | #else | ||
647 | lcd_getfontsize(0,&w,&h); | ||
648 | w *= strlen(ptr); | ||
649 | #endif | ||
650 | |||
651 | lcd_clear_display(); | ||
652 | |||
653 | lcd_putsxy(0, LCD_HEIGHT/2 - h*2, "Shuffle", 0); | ||
654 | lcd_putsxy(0, LCD_HEIGHT/2 - h, "mode:", 0); | ||
655 | lcd_putsxy(0, LCD_HEIGHT/2, | ||
656 | global_settings.playlist_shuffle ? "on" : "off", 0); | ||
657 | lcd_bitmap(bitmap_icons_7x8[Icon_FastBackward], | ||
658 | LCD_WIDTH/2 - 16, LCD_HEIGHT/2 - 4, 7, 8, true); | ||
659 | |||
660 | /* commented out until we really can disable repeat | ||
661 | lcd_putsxy(LCD_WIDTH - w, LCD_HEIGHT/2 - h*2, ptr, 0); | ||
662 | lcd_putsxy(LCD_WIDTH - w, LCD_HEIGHT/2 - h, "mode:", 0); | ||
663 | lcd_putsxy(LCD_WIDTH - w, LCD_HEIGHT/2, "on", 0 ); | ||
664 | lcd_bitmap(bitmap_icons_7x8[Icon_FastForward], | ||
665 | LCD_WIDTH/2 + 8, LCD_HEIGHT/2 - 4, 7, 8, true); | ||
666 | */ | ||
667 | lcd_update(); | ||
668 | |||
669 | switch (button_get(true)) { | ||
670 | case BUTTON_LEFT: | ||
671 | case BUTTON_F2 | BUTTON_LEFT: | ||
672 | global_settings.playlist_shuffle = | ||
673 | !global_settings.playlist_shuffle; | ||
674 | |||
675 | if (global_settings.playlist_shuffle) | ||
676 | randomise_playlist(current_tick); | ||
677 | else | ||
678 | sort_playlist(true); | ||
679 | break; | ||
680 | |||
681 | case BUTTON_RIGHT: | ||
682 | case BUTTON_F2 | BUTTON_RIGHT: | ||
683 | /* toggle repeat */ | ||
684 | break; | ||
685 | |||
686 | #ifdef SIMULATOR | ||
687 | case BUTTON_F2: | ||
688 | #else | ||
689 | case BUTTON_F2 | BUTTON_REL: | ||
690 | #endif | ||
691 | exit = true; | ||
692 | break; | ||
693 | |||
694 | #ifndef SIMULATOR | ||
695 | case SYS_USB_CONNECTED: | ||
696 | handle_usb(); | ||
697 | return true; | ||
698 | #endif | ||
699 | } | ||
700 | } | ||
701 | |||
702 | settings_save(); | ||
703 | |||
704 | return false; | ||
705 | } | ||
706 | |||
707 | bool f3_screen(void) | ||
708 | { | ||
709 | bool exit = false; | ||
710 | |||
711 | lcd_stop_scroll(); | ||
712 | |||
713 | while (!exit) { | ||
714 | int w,h; | ||
715 | char* ptr; | ||
716 | |||
717 | ptr = "Status"; | ||
718 | #ifdef LCD_PROPFONTS | ||
719 | lcd_getstringsize(ptr,0,&w,&h); | ||
720 | #else | ||
721 | lcd_getfontsize(0,&w,&h); | ||
722 | w *= strlen(ptr); | ||
723 | #endif | ||
724 | |||
725 | lcd_clear_display(); | ||
726 | |||
727 | lcd_putsxy(0, LCD_HEIGHT/2 - h*2, "Scroll", 0); | ||
728 | lcd_putsxy(0, LCD_HEIGHT/2 - h, "bar:", 0); | ||
729 | lcd_putsxy(0, LCD_HEIGHT/2, | ||
730 | global_settings.scrollbar ? "on" : "off", 0); | ||
731 | lcd_bitmap(bitmap_icons_7x8[Icon_FastBackward], | ||
732 | LCD_WIDTH/2 - 16, LCD_HEIGHT/2 - 4, 7, 8, true); | ||
733 | |||
734 | lcd_putsxy(LCD_WIDTH - w, LCD_HEIGHT/2 - h*2, ptr, 0); | ||
735 | lcd_putsxy(LCD_WIDTH - w, LCD_HEIGHT/2 - h, "bar:", 0); | ||
736 | lcd_putsxy(LCD_WIDTH - w, LCD_HEIGHT/2, | ||
737 | global_settings.statusbar ? "on" : "off", 0 ); | ||
738 | lcd_bitmap(bitmap_icons_7x8[Icon_FastForward], | ||
739 | LCD_WIDTH/2 + 8, LCD_HEIGHT/2 - 4, 7, 8, true); | ||
740 | lcd_update(); | ||
741 | |||
742 | switch (button_get(true)) { | ||
743 | case BUTTON_LEFT: | ||
744 | case BUTTON_F3 | BUTTON_LEFT: | ||
745 | global_settings.scrollbar = !global_settings.scrollbar; | ||
746 | break; | ||
747 | |||
748 | case BUTTON_RIGHT: | ||
749 | case BUTTON_F3 | BUTTON_RIGHT: | ||
750 | global_settings.statusbar = !global_settings.statusbar; | ||
751 | break; | ||
752 | |||
753 | #ifdef SIMULATOR | ||
754 | case BUTTON_F3: | ||
755 | #else | ||
756 | case BUTTON_F3 | BUTTON_REL: | ||
757 | #endif | ||
758 | exit = true; | ||
759 | break; | ||
760 | |||
761 | #ifndef SIMULATOR | ||
762 | case SYS_USB_CONNECTED: | ||
763 | handle_usb(); | ||
764 | return true; | ||
765 | #endif | ||
766 | } | ||
767 | } | ||
768 | |||
769 | settings_save(); | ||
770 | if (global_settings.statusbar) | ||
771 | lcd_setmargins(0, STATUSBAR_HEIGHT); | ||
772 | else | ||
773 | lcd_setmargins(0, 0); | ||
774 | |||
775 | return false; | ||
776 | } | ||
777 | #endif | ||
778 | |||
632 | /* demonstrates showing different formats from playtune */ | 779 | /* demonstrates showing different formats from playtune */ |
633 | int wps_show(void) | 780 | int wps_show(void) |
634 | { | 781 | { |
@@ -777,15 +924,18 @@ int wps_show(void) | |||
777 | restore = true; | 924 | restore = true; |
778 | break; | 925 | break; |
779 | 926 | ||
780 | /* toggle status bar */ | ||
781 | #ifdef HAVE_RECORDER_KEYPAD | 927 | #ifdef HAVE_RECORDER_KEYPAD |
928 | /* play settings */ | ||
929 | case BUTTON_F2: | ||
930 | if (f2_screen()) | ||
931 | return SYS_USB_CONNECTED; | ||
932 | restore = true; | ||
933 | break; | ||
934 | |||
935 | /* screen settings */ | ||
782 | case BUTTON_F3: | 936 | case BUTTON_F3: |
783 | global_settings.statusbar = !global_settings.statusbar; | 937 | if (f3_screen()) |
784 | settings_save(); | 938 | return SYS_USB_CONNECTED; |
785 | if(global_settings.statusbar) | ||
786 | lcd_setmargins(0, STATUSBAR_HEIGHT); | ||
787 | else | ||
788 | lcd_setmargins(0, 0); | ||
789 | restore = true; | 939 | restore = true; |
790 | break; | 940 | break; |
791 | #endif | 941 | #endif |