Exemple #1
0
        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);
            }
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        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);
        }
Exemple #4
0
 protected override VirtualDirectoryInfo CreateDirectory(VirtualDirectoryInfo parent, string path)
 {
     return(new SharpCompressDirectoryInfo((SharpCompressDirectoryInfo)parent, path));
 }