diff options
| author | Peter D'Hoye <peter.dhoye@gmail.com> | 2006-12-14 22:43:16 +0000 |
|---|---|---|
| committer | Peter D'Hoye <peter.dhoye@gmail.com> | 2006-12-14 22:43:16 +0000 |
| commit | e21e87a2d0f1d915be0793f4ba34483ae4fd2231 (patch) | |
| tree | 190b5b09b3169b17fe6c55118c82a25a6ef9216f | |
| parent | e84837558b13f6bd23d21f3658bc095e1d47af40 (diff) | |
| download | rockbox-e21e87a2d0f1d915be0793f4ba34483ae4fd2231.zip rockbox-e21e87a2d0f1d915be0793f4ba34483ae4fd2231.tar.gz rockbox-e21e87a2d0f1d915be0793f4ba34483ae4fd2231.tar.bz2 rockbox-e21e87a2d0f1d915be0793f4ba34483ae4fd2231.tar.xz | |
Directory delete: 1) show which directory is being removed when going through a tree recursively. 2) allow the user to abort while deleting.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11767 a1c6a512-1295-4272-9138-f99709370657
| -rw-r--r-- | apps/onplay.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/apps/onplay.c b/apps/onplay.c index 12573da..fa3d395 100644 --- a/apps/onplay.c +++ b/apps/onplay.c @@ -427,6 +427,11 @@ static int remove_dir(char* dirname, int len) !strcmp((char *)entry->d_name, "..")) continue; /* skip these */ + /* inform the user which dir we're deleting */ + lcd_puts(0,1,dirname); +#ifdef HAVE_LCD_BITMAP + lcd_update(); +#endif result = remove_dir(dirname, len); /* recursion */ if (result) break; /* or better continue, delete what we can? */ @@ -435,6 +440,12 @@ static int remove_dir(char* dirname, int len) { /* remove a file */ result = remove(dirname); } + if(ACTION_STD_CANCEL == get_action(CONTEXT_STD,TIMEOUT_NOBLOCK)) + { + gui_syncsplash(HZ, true, str(LANG_MENU_SETTING_CANCEL)); + result = -1; + break; + } } closedir(dir); |