private void RecursiveCopy(SongInfoTreeViewItem sitvi, LogicFolderTreeViewItem lftvi) { foreach (SongInfoTreeViewItem childsitvi in sitvi.Items) { if (!childsitvi.SongInformation.IsPPDSong) { var folder = lftvi.LogicFolderInfo.AddFolder(childsitvi.SongInformation.DirectoryName); var newlftvi = CreateAndAdd(folder, lftvi); RecursiveCopy(childsitvi, newlftvi); } else { var newinfo = lftvi.LogicFolderInfo.AddScore(childsitvi.SongInformation); CreateAndAdd(newinfo, lftvi); } } lftvi.Sort(); }
private void RecursiveCreate(SongInformation[] sis, ref int iter, TreeViewItem parent) { foreach (SongInformation child in sis) { var tvi = new SongInfoTreeViewItem { TextureString = new TextureString(device, child.DirectoryName, 14, maxwidth - gapX * child.Depth, PPDColors.White) { AllowScroll = false }, SongInformation = child }; parent.Add(tvi); iter++; if (!child.IsPPDSong) { RecursiveCreate(filter.GetFiltered(child.Children), ref iter, tvi); } } }