summaryrefslogtreecommitdiffstats
path: root/apps/tree.c
diff options
context:
space:
mode:
authorLinus Nielsen Feltzing <linus@haxx.se>2004-01-21 14:58:40 +0000
committerLinus Nielsen Feltzing <linus@haxx.se>2004-01-21 14:58:40 +0000
commitef7293f0bc336beb30f3a5f2eafad4a447f60ac5 (patch)
tree68b02b0278b25a10a261d8813bbf5be39e1a51b6 /apps/tree.c
parent33acdef9db5ffa2c6f93dc07d0400c7a72a0f25e (diff)
downloadrockbox-ef7293f0bc336beb30f3a5f2eafad4a447f60ac5.tar.gz
rockbox-ef7293f0bc336beb30f3a5f2eafad4a447f60ac5.zip
New feature: NOw you can store the recorded files in either /recordings (the directory will be created automatically) or in the current directory.
New feature: A "Create directory" menu option (untested in the simulator). Bug fix: The ON+Play menu could do nasty things if you pressed ON+Play in an empty dir. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4268 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/tree.c')
-rw-r--r--apps/tree.c27
1 files changed, 27 insertions, 0 deletions
diff --git a/apps/tree.c b/apps/tree.c
index 9e1a22f567..aedeeb1dfd 100644
--- a/apps/tree.c
+++ b/apps/tree.c
@@ -772,6 +772,9 @@ static bool handle_on(int *ds, int *dc, int numentries, int tree_max_on_screen,
{
int onplay_result;
+ if(!numentries)
+ break;
+
if (currdir[1])
snprintf(buf, sizeof buf, "%s/%s",
currdir, dircache[dircursor+dirstart].name);
@@ -1499,6 +1502,30 @@ bool create_playlist(void)
return true;
}
+bool create_dir(void)
+{
+ char dirname[MAX_PATH];
+ int rc;
+ int pathlen;
+
+ memset(dirname, 0, sizeof dirname);
+
+ snprintf(dirname, sizeof dirname, "%s/",
+ currdir[1] ? currdir : "");
+
+ pathlen = strlen(dirname);
+ rc = kbd_input(dirname + pathlen, (sizeof dirname)-pathlen);
+ if(rc < 0)
+ return false;
+
+ rc = mkdir(dirname, 0);
+ if(rc < 0) {
+ splash(HZ, true, "%s %s", str(LANG_CREATE_DIR), str(LANG_FAILED));
+ }
+
+ return true;
+}
+
bool rockbox_browse(char *root, int dirfilter)
{
bool rc;