public ZFolder FindFolder(string path) { WantDirectory(); if (String.IsNullOrEmpty(path)) { return(Directory); } string key = VirtualFileExtension.NormalizePath(path); if (m_dirIndex.ContainsKey(path)) { return(m_dirIndex[path] as ZFolder); } return(null); }
private void LoadDirectory() { m_dirIndex = new Dictionary <string, ZDirItem>(); m_directory = new ZFolder(); foreach (var entry in Zip.Entries) { var npath = VirtualFileExtension.NormalizePath(entry.FileName); var items = npath.Split('/'); var fld = FindZFolder(items, m_directory, 0, entry.IsDirectory ? items.Length : items.Length - 1); if (!entry.IsDirectory) { var zfile = new ZFile { Path = npath }; fld.Files.Add(zfile); m_dirIndex[npath] = zfile; } } }
private void DetectConflicts(ConfigNode parent) { foreach (var node in parent.Children) { if (node.VirtualPath is IVirtualFolder) { DetectConflicts(node); } else { if (m_dstFs.GetPath(node.VirtualPath).Exists()) { int idx = dataGridViewEx1.Rows.Add(VirtualFileExtension.NormalizePath(node.VirtualPath.FullPath), Path.GetFileNameWithoutExtension(node.VirtualPath.Name), node.Selected); dataGridViewEx1.Rows[idx].Tag = node; node.Tag = dataGridViewEx1.Rows[idx]; node.SelectedChanged += new EventHandler(node_SelectedChanged); m_conflicts.Add((ConfigFileNode)node); } } } }
protected ZipVirtualPath(ZipFileSystem fs, string path) { m_fs = fs; m_path = path; m_normaPath = VirtualFileExtension.NormalizePath(m_path); }