Ticket #3229: mythvideo.patch
| File mythvideo.patch, 3.6 KB (added by , 19 years ago) |
|---|
-
mythvideo/mythvideo/videolist.cpp
423 423 public: 424 424 VideoListImp(); 425 425 426 void build_generic_tree(GenericTree *dst, meta_dir_node *src, 427 bool include_updirs); 426 int build_generic_tree(GenericTree *dst, 427 meta_dir_node *src, 428 bool include_updirs 429 ); 428 430 GenericTree *buildVideoList(bool filebrowser, bool flatlist, 429 431 int parental_level, bool include_updirs); 430 432 … … 501 503 void buildFileList(smart_dir_node &directory, metadata_list &metalist, 502 504 const QString &prefix); 503 505 506 GenericTree *addDirNode(GenericTree *where_to_add, GenericTree *sub_node, 507 bool add_up_dirs); 504 508 GenericTree *addDirNode(GenericTree *where_to_add, const QString &dname, 505 509 bool add_up_dirs); 506 510 int addFileNode(GenericTree *where_to_add, const QString &name, int id); … … 623 627 gContext->GetNumSetting("mythvideo.sort_ignores_case", 1); 624 628 } 625 629 626 void VideoListImp::build_generic_tree(GenericTree *dst, meta_dir_node *src, 627 bool include_updirs) 630 int VideoListImp::build_generic_tree(GenericTree *dst, 631 meta_dir_node *src, 632 bool include_updirs 633 ) 628 634 { 635 int total_files=0; 636 int node_files =0; 637 629 638 for (meta_dir_node::const_dir_iterator dir = src->dirs_begin(); 630 639 dir != src->dirs_end(); ++dir) 631 640 { 632 GenericTree *t = addDirNode(dst, (*dir)->getName(), include_updirs); 641 GenericTree *t = new GenericTree( (*dir)->getName().stripWhiteSpace(), 642 kSubFolder, 643 false); 644 node_files = build_generic_tree(t, dir->get(), include_updirs); 645 if (node_files > 0) { 646 addDirNode(dst, dst->addNode(t), include_updirs); 633 647 t->setAttribute(kFolderPath, m_folder_id); 634 648 m_folder_id_to_path. 635 649 insert(id_string_map::value_type(m_folder_id, 636 650 (*dir)->getFQPath())); 637 651 ++m_folder_id; 638 639 build_generic_tree(t, dir->get(), include_updirs); 652 total_files += node_files; 640 653 } 654 } 641 655 642 656 for (meta_dir_node::const_entry_iterator entry = src->entries_begin(); 643 657 entry != src->entries_end(); ++entry) 644 658 { 645 659 addFileNode(dst, (*entry)->getData()->Title(), 646 660 (*entry)->getData()->getFlatIndex()); 661 total_files++; 647 662 } 663 return total_files; 648 664 } 649 665 650 666 // Build a generic tree containing the video files. You can control the … … 943 959 m_metadata.setList(ml); 944 960 } 945 961 946 GenericTree *VideoListImp::addDirNode(GenericTree *where_to_add, 947 const QString &dname, bool add_up_dirs) 962 GenericTree *VideoListImp::addDirNode(GenericTree *where_to_add, 963 GenericTree *sub_node, 964 bool add_up_dirs) 948 965 { 949 966 // Add the subdir node... 950 GenericTree *sub_node = where_to_add->addNode(dname, kSubFolder, false);951 967 sub_node->setAttribute(kNodeSort, kOrderSub); 952 968 sub_node->setOrderingIndex(kNodeSort); 953 969 … … 963 979 return sub_node; 964 980 } 965 981 982 GenericTree *VideoListImp::addDirNode(GenericTree *where_to_add, 983 const QString &dname, bool add_up_dirs) 984 { 985 // Add the subdir node... 986 return addDirNode(where_to_add,where_to_add->addNode(dname, kSubFolder, false),add_up_dirs); 987 } 988 966 989 int VideoListImp::addFileNode(GenericTree *where_to_add, const QString &name, 967 990 int index) 968 991 {
