summaryrefslogtreecommitdiff
path: root/apps/tagtree.c
diff options
context:
space:
mode:
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