diff options
Diffstat (limited to 'apps/settings_menu.c')
-rw-r--r-- | apps/settings_menu.c | 180 |
1 files changed, 17 insertions, 163 deletions
diff --git a/apps/settings_menu.c b/apps/settings_menu.c index 00c5dfb77d..a27f4feac1 100644 --- a/apps/settings_menu.c +++ b/apps/settings_menu.c | |||
@@ -33,190 +33,44 @@ | |||
33 | #include "backlight.h" | 33 | #include "backlight.h" |
34 | #include "playlist.h" /* for playlist_shuffle */ | 34 | #include "playlist.h" /* for playlist_shuffle */ |
35 | 35 | ||
36 | enum { Shuffle, Backlight, Scroll, Wps, numsettings }; | ||
37 | |||
38 | static void shuffle(void) | 36 | static void shuffle(void) |
39 | { | 37 | { |
40 | bool done = false; | 38 | set_bool( "[Shuffle]", &global_settings.playlist_shuffle ); |
41 | 39 | } | |
42 | lcd_clear_display(); | ||
43 | lcd_puts(0,0,"[Shuffle]"); | ||
44 | |||
45 | while ( !done ) { | ||
46 | lcd_puts(0, 1, playlist_shuffle ? "on " : "off"); | ||
47 | lcd_update(); | ||
48 | |||
49 | switch ( button_get(true) ) { | ||
50 | #ifdef HAVE_RECORDER_KEYPAD | ||
51 | case BUTTON_LEFT: | ||
52 | #else | ||
53 | case BUTTON_STOP: | ||
54 | #endif | ||
55 | done = true; | ||
56 | break; | ||
57 | 40 | ||
58 | default: | 41 | static void mp3_filter(void) |
59 | playlist_shuffle = !playlist_shuffle; | 42 | { |
60 | break; | 43 | set_bool( "[MP3/M3U filter]", &global_settings.mp3filter ); |
61 | } | ||
62 | } | ||
63 | } | 44 | } |
64 | 45 | ||
65 | static void backlight_timer(void) | 46 | static void backlight_timer(void) |
66 | { | 47 | { |
67 | bool done = false; | 48 | set_int( "[Backlight]", "s", &global_settings.backlight, |
68 | int timer = global_settings.backlight; | 49 | backlight_time, 1, 0, 60 ); |
69 | char str[16]; | 50 | backlight_on(); |
70 | |||
71 | lcd_clear_display(); | ||
72 | lcd_puts_scroll(0,0,"Backlight"); | ||
73 | |||
74 | while (!done) { | ||
75 | snprintf(str,sizeof str,"Timeout: %d s ", timer); | ||
76 | lcd_puts(0,1,str); | ||
77 | lcd_update(); | ||
78 | switch( button_get(true) ) { | ||
79 | #ifdef HAVE_RECORDER_KEYPAD | ||
80 | case BUTTON_UP: | ||
81 | #else | ||
82 | case BUTTON_RIGHT: | ||
83 | #endif | ||
84 | timer++; | ||
85 | if(timer > 60) | ||
86 | timer = 60; | ||
87 | break; | ||
88 | |||
89 | #ifdef HAVE_RECORDER_KEYPAD | ||
90 | case BUTTON_DOWN: | ||
91 | #else | ||
92 | case BUTTON_LEFT: | ||
93 | #endif | ||
94 | timer--; | ||
95 | if ( timer < 0 ) | ||
96 | timer = 0; | ||
97 | break; | ||
98 | |||
99 | #ifdef HAVE_RECORDER_KEYPAD | ||
100 | case BUTTON_LEFT: | ||
101 | #else | ||
102 | case BUTTON_STOP: | ||
103 | case BUTTON_MENU: | ||
104 | #endif | ||
105 | done = true; | ||
106 | global_settings.backlight = timer; | ||
107 | backlight_on(); | ||
108 | break; | ||
109 | } | ||
110 | } | ||
111 | } | 51 | } |
112 | 52 | ||
113 | static void scroll_speed(void) | 53 | static void scroll_speed(void) |
114 | { | 54 | { |
115 | bool done=false; | 55 | set_int("Scroll speed indicator...", "", &global_settings.scroll_speed, |
116 | int speed=10; | 56 | &lcd_scroll_speed, 1, 1, 20 ); |
117 | char str[16]; | ||
118 | |||
119 | lcd_clear_display(); | ||
120 | lcd_puts_scroll(0,0,"Scroll speed indicator"); | ||
121 | |||
122 | while (!done) { | ||
123 | snprintf(str,sizeof str,"Speed: %d ",speed); | ||
124 | lcd_puts(0,1,str); | ||
125 | lcd_update(); | ||
126 | lcd_scroll_speed(speed); | ||
127 | switch( button_get(true) ) { | ||
128 | #ifdef HAVE_RECORDER_KEYPAD | ||
129 | case BUTTON_UP: | ||
130 | #else | ||
131 | case BUTTON_RIGHT: | ||
132 | #endif | ||
133 | speed++; | ||
134 | break; | ||
135 | |||
136 | #ifdef HAVE_RECORDER_KEYPAD | ||
137 | case BUTTON_DOWN: | ||
138 | #else | ||
139 | case BUTTON_LEFT: | ||
140 | #endif | ||
141 | speed--; | ||
142 | if ( speed < 1 ) | ||
143 | speed = 1; | ||
144 | break; | ||
145 | |||
146 | #ifdef HAVE_RECORDER_KEYPAD | ||
147 | case BUTTON_LEFT: | ||
148 | #else | ||
149 | case BUTTON_STOP: | ||
150 | case BUTTON_MENU: | ||
151 | #endif | ||
152 | done = true; | ||
153 | lcd_stop_scroll(); | ||
154 | break; | ||
155 | } | ||
156 | } | ||
157 | } | 57 | } |
158 | 58 | ||
159 | 59 | static void wps_set(void) | |
160 | void wps_set(void) | ||
161 | { | 60 | { |
162 | /* Simple menu for selecting what the display shows during playback */ | ||
163 | |||
164 | bool done = false; | ||
165 | int itemp = 0; | ||
166 | char* names[] = { "Id3 ", "File ", "Parse" }; | 61 | char* names[] = { "Id3 ", "File ", "Parse" }; |
167 | 62 | set_option("[WPS display]", &global_settings.wps_display, names, 3 ); | |
168 | lcd_clear_display(); | ||
169 | lcd_puts(0,0,"[Display]"); | ||
170 | |||
171 | while (!done) { | ||
172 | lcd_puts(0,1,names[itemp]); | ||
173 | lcd_update(); | ||
174 | |||
175 | switch ( button_get(true) ) { | ||
176 | #ifdef HAVE_RECORDER_KEYPAD | ||
177 | case BUTTON_DOWN: | ||
178 | #else | ||
179 | case BUTTON_LEFT: | ||
180 | #endif | ||
181 | itemp--; | ||
182 | if (itemp <= 0) | ||
183 | itemp = 0; | ||
184 | break; | ||
185 | #ifdef HAVE_RECORDER_KEYPAD | ||
186 | case BUTTON_UP: | ||
187 | #else | ||
188 | case BUTTON_RIGHT: | ||
189 | #endif | ||
190 | itemp++; | ||
191 | if (itemp >= 2) | ||
192 | itemp = 2; | ||
193 | break; | ||
194 | #ifdef HAVE_RECORDER_KEYPAD | ||
195 | case BUTTON_LEFT: | ||
196 | #else | ||
197 | case BUTTON_STOP: | ||
198 | case BUTTON_MENU: | ||
199 | #endif | ||
200 | done = true; | ||
201 | break; | ||
202 | default: | ||
203 | itemp = 0; | ||
204 | break; | ||
205 | } | ||
206 | } | ||
207 | |||
208 | |||
209 | global_settings.wps_display = itemp; //savedsettings[itemp]; | ||
210 | } | 63 | } |
211 | 64 | ||
212 | void settings_menu(void) | 65 | void settings_menu(void) |
213 | { | 66 | { |
214 | int m; | 67 | int m; |
215 | struct menu_items items[] = { | 68 | struct menu_items items[] = { |
216 | { Shuffle, "Shuffle", shuffle }, | 69 | { "Shuffle", shuffle }, |
217 | { Backlight, "Backlight Timer", backlight_timer }, | 70 | { "MP3/M3U filter", mp3_filter }, |
218 | { Scroll, "Scroll speed", scroll_speed }, | 71 | { "Backlight Timer", backlight_timer }, |
219 | { Wps, "While Playing", wps_set }, | 72 | { "Scroll speed", scroll_speed }, |
73 | { "While Playing", wps_set }, | ||
220 | }; | 74 | }; |
221 | 75 | ||
222 | m=menu_init( items, sizeof items / sizeof(struct menu_items) ); | 76 | m=menu_init( items, sizeof items / sizeof(struct menu_items) ); |