summaryrefslogtreecommitdiff
path: root/apps/tagtree.c
diff options
context:
space:
mode:
authorHardeep Sidhu <dyp@pobox.com>2006-05-05 07:01:43 +0000
committerHardeep Sidhu <dyp@pobox.com>2006-05-05 07:01:43 +0000
commita85b23fa5bf8a56ca41adbf9fd53f52dc5ec2eed (patch)
treec687f3549c8056390820a9e9b36978b725b376ca /apps/tagtree.c
parentb9615514bf861a94774fe05dd7a3eeb6bd006ac2 (diff)
downloadrockbox-a85b23fa5bf8a56ca41adbf9fd53f52dc5ec2eed.tar.gz
rockbox-a85b23fa5bf8a56ca41adbf9fd53f52dc5ec2eed.zip
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.c45
1 files changed, 30 insertions, 15 deletions
diff --git a/apps/tagtree.c b/apps/tagtree.c
index b3e423018e..0268dc5f64 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)
710 if (!tagcache_search(&tcs, tag_filename)) 710 if (!tagcache_search(&tcs, tag_filename))
711 return -1; 711 return -1;
712 712
713 tagcache_search_add_filter(&tcs, tag_title, entry->extraseek); 713 if (!tagcache_retrieve(&tcs, entry->extraseek, buf, buflen))
714
715 if (!tagcache_get_next(&tcs))
716 { 714 {
717 tagcache_search_finish(&tcs); 715 tagcache_search_finish(&tcs);
718 return -2; 716 return -2;
719 } 717 }
720 718
721 strncpy(buf, tcs.result, buflen-1);
722 tagcache_search_finish(&tcs); 719 tagcache_search_finish(&tcs);
723 720
724 return 0; 721 return 0;
@@ -789,34 +786,52 @@ struct tagentry* tagtree_get_entry(struct tree_context *c, int id)
789 return &entry[realid]; 786 return &entry[realid];
790} 787}
791 788
792#ifdef HAVE_LCD_BITMAP 789int tagtree_get_attr(struct tree_context* c)
793const char* tagtree_get_icon(struct tree_context* c)
794#else
795int tagtree_get_icon(struct tree_context* c)
796#endif
797{ 790{
798 int icon; 791 int attr = -1;
799
800 switch (c->currtable) 792 switch (c->currtable)
801 { 793 {
802 case navibrowse: 794 case navibrowse:
803 if (csi->tagorder[c->currextra] == tag_title) 795 if (csi->tagorder[c->currextra] == tag_title)
804 icon = Icon_Audio; 796 attr = TREE_ATTR_MPA;
805 else 797 else
806 icon = Icon_Folder; 798 attr = ATTR_DIRECTORY;
807 break; 799 break;
808 800
809 case allsubentries: 801 case allsubentries:
810 icon = Icon_Audio; 802 attr = TREE_ATTR_MPA;
811 break; 803 break;
812 804
813 default: 805 default:
806 attr = ATTR_DIRECTORY;
807 break;
808 }
809
810 return attr;
811}
812
813#ifdef HAVE_LCD_BITMAP
814const unsigned char* tagtree_get_icon(struct tree_context* c)
815#else
816int tagtree_get_icon(struct tree_context* c)
817#endif
818{
819 int icon;
820
821 switch (tagtree_get_attr(c))
822 {
823 case TREE_ATTR_MPA:
824 icon = Icon_Audio;
825 break;
826
827 case ATTR_DIRECTORY:
828 default:
814 icon = Icon_Folder; 829 icon = Icon_Folder;
815 break; 830 break;
816 } 831 }
817 832
818#ifdef HAVE_LCD_BITMAP 833#ifdef HAVE_LCD_BITMAP
819 return (char *)bitmap_icons_6x8[icon]; 834 return bitmap_icons_6x8[icon];
820#else 835#else
821 return icon; 836 return icon;
822#endif 837#endif