diff options
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 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 | 789 | int tagtree_get_attr(struct tree_context* c) |
793 | const char* tagtree_get_icon(struct tree_context* c) | ||
794 | #else | ||
795 | int 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 | ||
814 | const unsigned char* tagtree_get_icon(struct tree_context* c) | ||
815 | #else | ||
816 | int 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 |