diff options
| author | Hardeep Sidhu <dyp@pobox.com> | 2006-05-05 07:01:43 +0000 |
|---|---|---|
| committer | Hardeep Sidhu <dyp@pobox.com> | 2006-05-05 07:01:43 +0000 |
| commit | a85b23fa5bf8a56ca41adbf9fd53f52dc5ec2eed (patch) | |
| tree | c687f3549c8056390820a9e9b36978b725b376ca /apps/tagtree.c | |
| parent | b9615514bf861a94774fe05dd7a3eeb6bd006ac2 (diff) | |
| download | rockbox-a85b23fa5bf8a56ca41adbf9fd53f52dc5ec2eed.zip rockbox-a85b23fa5bf8a56ca41adbf9fd53f52dc5ec2eed.tar.gz rockbox-a85b23fa5bf8a56ca41adbf9fd53f52dc5ec2eed.tar.bz2 rockbox-a85b23fa5bf8a56ca41adbf9fd53f52dc5ec2eed.tar.xz | |
Enabled playlist functions on tracks in tagcache
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9877 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/tagtree.c')
| -rw-r--r-- | apps/tagtree.c | 45 |
1 files changed, 30 insertions, 15 deletions
diff --git a/apps/tagtree.c b/apps/tagtree.c index b3e4230..0268dc5 100644 --- a/apps/tagtree.c +++ b/apps/tagtree.c @@ -710,15 +710,12 @@ int tagtree_get_filename(struct tree_context* c, char *buf, int buflen) if (!tagcache_search(&tcs, tag_filename)) return -1; - tagcache_search_add_filter(&tcs, tag_title, entry->extraseek); - - if (!tagcache_get_next(&tcs)) + if (!tagcache_retrieve(&tcs, entry->extraseek, buf, buflen)) { tagcache_search_finish(&tcs); return -2; } - strncpy(buf, tcs.result, buflen-1); tagcache_search_finish(&tcs); return 0; @@ -789,34 +786,52 @@ struct tagentry* tagtree_get_entry(struct tree_context *c, int id) return &entry[realid]; } -#ifdef HAVE_LCD_BITMAP -const char* tagtree_get_icon(struct tree_context* c) -#else -int tagtree_get_icon(struct tree_context* c) -#endif +int tagtree_get_attr(struct tree_context* c) { - int icon; - + int attr = -1; switch (c->currtable) { case navibrowse: if (csi->tagorder[c->currextra] == tag_title) - icon = Icon_Audio; + attr = TREE_ATTR_MPA; else - icon = Icon_Folder; + attr = ATTR_DIRECTORY; break; case allsubentries: - icon = Icon_Audio; + attr = TREE_ATTR_MPA; break; default: + attr = ATTR_DIRECTORY; + break; + } + + return attr; +} + +#ifdef HAVE_LCD_BITMAP +const unsigned char* tagtree_get_icon(struct tree_context* c) +#else +int tagtree_get_icon(struct tree_context* c) +#endif +{ + int icon; + + switch (tagtree_get_attr(c)) + { + case TREE_ATTR_MPA: + icon = Icon_Audio; + break; + + case ATTR_DIRECTORY: + default: icon = Icon_Folder; break; } #ifdef HAVE_LCD_BITMAP - return (char *)bitmap_icons_6x8[icon]; + return bitmap_icons_6x8[icon]; #else return icon; #endif |