public void OpenNode(BundleTreeNode node) { if (ActiveNode != node) { ActiveNode = node; UpdatePathPanel(); fileListView.Items.Clear(); if (node.Parent != null) { fileListView.Items.Add(new BundleListItem { Node = node.Parent, Text = "..", IsDirectory = true, ImageKey = "openFolder" }); } foreach (var item in node.Directories.OrderBy(x => x.Key)) { fileListView.Items.Add(new BundleListItem { Node = item.Value, Text = item.Key, IsDirectory = true, ImageKey = "openFolder" }); } foreach (var item in node.Files.OrderBy(x => x.Key)) { var lastItem = item.Value[item.Value.Count - 1]; var listItem = fileListView.Items.Add(new BundleListItem { Node = null, FullPath = lastItem.Name, Text = item.Key, IsDirectory = false, ImageKey = "genericFile" }); listItem.SubItems.Add(lastItem.Size.ToString()); listItem.SubItems.Add(string.Format("{0}%", (100 - (int)(lastItem.ZSize / (float)lastItem.Size * 100.0f)))); listItem.SubItems.Add(lastItem.CompressionType); listItem.SubItems.Add(lastItem.DateString); } } }
public List <BundleItem> GetFiles(BundleTreeNode mainnode) { var bundfiles = new List <BundleItem>(); if (mainnode?.Files != null) { foreach (var wfile in mainnode.Files) { bundfiles.AddRange(wfile.Value); } bundfiles.AddRange(mainnode.Directories.Values.SelectMany(GetFiles)); } return(bundfiles); }
public ListViewItem[] CollectFiles(BundleTreeNode root) { var res = root.Files.Select(file => file.Key).Select(x => new ListViewItem() { ImageKey = "genericFile", ToolTipText = x, Text = x }).ToList(); foreach (var dr in root.Directories) { res.AddRange(CollectFiles(dr.Value)); } return(res.ToArray()); }