summaryrefslogtreecommitdiff
path: root/apps/main_menu.c
diff options
context:
space:
mode:
authorBjörn Stenberg <bjorn@haxx.se>2002-11-12 11:32:26 +0000
committerBjörn Stenberg <bjorn@haxx.se>2002-11-12 11:32:26 +0000
commit6fb512aba58bf221cdfcfc2a3df2148e8527883c (patch)
treee8ee8149ecf862068b7d70b2ec28ca04678227c6 /apps/main_menu.c
parent8a727cecdbb6f4efcea3a1b98cc1463825bdc499 (diff)
downloadrockbox-6fb512aba58bf221cdfcfc2a3df2148e8527883c.tar.gz
rockbox-6fb512aba58bf221cdfcfc2a3df2148e8527883c.zip
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.c98
1 files changed, 63 insertions, 35 deletions
diff --git a/apps/main_menu.c b/apps/main_menu.c
index 12bd2274cb..49ad9c9f5b 100644
--- a/apps/main_menu.c
+++ b/apps/main_menu.c
@@ -38,6 +38,7 @@
38#include "powermgmt.h" 38#include "powermgmt.h"
39#include "sound_menu.h" 39#include "sound_menu.h"
40#include "status.h" 40#include "status.h"
41#include "fat.h"
41 42
42#include "lang.h" 43#include "lang.h"
43 44
@@ -158,60 +159,87 @@ bool show_info(void)
158 int integer, decimal; 159 int integer, decimal;
159 bool done = false; 160 bool done = false;
160 int key; 161 int key;
161 int state=0; 162 int state = 1;
162 163
163 while(!done) 164 while(!done)
164 { 165 {
166 int y=0;
165 lcd_clear_display(); 167 lcd_clear_display();
166 lcd_puts(0, 0, str(LANG_ROCKBOX_INFO)); 168#ifdef HAVE_LCD_BITMAP
167 169 lcd_puts(0, y++, str(LANG_ROCKBOX_INFO));
168 integer = buflen / 1000; 170 y++;
169 decimal = buflen % 1000; 171 state = 3;
172#endif
173
174 if (state & 1) {
175 integer = buflen / 1000;
176 decimal = buflen % 1000;
170#ifdef HAVE_LCD_CHARCELLS 177#ifdef HAVE_LCD_CHARCELLS
171 snprintf(s, sizeof(s), str(LANG_BUFFER_STAT_PLAYER), integer, decimal); 178 snprintf(s, sizeof(s), str(LANG_BUFFER_STAT_PLAYER),
172 lcd_puts(0, 0, s); 179 integer, decimal);
173#else 180#else
174 snprintf(s, sizeof(s), str(LANG_BUFFER_STAT_RECORDER), integer, 181 snprintf(s, sizeof(s), str(LANG_BUFFER_STAT_RECORDER),
175 decimal); 182 integer, decimal);
176 lcd_puts(0, 2, s);
177#endif 183#endif
178 184 lcd_puts(0, y++, s);
185
179#ifdef HAVE_LCD_CHARCELLS 186#ifdef HAVE_LCD_CHARCELLS
180 snprintf(s, sizeof(s), str(LANG_BATTERY_LEVEL_PLAYER), 187 snprintf(s, sizeof(s), str(LANG_BATTERY_LEVEL_PLAYER),
181 battery_level(), battery_level_safe() ? "" : "!"); 188 battery_level(), battery_level_safe() ? "" : "!");
182 lcd_puts(0, 1, s);
183#else 189#else
184#ifdef HAVE_CHARGE_CTRL 190#ifdef HAVE_CHARGE_CTRL
185 if (charger_enabled) 191 if (charger_enabled)
186 snprintf(s, sizeof(s), str(LANG_BATTERY_CHARGE)); 192 snprintf(s, sizeof(s), str(LANG_BATTERY_CHARGE));
187 else 193 else
194 snprintf(s, sizeof(s), str(LANG_BATTERY_LEVEL_RECORDER),
195 battery_level(), battery_level_safe() ? "" : " !!");
196#else
188 snprintf(s, sizeof(s), str(LANG_BATTERY_LEVEL_RECORDER), 197 snprintf(s, sizeof(s), str(LANG_BATTERY_LEVEL_RECORDER),
189 battery_level(), battery_level_safe() ? "" : " !!"); 198 battery_level(), battery_level_safe() ? "" : " !!");
190 lcd_puts(0, 3, s);
191#else
192 snprintf(s, sizeof(s), str(LANG_BATTERY_LEVEL_RECORDER),
193 battery_level(), battery_level_safe() ? "" : " !!");
194 lcd_puts(0, 3, s);
195#endif 199#endif
196#endif 200#endif
197 201 lcd_puts(0, y++, s);
202 }
203
204 if (state & 2) {
205 unsigned int size, free;
206 fat_size( &size, &free );
207
208 size /= 1024;
209 integer = size / 1024;
210 decimal = size % 1024 / 100;
211 snprintf(s, sizeof s, str(LANG_DISK_STAT), integer, decimal);
212 lcd_puts(0, y++, s);
213
214 free /= 1024;
215 integer = free / 1024;
216 decimal = free % 1024 / 100;
217 snprintf(s, sizeof s, str(LANG_DISK_FREE_STAT), integer, decimal);
218 lcd_puts(0, y++, s);
219 }
198 lcd_update(); 220 lcd_update();
199 221
200 /* Wait for a key to be pushed */ 222 /* Wait for a key to be pushed */
201 key = button_get_w_tmo(HZ/2); 223 key = button_get_w_tmo(HZ*5);
202 if(key) { 224 switch(key) {
203 switch(state) { 225#ifdef HAVE_PLAYER_KEYPAD
204 case 0: 226 case BUTTON_STOP | BUTTON_REL:
205 /* first, a non-release event */ 227#else
206 if(!(key&BUTTON_REL)) 228 case BUTTON_LEFT | BUTTON_REL:
207 state++; 229 case BUTTON_OFF | BUTTON_REL:
230#endif
231 done = true;
208 break; 232 break;
209 case 1: 233
210 /* then a release-event */ 234#ifdef HAVE_PLAYER_KEYPAD
211 if(key&BUTTON_REL) 235 case BUTTON_LEFT:
212 done = true; 236 case BUTTON_RIGHT:
237 if (state == 1)
238 state = 2;
239 else
240 state = 1;
213 break; 241 break;
214 } 242#endif
215 } 243 }
216 } 244 }
217 245