summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonas Häggqvist <rasher@rasher.dk>2005-08-17 09:40:07 +0000
committerJonas Häggqvist <rasher@rasher.dk>2005-08-17 09:40:07 +0000
commit96ff4b3d68ce3a6a58d5184f817ccd54bb24edab (patch)
tree3acdc59d22be30fdc2a36a51a4bf3c4a3b3840cf
parenta387805071b1200956535390f3c82497bfab333d (diff)
downloadrockbox-96ff4b3d68ce3a6a58d5184f817ccd54bb24edab.zip
rockbox-96ff4b3d68ce3a6a58d5184f817ccd54bb24edab.tar.gz
rockbox-96ff4b3d68ce3a6a58d5184f817ccd54bb24edab.tar.bz2
rockbox-96ff4b3d68ce3a6a58d5184f817ccd54bb24edab.tar.xz
Don't show dirs when browsing WPS files, .cfg files, fonts, languages and firmwares
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7337 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--apps/filetree.c3
-rw-r--r--apps/tree.c3
-rw-r--r--apps/tree.h3
3 files changed, 6 insertions, 3 deletions
diff --git a/apps/filetree.c b/apps/filetree.c
index c7a2dbf..e6ba08b 100644
--- a/apps/filetree.c
+++ b/apps/filetree.c
@@ -218,7 +218,8 @@ int ft_load(struct tree_context* c, const char* tempdir)
(((len == 1) &&
(!strncmp(entry->d_name, ".", 1))) ||
((len == 2) &&
- (!strncmp(entry->d_name, "..", 2))))) {
+ (!strncmp(entry->d_name, "..", 2))) ||
+ c->hidedirs)) {
i--;
continue;
}
diff --git a/apps/tree.c b/apps/tree.c
index 8e1afb8..1a7f104 100644
--- a/apps/tree.c
+++ b/apps/tree.c
@@ -1447,7 +1447,7 @@ bool create_playlist(void)
return true;
}
-bool rockbox_browse(const char *root, int dirfilter)
+bool rockbox_browse(const char *root, int dirfilter, bool hidedirs)
{
static struct tree_context backup;
@@ -1456,6 +1456,7 @@ bool rockbox_browse(const char *root, int dirfilter)
memcpy(tc.currdir, root, sizeof(tc.currdir));
start_wps = false;
tc.dirfilter = &dirfilter;
+ tc.hidedirs = hidedirs;
dirbrowse();
diff --git a/apps/tree.h b/apps/tree.h
index 41ef0e5..2e6b21d 100644
--- a/apps/tree.h
+++ b/apps/tree.h
@@ -150,6 +150,7 @@ struct tree_context {
int cursorpos[MAX_DIR_LEVELS];
char currdir[MAX_PATH]; /* file use */
int *dirfilter; /* file use */
+ bool hidedirs;
int filesindir;
int dirsindir; /* file use */
int dirlength; /* total number of entries in dir, incl. those not loaded */
@@ -186,7 +187,7 @@ void tree_get_filetypes(const struct filetype**, int*);
void tree_init(void);
void browse_root(void);
void set_current_file(char *path);
-bool rockbox_browse(const char *root, int dirfilter);
+bool rockbox_browse(const char *root, int dirfilter, bool hidedirs);
bool create_playlist(void);
void resume_directory(const char *dir);
char *getcwd(char *buf, int size);