diff options
Diffstat (limited to 'apps/plugins')
-rw-r--r-- | apps/plugins/SOURCES | 2 | ||||
-rw-r--r-- | apps/plugins/disktidy.c | 209 |
2 files changed, 73 insertions, 138 deletions
diff --git a/apps/plugins/SOURCES b/apps/plugins/SOURCES index 2524a4c707..ffa01f1f77 100644 --- a/apps/plugins/SOURCES +++ b/apps/plugins/SOURCES | |||
@@ -30,10 +30,10 @@ wavplay.c | |||
30 | 30 | ||
31 | #ifndef IRIVER_IFP7XX_SERIES /* Temporarily disable plugins for iFP7xx */ | 31 | #ifndef IRIVER_IFP7XX_SERIES /* Temporarily disable plugins for iFP7xx */ |
32 | dice.c | 32 | dice.c |
33 | disktidy.c | ||
33 | flipit.c | 34 | flipit.c |
34 | 35 | ||
35 | #ifdef HAVE_LCD_BITMAP /* Not for the Player */ | 36 | #ifdef HAVE_LCD_BITMAP /* Not for the Player */ |
36 | disktidy.c | ||
37 | mazezam.c | 37 | mazezam.c |
38 | text_editor.c | 38 | text_editor.c |
39 | 39 | ||
diff --git a/apps/plugins/disktidy.c b/apps/plugins/disktidy.c index 88cc39d6cc..2c4935ec13 100644 --- a/apps/plugins/disktidy.c +++ b/apps/plugins/disktidy.c | |||
@@ -39,67 +39,37 @@ enum tidy_system | |||
39 | }; | 39 | }; |
40 | 40 | ||
41 | /* variable button definitions */ | 41 | /* variable button definitions */ |
42 | #if CONFIG_KEYPAD == RECORDER_PAD | 42 | #if CONFIG_KEYPAD == PLAYER_PAD |
43 | #define TIDY_DO BUTTON_ON | 43 | #define TIDY_STOP BUTTON_STOP |
44 | |||
45 | #elif CONFIG_KEYPAD == RECORDER_PAD | ||
44 | #define TIDY_STOP BUTTON_OFF | 46 | #define TIDY_STOP BUTTON_OFF |
45 | #define TIDY_LEFT BUTTON_LEFT | ||
46 | #define TIDY_RIGHT BUTTON_RIGHT | ||
47 | 47 | ||
48 | #elif CONFIG_KEYPAD == ARCHOS_AV300_PAD | 48 | #elif CONFIG_KEYPAD == ARCHOS_AV300_PAD |
49 | #define TIDY_DO BUTTON_ON | ||
50 | #define TIDY_STOP BUTTON_OFF | 49 | #define TIDY_STOP BUTTON_OFF |
51 | #define TIDY_LEFT BUTTON_LEFT | ||
52 | #define TIDY_RIGHT BUTTON_RIGHT | ||
53 | 50 | ||
54 | #elif CONFIG_KEYPAD == ONDIO_PAD | 51 | #elif CONFIG_KEYPAD == ONDIO_PAD |
55 | #define TIDY_DO BUTTON_MENU | ||
56 | #define TIDY_STOP BUTTON_OFF | 52 | #define TIDY_STOP BUTTON_OFF |
57 | #define TIDY_LEFT BUTTON_LEFT | ||
58 | #define TIDY_RIGHT BUTTON_RIGHT | ||
59 | 53 | ||
60 | #elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \ | 54 | #elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \ |
61 | (CONFIG_KEYPAD == IRIVER_H300_PAD) | 55 | (CONFIG_KEYPAD == IRIVER_H300_PAD) |
62 | #define TIDY_DO BUTTON_SELECT | ||
63 | #define TIDY_STOP BUTTON_OFF | 56 | #define TIDY_STOP BUTTON_OFF |
64 | #define TIDY_LEFT BUTTON_LEFT | ||
65 | #define TIDY_RIGHT BUTTON_RIGHT | ||
66 | 57 | ||
67 | #elif (CONFIG_KEYPAD == IPOD_3G_PAD) || \ | 58 | #elif (CONFIG_KEYPAD == IPOD_3G_PAD) || \ |
68 | (CONFIG_KEYPAD == IPOD_4G_PAD) | 59 | (CONFIG_KEYPAD == IPOD_4G_PAD) |
69 | #define TIDY_DO BUTTON_SELECT | ||
70 | #define TIDY_STOP BUTTON_MENU | 60 | #define TIDY_STOP BUTTON_MENU |
71 | #define TIDY_LEFT BUTTON_LEFT | ||
72 | #define TIDY_RIGHT BUTTON_RIGHT | ||
73 | |||
74 | #elif (CONFIG_KEYPAD == IAUDIO_X5_PAD) | ||
75 | #define TIDY_DO BUTTON_PLAY | ||
76 | #define TIDY_STOP BUTTON_POWER | ||
77 | #define TIDY_LEFT BUTTON_LEFT | ||
78 | #define TIDY_RIGHT BUTTON_RIGHT | ||
79 | 61 | ||
80 | #elif (CONFIG_KEYPAD == IAUDIO_X5_PAD) | 62 | #elif CONFIG_KEYPAD == IAUDIO_X5_PAD |
81 | #define TIDY_DO BUTTON_PLAY | ||
82 | #define TIDY_STOP BUTTON_POWER | 63 | #define TIDY_STOP BUTTON_POWER |
83 | #define TIDY_LEFT BUTTON_LEFT | ||
84 | #define TIDY_RIGHT BUTTON_RIGHT | ||
85 | 64 | ||
86 | #elif (CONFIG_KEYPAD == GIGABEAT_PAD) | 65 | #elif CONFIG_KEYPAD == GIGABEAT_PAD |
87 | #define TIDY_DO BUTTON_SELECT | ||
88 | #define TIDY_STOP BUTTON_A | 66 | #define TIDY_STOP BUTTON_A |
89 | #define TIDY_LEFT BUTTON_LEFT | ||
90 | #define TIDY_RIGHT BUTTON_RIGHT | ||
91 | 67 | ||
92 | #elif (CONFIG_KEYPAD == SANSA_E200_PAD) | 68 | #elif CONFIG_KEYPAD == SANSA_E200_PAD |
93 | #define TIDY_DO BUTTON_SELECT | ||
94 | #define TIDY_STOP BUTTON_POWER | 69 | #define TIDY_STOP BUTTON_POWER |
95 | #define TIDY_LEFT BUTTON_LEFT | ||
96 | #define TIDY_RIGHT BUTTON_RIGHT | ||
97 | 70 | ||
98 | #elif (CONFIG_KEYPAD == IRIVER_H10_PAD) | 71 | #elif CONFIG_KEYPAD == IRIVER_H10_PAD |
99 | #define TIDY_DO BUTTON_PLAY | ||
100 | #define TIDY_STOP BUTTON_POWER | 72 | #define TIDY_STOP BUTTON_POWER |
101 | #define TIDY_LEFT BUTTON_LEFT | ||
102 | #define TIDY_RIGHT BUTTON_RIGHT | ||
103 | 73 | ||
104 | #else | 74 | #else |
105 | #error DISKTIDY: Unsupported keypad | 75 | #error DISKTIDY: Unsupported keypad |
@@ -115,8 +85,10 @@ void tidy_lcd_status(const char *name, int *removed) | |||
115 | rb->lcd_puts(0, 0, "Working ..."); | 85 | rb->lcd_puts(0, 0, "Working ..."); |
116 | rb->lcd_puts(0, 1, name); | 86 | rb->lcd_puts(0, 1, name); |
117 | rb->snprintf(text, 24, "Cleaned up %d items", *removed); | 87 | rb->snprintf(text, 24, "Cleaned up %d items", *removed); |
88 | #ifdef HAVE_LCD_BITMAP | ||
118 | rb->lcd_puts(0, 2, text); | 89 | rb->lcd_puts(0, 2, text); |
119 | rb->lcd_update(); | 90 | rb->lcd_update(); |
91 | #endif | ||
120 | } | 92 | } |
121 | 93 | ||
122 | void tidy_get_absolute_path(struct dirent *entry, char *fullname, | 94 | void tidy_get_absolute_path(struct dirent *entry, char *fullname, |
@@ -366,113 +338,80 @@ enum plugin_status tidy_do(enum tidy_system system) | |||
366 | return status; | 338 | return status; |
367 | } | 339 | } |
368 | 340 | ||
369 | void tidy_lcd_menu(enum tidy_system system) | 341 | int tidy_lcd_menu(void) |
370 | { | 342 | { |
371 | /* show menu text */ | 343 | int loc, ret; |
372 | rb->lcd_clear_display(); | ||
373 | 344 | ||
374 | /* show keys */ | 345 | static const struct menu_item items[] = |
375 | #if CONFIG_KEYPAD == RECORDER_PAD | 346 | { |
376 | rb->lcd_puts(0, 0, "[On] to clean up"); | 347 | { "Start Cleaning", NULL }, |
377 | rb->lcd_puts(0, 1, "[Off] to exit/abort"); | 348 | { "Files to Clean", NULL}, |
378 | #elif CONFIG_KEYPAD == ARCHOS_AV300_PAD | 349 | { "Quit", NULL } |
379 | rb->lcd_puts(0, 0, "[On] to clean up"); | 350 | }; |
380 | rb->lcd_puts(0, 1, "[Off] to exit/abort"); | ||
381 | #elif CONFIG_KEYPAD == ONDIO_PAD | ||
382 | rb->lcd_puts(0, 0, "[Menu] to clean up"); | ||
383 | rb->lcd_puts(0, 1, "[Off] to exit/abort"); | ||
384 | #elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \ | ||
385 | (CONFIG_KEYPAD == IRIVER_H300_PAD) | ||
386 | rb->lcd_puts(0, 0, "[Navi] to clean up"); | ||
387 | rb->lcd_puts(0, 1, "[Off] to exit/abort"); | ||
388 | #elif (CONFIG_KEYPAD == IPOD_3G_PAD) || \ | ||
389 | (CONFIG_KEYPAD == IPOD_4G_PAD) | ||
390 | rb->lcd_puts(0, 0, "[Select] to clean up"); | ||
391 | rb->lcd_puts(0, 1, "[Menu] to exit/abort"); | ||
392 | #elif (CONFIG_KEYPAD == IAUDIO_X5_PAD) | ||
393 | rb->lcd_puts(0, 0, "[Play] to clean up"); | ||
394 | rb->lcd_puts(0, 1, "[Power] to exit/abort"); | ||
395 | #elif (CONFIG_KEYPAD == GIGABEAT_PAD) | ||
396 | rb->lcd_puts(0, 0, "[Select] to clean up"); | ||
397 | rb->lcd_puts(0, 1, "[A] to exit/abort"); | ||
398 | #elif (CONFIG_KEYPAD == IRIVER_H10_PAD) | ||
399 | rb->lcd_puts(0, 0, "[Play] to clean up"); | ||
400 | rb->lcd_puts(0, 1, "[Power] to exit/abort"); | ||
401 | #elif (CONFIG_KEYPAD == SANSA_E200_PAD) | ||
402 | rb->lcd_puts(0, 0, "[Select] to clean up"); | ||
403 | rb->lcd_puts(0, 1, "[Power] to exit/abort"); | ||
404 | #else | ||
405 | #error DISKTIDY: Unsupported model | ||
406 | #endif | ||
407 | 351 | ||
408 | /* show selcted system */ | 352 | static const struct opt_items system_option[3] = |
409 | switch (system) | ||
410 | { | 353 | { |
411 | case TIDY_MAC: | 354 | { "Mac", -1 }, |
412 | rb->lcd_puts(0, 2, "< Mac >"); | 355 | { "Windows", -1 }, |
413 | rb->lcd_puts(0, 3, "Deletes"); | 356 | { "Both", -1} |
414 | rb->lcd_puts(0, 4, "._* .DS_Store"); | 357 | }; |
415 | rb->lcd_puts(0, 5, "/.Trashes/"); | 358 | |
416 | break; | 359 | loc = rb->menu_init(items, sizeof(items) / sizeof(*items), |
417 | case TIDY_WIN: | 360 | NULL, NULL, NULL, NULL); |
418 | rb->lcd_puts(0, 2, "< Win >"); | 361 | |
419 | rb->lcd_puts(0, 3, "Deletes"); | 362 | while (true) |
420 | rb->lcd_puts(0, 4, "Thumbs.db /Recycled/"); | 363 | { |
421 | rb->lcd_puts(0, 5, "/System Volume Information/"); | 364 | switch(rb->menu_show(loc)) |
422 | break; | 365 | { |
423 | case TIDY_BOTH: | 366 | |
424 | rb->lcd_puts(0, 2, "< Both >"); | 367 | case 0: |
368 | return ret; | ||
369 | |||
370 | case 1: | ||
371 | rb->set_option("Files to Clean", &ret, INT, system_option, 3, NULL); | ||
425 | break; | 372 | break; |
426 | 373 | ||
374 | case 2: | ||
375 | return 99; | ||
376 | |||
377 | default: | ||
378 | return 99; | ||
379 | } | ||
427 | } | 380 | } |
428 | rb->lcd_update(); | 381 | |
382 | rb->menu_exit(loc); | ||
429 | } | 383 | } |
430 | 384 | ||
431 | /* this is the plugin entry point */ | 385 | /* this is the plugin entry point */ |
432 | enum plugin_status plugin_start(struct plugin_api* api, void* parameter) | 386 | enum plugin_status plugin_start(struct plugin_api* api, void* parameter) |
433 | { | 387 | { |
434 | enum tidy_system system = TIDY_MAC; | 388 | enum tidy_system system = TIDY_BOTH; |
435 | enum tidy_return status; | 389 | enum tidy_return status; |
436 | int button; | 390 | int button; |
437 | 391 | ||
438 | (void)parameter; | 392 | (void)parameter; |
439 | 393 | ||
440 | rb = api; | 394 | rb = api; |
395 | |||
396 | switch(tidy_lcd_menu()) | ||
397 | { | ||
398 | case 0: | ||
399 | system = TIDY_MAC; | ||
400 | break; | ||
401 | case 1: | ||
402 | system = TIDY_WIN; | ||
403 | break; | ||
404 | case 2: | ||
405 | system = TIDY_BOTH; | ||
406 | break; | ||
407 | case 99: | ||
408 | return PLUGIN_OK; | ||
409 | default: | ||
410 | system = TIDY_BOTH; | ||
411 | } | ||
441 | 412 | ||
442 | tidy_lcd_menu(system); | 413 | while (rb->button_get(false) != TIDY_STOP) |
443 | |||
444 | while (1) | ||
445 | { | 414 | { |
446 | button = rb->button_get(false); | ||
447 | |||
448 | if (button == TIDY_LEFT) | ||
449 | { | ||
450 | if (system == 0) | ||
451 | { | ||
452 | system = 2; | ||
453 | } | ||
454 | else | ||
455 | { | ||
456 | system --; | ||
457 | } | ||
458 | tidy_lcd_menu(system); | ||
459 | } | ||
460 | |||
461 | if (button == TIDY_RIGHT) | ||
462 | { | ||
463 | if (system == 2) | ||
464 | { | ||
465 | system = 0; | ||
466 | } | ||
467 | else | ||
468 | { | ||
469 | system ++; | ||
470 | } | ||
471 | tidy_lcd_menu(system); | ||
472 | } | ||
473 | |||
474 | if (button == TIDY_DO) | ||
475 | { | ||
476 | 415 | ||
477 | status = tidy_do(system); | 416 | status = tidy_do(system); |
478 | 417 | ||
@@ -487,20 +426,16 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter) | |||
487 | case TIDY_RETURN_ABORT: | 426 | case TIDY_RETURN_ABORT: |
488 | return PLUGIN_OK; | 427 | return PLUGIN_OK; |
489 | } | 428 | } |
490 | } | 429 | } |
491 | 430 | ||
492 | if (button == TIDY_STOP) | 431 | if (button == TIDY_STOP) |
493 | { | 432 | return PLUGIN_OK; |
494 | return PLUGIN_OK; | ||
495 | } | ||
496 | 433 | ||
497 | if (rb->default_event_handler(button) == SYS_USB_CONNECTED) | 434 | if (rb->default_event_handler(button) == SYS_USB_CONNECTED) |
498 | { | 435 | return PLUGIN_USB_CONNECTED; |
499 | return PLUGIN_USB_CONNECTED; | ||
500 | } | ||
501 | 436 | ||
502 | rb->yield(); | 437 | rb->yield(); |
503 | } | 438 | |
504 | 439 | ||
505 | return PLUGIN_OK; | 440 | return PLUGIN_OK; |
506 | } | 441 | } |