private void RefreshFileView(string cd) { var ret = Program.Repo.ListDir(cd); LvwFiles.BeginUpdate(); LvwFiles.Items.Clear(); ImlIcon.Images.Clear(); foreach (var i in ret) { if (!i.Value.EndsWith(Path.DirectorySeparatorChar.ToString())) { string filePath = Program.Win32Path(Program.Repo.RepositoryPath + i.Value); var info = new FileInfo(filePath); var item = new ListViewItem(i.Key); item.SubItems.Add(Program.FormatSize(info.Length)); item.SubItems.Add(Program.Repo.NameRepo2Time(i.Value).ToLocalTime().ToString()); string ext = Path.GetExtension(i.Value).ToLowerInvariant(); Icon icon; if (ext != ".exe" && ext != ".ico") { if (!IconCache.TryGetValue(ext, out icon)) { icon = Icon.ExtractAssociatedIcon(Program.NtPath(filePath)); IconCache[ext] = icon; } } else { icon = Icon.ExtractAssociatedIcon(Program.NtPath(filePath)); } ImlIcon.Images.Add(icon); item.ImageIndex = ImlIcon.Images.Count - 1; item.Tag = i.Value; LvwFiles.Items.Add(item); } else { var item = new ListViewItem(i.Key); item.SubItems.Add(""); item.SubItems.Add(""); ImlIcon.Images.Add(DirectoryIcon); item.ImageIndex = ImlIcon.Images.Count - 1; item.Tag = i.Value; LvwFiles.Items.Add(item); } } LvwFiles.EndUpdate(); TxtPath.Text = cd; }
private void 寻找版本FToolStripMenuItem_Click(object sender, EventArgs e) { if (OfdFind.ShowDialog() == DialogResult.OK) { TxtDoc.Text = OfdFind.FileName; string file = OfdFind.FileName.Trim(); LvwFiles.BeginUpdate(); LvwFiles.Items.Clear(); var vers = Program.Repo.FindVersions(file); foreach (var ver in vers) { var it = new ListViewItem(ver.LastModifiedTimeUtc.ToLocalTime().ToString()); it.SubItems.Add(ver.Length.ToString() + "字节"); it.Tag = ver; LvwFiles.Items.Add(it); } LvwFiles.EndUpdate(); } }