private void UpdateShellView(VirtualDirectoryInfo currentFolder) { _currentFolderInfos = currentFolder.GetFileSystemInfos().ToList(); ShellView.Items.Clear(); foreach (var info in _currentFolderInfos) { int type = 0; long size = -1; VirtualFileData fileData = null; if (info is VirtualFileInfo fileInfo) { type = 1; fileData = _virtualFileSystem.GetFile(fileInfo.FullName); size = long.Parse(fileData.TextContents); } var itemData = new[] { info.Name, fileData?.CreationTime.ToString("dd.MM.yyyy HH:mm") ?? "", type == 0 ? "Тека" : "Файл", SmartSizeConverter(size) }; if (ShellView.View == View.Tile) { itemData = new[] { info.Name } } ; var item = new ListViewItem(itemData, type); ShellView.Items.Add(item); } }
private List <TreeNode> CreateFolderTree(VirtualDirectoryInfo directoryInfo) { var folderNodes = new List <TreeNode>(); var folders = directoryInfo.GetDirectories(); foreach (var folder in folders) { TreeNode folderNode = new TreeNode { Name = folder.FullName, Text = folder.Name, SelectedImageIndex = 0, ImageIndex = 0 }; var subfolders = CreateFolderTree((VirtualDirectoryInfo)folder); foreach (var subfolder in subfolders) { folderNode.Nodes.Add(subfolder); } folderNodes.Add(folderNode); } return(folderNodes); }
private void AddFolderToTreeView(VirtualDirectoryInfo folder) { var findResults = TreeView.Nodes.Find(folder.Parent.FullName, true); if (findResults.Length == 0) { return; } var nodeWhereAdd = findResults[0]; TreeNode folderNode = new TreeNode { Name = folder.FullName, Text = folder.Name, SelectedImageIndex = 0, ImageIndex = 0 }; nodeWhereAdd.Nodes.Add(folderNode); }
protected override VirtualDirectoryInfo CreateDirectory(VirtualDirectoryInfo parent, string path) { return(new SharpCompressDirectoryInfo((SharpCompressDirectoryInfo)parent, path)); }