diff options
| author | Linus Nielsen Feltzing <linus@haxx.se> | 2002-07-01 11:06:23 +0000 |
|---|---|---|
| committer | Linus Nielsen Feltzing <linus@haxx.se> | 2002-07-01 11:06:23 +0000 |
| commit | c4c52f82091e1dd117d232df4efecece185fc958 (patch) | |
| tree | 96119a44c00a3fbd7193d8962c276f9e55832632 /apps/tree.c | |
| parent | 53b8c995218647321e0e6d6a421af1ae9fa24710 (diff) | |
| download | rockbox-c4c52f82091e1dd117d232df4efecece185fc958.zip rockbox-c4c52f82091e1dd117d232df4efecece185fc958.tar.gz rockbox-c4c52f82091e1dd117d232df4efecece185fc958.tar.bz2 rockbox-c4c52f82091e1dd117d232df4efecece185fc958.tar.xz | |
WPS screen now handles USB detection
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@1282 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/tree.c')
| -rw-r--r-- | apps/tree.c | 45 |
1 files changed, 28 insertions, 17 deletions
diff --git a/apps/tree.c b/apps/tree.c index b7f18fa..a6308b4 100644 --- a/apps/tree.c +++ b/apps/tree.c @@ -256,6 +256,7 @@ bool dirbrowse(char *root) char buf[255]; int i; int button; + int rc; memcpy(currdir,root,sizeof(currdir)); numentries = showdir(root, start); @@ -341,7 +342,13 @@ bool dirbrowse(char *root) mpeg_play(buf); } lcd_stop_scroll(); - wps_show(); + rc = wps_show(); + if(rc == SYS_USB_CONNECTED) + { + /* Force a re-read of the root directory */ + strcpy(currdir, "/"); + lastdir[0] = 0; + } } restore = true; break; @@ -391,27 +398,31 @@ bool dirbrowse(char *root) case BUTTON_ON: if ( play_mode ) { lcd_stop_scroll(); - wps_show(); + rc = wps_show(); + if(rc == SYS_USB_CONNECTED) + { + /* Force a re-read of the root directory */ + strcpy(currdir, "/"); + lastdir[0] = 0; + } restore = true; } break; #ifndef SIMULATOR - case SYS_USB_CONNECTED: - /* Tell the USB thread that we are safe */ - DEBUGF("dirbrowse got SYS_USB_CONNECTED\n"); - usb_acknowledge(SYS_USB_CONNECTED_ACK); - - usb_display_info(); - - /* Wait until the USB cable is extracted again */ - usb_wait_for_disconnect(&button_queue); - - /* Force a re-read of the root directory */ - restore = 1; - strcpy(currdir, "/"); - lastdir[0] = 0; - break; + case SYS_USB_CONNECTED: + /* Tell the USB thread that we are safe */ + DEBUGF("dirbrowse got SYS_USB_CONNECTED\n"); + usb_acknowledge(SYS_USB_CONNECTED_ACK); + + /* Wait until the USB cable is extracted again */ + usb_wait_for_disconnect(&button_queue); + + /* Force a re-read of the root directory */ + restore = true; + strcpy(currdir, "/"); + lastdir[0] = 0; + break; #endif } |