summaryrefslogtreecommitdiff
path: root/apps/settings_menu.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/settings_menu.c')
-rw-r--r--apps/settings_menu.c180
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
36enum { Shuffle, Backlight, Scroll, Wps, numsettings };
37
38static void shuffle(void) 36static 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: 41static 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
65static void backlight_timer(void) 46static 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
113static void scroll_speed(void) 53static 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 59static void wps_set(void)
160void 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
212void settings_menu(void) 65void 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) );