Ticket #85: splitfield.diff
File splitfield.diff, 2.6 KB (added by , 19 years ago) |
---|
-
mythmusic/metadata.cpp
690 690 top_nodes.setAutoDelete(true); 691 691 692 692 last_listed = -1; 693 field_sep = gContext->GetSetting("FieldSeparator", ""); 693 694 } 694 695 695 696 AllMusic::~AllMusic() … … 996 997 997 998 void AllMusic::intoTree(Metadata* inserter) 998 999 { 999 MusicNode *insertion_point = findRightNode(inserter, 0); 1000 insertion_point->insert(inserter); 1000 QString a_field = ""; 1001 inserter->getField(tree_levels.first(), &a_field, paths, startdir, 0); 1002 1003 if(field_sep == "") 1004 { 1005 MusicNode *insertion_point = findRightNode(inserter, a_field, 0); 1006 insertion_point->insert(inserter); 1007 } 1008 else 1009 { 1010 QStringList lst( QStringList::split( field_sep, a_field ) ); 1011 1012 for (QStringList::Iterator it = lst.begin() ; it != lst.end(); ++it ) { 1013 MusicNode *insertion_point = findRightNode(inserter, *it, 0); 1014 insertion_point->insert(inserter); 1015 } 1016 } 1001 1017 } 1002 1018 1003 MusicNode* AllMusic::findRightNode(Metadata* inserter, uint depth)1019 MusicNode* AllMusic::findRightNode(Metadata* inserter, QString &a_field, uint depth) 1004 1020 { 1005 QString a_field = "";1006 1007 1021 // Use metadata to find pre-exisiting insertion 1008 1022 // point or (recursively) create nodes as needed 1009 1023 // and return ultimate insertion point … … 1015 1029 // paths=directory 1016 1030 return root_node; 1017 1031 } 1018 1019 inserter->getField(tree_levels.first(), &a_field, paths, startdir, depth); 1032 1020 1033 QPtrListIterator<MusicNode> iter( top_nodes ); 1021 1034 MusicNode *search; 1022 1035 while ( (search = iter.current()) != 0 ) -
mythmusic/metadata.h
256 256 void sortTree(); 257 257 void writeTree(GenericTree *tree_to_write_to); 258 258 void intoTree(Metadata* inserter); 259 MusicNode* findRightNode(Metadata* inserter, uint depth);259 MusicNode* findRightNode(Metadata* inserter, QString &a_field, uint depth); 260 260 void setSorting(QString a_paths); 261 261 bool putYourselfOnTheListView(TreeCheckItem *where, int how_many); 262 262 void putCDOnTheListView(CDCheckItem *where); … … 289 289 QString paths; 290 290 QStringList tree_levels; 291 291 292 292 QString field_sep; 293 293 MetadataLoadingThread *metadata_loader; 294 294 bool done_loading; 295 295 int last_listed;