diff options
| author | Björn Stenberg <bjorn@haxx.se> | 2002-11-12 11:32:26 +0000 |
|---|---|---|
| committer | Björn Stenberg <bjorn@haxx.se> | 2002-11-12 11:32:26 +0000 |
| commit | 6fb512aba58bf221cdfcfc2a3df2148e8527883c (patch) | |
| tree | e8ee8149ecf862068b7d70b2ec28ca04678227c6 /apps/main_menu.c | |
| parent | 8a727cecdbb6f4efcea3a1b98cc1463825bdc499 (diff) | |
| download | rockbox-6fb512aba58bf221cdfcfc2a3df2148e8527883c.zip rockbox-6fb512aba58bf221cdfcfc2a3df2148e8527883c.tar.gz rockbox-6fb512aba58bf221cdfcfc2a3df2148e8527883c.tar.bz2 rockbox-6fb512aba58bf221cdfcfc2a3df2148e8527883c.tar.xz | |
Added disk space to Info menu item. (Players press + to see it.)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2837 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/main_menu.c')
| -rw-r--r-- | apps/main_menu.c | 98 |
1 files changed, 63 insertions, 35 deletions
diff --git a/apps/main_menu.c b/apps/main_menu.c index 12bd227..49ad9c9 100644 --- a/apps/main_menu.c +++ b/apps/main_menu.c @@ -38,6 +38,7 @@ #include "powermgmt.h" #include "sound_menu.h" #include "status.h" +#include "fat.h" #include "lang.h" @@ -158,60 +159,87 @@ bool show_info(void) int integer, decimal; bool done = false; int key; - int state=0; + int state = 1; while(!done) { + int y=0; lcd_clear_display(); - lcd_puts(0, 0, str(LANG_ROCKBOX_INFO)); - - integer = buflen / 1000; - decimal = buflen % 1000; +#ifdef HAVE_LCD_BITMAP + lcd_puts(0, y++, str(LANG_ROCKBOX_INFO)); + y++; + state = 3; +#endif + + if (state & 1) { + integer = buflen / 1000; + decimal = buflen % 1000; #ifdef HAVE_LCD_CHARCELLS - snprintf(s, sizeof(s), str(LANG_BUFFER_STAT_PLAYER), integer, decimal); - lcd_puts(0, 0, s); + snprintf(s, sizeof(s), str(LANG_BUFFER_STAT_PLAYER), + integer, decimal); #else - snprintf(s, sizeof(s), str(LANG_BUFFER_STAT_RECORDER), integer, - decimal); - lcd_puts(0, 2, s); + snprintf(s, sizeof(s), str(LANG_BUFFER_STAT_RECORDER), + integer, decimal); #endif - + lcd_puts(0, y++, s); + #ifdef HAVE_LCD_CHARCELLS - snprintf(s, sizeof(s), str(LANG_BATTERY_LEVEL_PLAYER), - battery_level(), battery_level_safe() ? "" : "!"); - lcd_puts(0, 1, s); + snprintf(s, sizeof(s), str(LANG_BATTERY_LEVEL_PLAYER), + battery_level(), battery_level_safe() ? "" : "!"); #else #ifdef HAVE_CHARGE_CTRL - if (charger_enabled) - snprintf(s, sizeof(s), str(LANG_BATTERY_CHARGE)); - else + if (charger_enabled) + snprintf(s, sizeof(s), str(LANG_BATTERY_CHARGE)); + else + snprintf(s, sizeof(s), str(LANG_BATTERY_LEVEL_RECORDER), + battery_level(), battery_level_safe() ? "" : " !!"); +#else snprintf(s, sizeof(s), str(LANG_BATTERY_LEVEL_RECORDER), battery_level(), battery_level_safe() ? "" : " !!"); - lcd_puts(0, 3, s); -#else - snprintf(s, sizeof(s), str(LANG_BATTERY_LEVEL_RECORDER), - battery_level(), battery_level_safe() ? "" : " !!"); - lcd_puts(0, 3, s); #endif #endif - + lcd_puts(0, y++, s); + } + + if (state & 2) { + unsigned int size, free; + fat_size( &size, &free ); + + size /= 1024; + integer = size / 1024; + decimal = size % 1024 / 100; + snprintf(s, sizeof s, str(LANG_DISK_STAT), integer, decimal); + lcd_puts(0, y++, s); + + free /= 1024; + integer = free / 1024; + decimal = free % 1024 / 100; + snprintf(s, sizeof s, str(LANG_DISK_FREE_STAT), integer, decimal); + lcd_puts(0, y++, s); + } lcd_update(); /* Wait for a key to be pushed */ - key = button_get_w_tmo(HZ/2); - if(key) { - switch(state) { - case 0: - /* first, a non-release event */ - if(!(key&BUTTON_REL)) - state++; + key = button_get_w_tmo(HZ*5); + switch(key) { +#ifdef HAVE_PLAYER_KEYPAD + case BUTTON_STOP | BUTTON_REL: +#else + case BUTTON_LEFT | BUTTON_REL: + case BUTTON_OFF | BUTTON_REL: +#endif + done = true; break; - case 1: - /* then a release-event */ - if(key&BUTTON_REL) - done = true; + +#ifdef HAVE_PLAYER_KEYPAD + case BUTTON_LEFT: + case BUTTON_RIGHT: + if (state == 1) + state = 2; + else + state = 1; break; - } +#endif } } |