diff options
-rw-r--r-- | apps/menus/main_menu.c | 64 |
1 files changed, 33 insertions, 31 deletions
diff --git a/apps/menus/main_menu.c b/apps/menus/main_menu.c index 17cd1bcd37..6980e37bcb 100644 --- a/apps/menus/main_menu.c +++ b/apps/menus/main_menu.c | |||
@@ -119,7 +119,8 @@ static bool show_credits(void) | |||
119 | #else | 119 | #else |
120 | #define SIZE_FMT "%s %s" | 120 | #define SIZE_FMT "%s %s" |
121 | #endif | 121 | #endif |
122 | struct info_data { | 122 | struct info_data |
123 | { | ||
123 | bool new_data; | 124 | bool new_data; |
124 | unsigned long size; | 125 | unsigned long size; |
125 | unsigned long free; | 126 | unsigned long free; |
@@ -128,19 +129,20 @@ struct info_data { | |||
128 | unsigned long free2; | 129 | unsigned long free2; |
129 | #endif | 130 | #endif |
130 | }; | 131 | }; |
131 | enum InfoScreenOrder { | 132 | enum infoscreenorder |
132 | Order_SVN_revision = 0, | 133 | { |
133 | Order_GAP1, | 134 | INFO_VERSION = 0, |
135 | INFO_GAP1, | ||
134 | #if CONFIG_RTC | 136 | #if CONFIG_RTC |
135 | Order_Time, | 137 | INFO_TIME, |
136 | Order_Date, | 138 | INFO_DATE, |
137 | Order_GAP2, | 139 | INFO_GAP2, |
138 | #endif | 140 | #endif |
139 | Order_Buffer, | 141 | INFO_BUFFER, |
140 | Order_Batt, | 142 | INFO_BATTERY, |
141 | Order_Disk1, /* capacity or internal capacity/free on hotswap */ | 143 | INFO_DISK1, /* capacity or internal capacity/free on hotswap */ |
142 | Order_Disk2,/* free space or external capacity/free on hotswap */ | 144 | INFO_DISK2, /* free space or external capacity/free on hotswap */ |
143 | Order_Count | 145 | INFO_COUNT |
144 | }; | 146 | }; |
145 | #if CONFIG_RTC | 147 | #if CONFIG_RTC |
146 | const int dayname[] = { | 148 | const int dayname[] = { |
@@ -196,17 +198,17 @@ static char* info_getname(int selected_item, void * data, char *buffer) | |||
196 | } | 198 | } |
197 | switch (selected_item) | 199 | switch (selected_item) |
198 | { | 200 | { |
199 | case Order_SVN_revision: | 201 | case INFO_VERSION: |
200 | snprintf(buffer, MAX_PATH, "%s: %s", | 202 | snprintf(buffer, MAX_PATH, "%s: %s", |
201 | str(LANG_VERSION), appsversion); | 203 | str(LANG_VERSION), appsversion); |
202 | break; | 204 | break; |
203 | case Order_GAP1: | 205 | case INFO_GAP1: |
204 | #if CONFIG_RTC | 206 | #if CONFIG_RTC |
205 | case Order_GAP2: | 207 | case INFO_GAP2: |
206 | #endif | 208 | #endif |
207 | return ""; | 209 | return ""; |
208 | #if CONFIG_RTC | 210 | #if CONFIG_RTC |
209 | case Order_Time: | 211 | case INFO_TIME: |
210 | tm = get_time(); | 212 | tm = get_time(); |
211 | snprintf(buffer, MAX_PATH, "%02d:%02d:%02d %s", | 213 | snprintf(buffer, MAX_PATH, "%02d:%02d:%02d %s", |
212 | global_settings.timeformat == 0 | 214 | global_settings.timeformat == 0 |
@@ -215,7 +217,7 @@ static char* info_getname(int selected_item, void * data, char *buffer) | |||
215 | global_settings.timeformat == 0 | 217 | global_settings.timeformat == 0 |
216 | ?"":tm->tm_hour>11?"P":"A"); | 218 | ?"":tm->tm_hour>11?"P":"A"); |
217 | break; | 219 | break; |
218 | case Order_Date: | 220 | case INFO_DATE: |
219 | tm = get_time(); | 221 | tm = get_time(); |
220 | snprintf(buffer, MAX_PATH, "%s %d %s %d", str(dayname[tm->tm_wday]), | 222 | snprintf(buffer, MAX_PATH, "%s %d %s %d", str(dayname[tm->tm_wday]), |
221 | tm->tm_year+1900, | 223 | tm->tm_year+1900, |
@@ -223,7 +225,7 @@ static char* info_getname(int selected_item, void * data, char *buffer) | |||
223 | tm->tm_mday); | 225 | tm->tm_mday); |
224 | break; | 226 | break; |
225 | #endif | 227 | #endif |
226 | case Order_Buffer: /* buffer */ | 228 | case INFO_BUFFER: /* buffer */ |
227 | { | 229 | { |
228 | long buflen = ((audiobufend - audiobuf) * 2) / 2097; /* avoid overflow */ | 230 | long buflen = ((audiobufend - audiobuf) * 2) / 2097; /* avoid overflow */ |
229 | int integer = buflen / 1000; | 231 | int integer = buflen / 1000; |
@@ -233,7 +235,7 @@ static char* info_getname(int selected_item, void * data, char *buffer) | |||
233 | integer, decimal); | 235 | integer, decimal); |
234 | } | 236 | } |
235 | break; | 237 | break; |
236 | case Order_Batt: /* battery */ | 238 | case INFO_BATTERY: /* battery */ |
237 | #if CONFIG_CHARGING == CHARGING_CONTROL | 239 | #if CONFIG_CHARGING == CHARGING_CONTROL |
238 | if (charge_state == CHARGING) | 240 | if (charge_state == CHARGING) |
239 | snprintf(buffer, MAX_PATH, (char *)str(LANG_BATTERY_CHARGE)); | 241 | snprintf(buffer, MAX_PATH, (char *)str(LANG_BATTERY_CHARGE)); |
@@ -249,7 +251,7 @@ static char* info_getname(int selected_item, void * data, char *buffer) | |||
249 | else | 251 | else |
250 | strcpy(buffer, "(n/a)"); | 252 | strcpy(buffer, "(n/a)"); |
251 | break; | 253 | break; |
252 | case Order_Disk1: /* disc usage 1 */ | 254 | case INFO_DISK1: /* disc usage 1 */ |
253 | #ifdef HAVE_MULTIVOLUME | 255 | #ifdef HAVE_MULTIVOLUME |
254 | output_dyn_value(s1, sizeof s1, info->free, kbyte_units, true); | 256 | output_dyn_value(s1, sizeof s1, info->free, kbyte_units, true); |
255 | output_dyn_value(s2, sizeof s2, info->size, kbyte_units, true); | 257 | output_dyn_value(s2, sizeof s2, info->size, kbyte_units, true); |
@@ -260,7 +262,7 @@ static char* info_getname(int selected_item, void * data, char *buffer) | |||
260 | snprintf(buffer, MAX_PATH, SIZE_FMT, str(LANG_DISK_SIZE_INFO), s1); | 262 | snprintf(buffer, MAX_PATH, SIZE_FMT, str(LANG_DISK_SIZE_INFO), s1); |
261 | #endif | 263 | #endif |
262 | break; | 264 | break; |
263 | case Order_Disk2: /* disc usage 2 */ | 265 | case INFO_DISK2: /* disc usage 2 */ |
264 | #ifdef HAVE_MULTIVOLUME | 266 | #ifdef HAVE_MULTIVOLUME |
265 | if (info->size2) | 267 | if (info->size2) |
266 | { | 268 | { |
@@ -289,27 +291,27 @@ static int info_speak_item(int selected_item, void * data) | |||
289 | }; | 291 | }; |
290 | switch (selected_item) | 292 | switch (selected_item) |
291 | { | 293 | { |
292 | case Order_SVN_revision: /* version */ | 294 | case INFO_VERSION: /* version */ |
293 | talk_id(LANG_VERSION, false); | 295 | talk_id(LANG_VERSION, false); |
294 | talk_spell(appsversion, true); | 296 | talk_spell(appsversion, true); |
295 | break; | 297 | break; |
296 | #if CONFIG_RTC | 298 | #if CONFIG_RTC |
297 | case Order_Time: | 299 | case INFO_TIME: |
298 | talk_id(LANG_CURRENT_TIME, false); | 300 | talk_id(LANG_CURRENT_TIME, false); |
299 | talk_time(get_time(), true); | 301 | talk_time(get_time(), true); |
300 | break; | 302 | break; |
301 | case Order_Date: | 303 | case INFO_DATE: |
302 | talk_date(get_time(), true); | 304 | talk_date(get_time(), true); |
303 | break; | 305 | break; |
304 | #endif | 306 | #endif |
305 | case Order_Buffer: /* buffer, not spoken */ | 307 | case INFO_BUFFER: /* buffer */ |
306 | { | 308 | { |
307 | talk_id(LANG_BUFFER_STAT, false); | 309 | talk_id(LANG_BUFFER_STAT, false); |
308 | long buflen = (audiobufend - audiobuf) / 1024L; | 310 | long buflen = (audiobufend - audiobuf) / 1024L; |
309 | output_dyn_value(NULL, 0, buflen, kbyte_units, true); | 311 | output_dyn_value(NULL, 0, buflen, kbyte_units, true); |
310 | break; | 312 | break; |
311 | } | 313 | } |
312 | case Order_Batt: /* battery */ | 314 | case INFO_BATTERY: /* battery */ |
313 | if (battery_level() >= 0) | 315 | if (battery_level() >= 0) |
314 | { | 316 | { |
315 | talk_id(LANG_BATTERY_TIME, false); | 317 | talk_id(LANG_BATTERY_TIME, false); |
@@ -330,7 +332,7 @@ static int info_speak_item(int selected_item, void * data) | |||
330 | #endif | 332 | #endif |
331 | } | 333 | } |
332 | break; | 334 | break; |
333 | case Order_Disk1: /* disk 1 */ | 335 | case INFO_DISK1: /* disk 1 */ |
334 | #ifdef HAVE_MULTIVOLUME | 336 | #ifdef HAVE_MULTIVOLUME |
335 | talk_id(LANG_DISK_FREE_INFO, false); | 337 | talk_id(LANG_DISK_FREE_INFO, false); |
336 | talk_id(LANG_DISK_NAME_INTERNAL, true); | 338 | talk_id(LANG_DISK_NAME_INTERNAL, true); |
@@ -340,7 +342,7 @@ static int info_speak_item(int selected_item, void * data) | |||
340 | output_dyn_value(NULL, 0, info->size, kbyte_units, true); | 342 | output_dyn_value(NULL, 0, info->size, kbyte_units, true); |
341 | #endif | 343 | #endif |
342 | break; | 344 | break; |
343 | case Order_Disk2: /* disk 2 */ | 345 | case INFO_DISK2: /* disk 2 */ |
344 | #ifdef HAVE_MULTIVOLUME | 346 | #ifdef HAVE_MULTIVOLUME |
345 | if (info->size2) | 347 | if (info->size2) |
346 | { | 348 | { |
@@ -382,9 +384,9 @@ static int info_action_callback(int action, struct gui_synclist *lists) | |||
382 | } | 384 | } |
383 | else if (lists->gui_list[SCREEN_MAIN].show_selection_marker == true) | 385 | else if (lists->gui_list[SCREEN_MAIN].show_selection_marker == true) |
384 | { | 386 | { |
385 | if (lists->gui_list[SCREEN_MAIN].selected_item == Order_GAP1 | 387 | if (lists->gui_list[SCREEN_MAIN].selected_item == INFO_GAP1 |
386 | #if CONFIG_RTC | 388 | #if CONFIG_RTC |
387 | || lists->gui_list[SCREEN_MAIN].selected_item == Order_GAP2 | 389 | || lists->gui_list[SCREEN_MAIN].selected_item == INFO_GAP2 |
388 | #endif | 390 | #endif |
389 | ) | 391 | ) |
390 | { | 392 | { |
@@ -406,7 +408,7 @@ static bool show_info(void) | |||
406 | { | 408 | { |
407 | struct info_data data = {.new_data = true }; | 409 | struct info_data data = {.new_data = true }; |
408 | struct simplelist_info info; | 410 | struct simplelist_info info; |
409 | simplelist_info_init(&info, str(LANG_ROCKBOX_INFO), Order_Count, (void*)&data); | 411 | simplelist_info_init(&info, str(LANG_ROCKBOX_INFO), INFO_COUNT, (void*)&data); |
410 | info.hide_selection = !global_settings.talk_menu; | 412 | info.hide_selection = !global_settings.talk_menu; |
411 | info.get_name = info_getname; | 413 | info.get_name = info_getname; |
412 | if(global_settings.talk_menu) | 414 | if(global_settings.talk_menu) |