Ejemplo n.º 1
0
        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;
        }
Ejemplo n.º 2
0
 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();
     }
 }