// Event handler for the hash type menu dropdown. private void Hash_Click(object sender, EventArgs e) { ToolStripMenuItem item = (ToolStripMenuItem)sender; uncheck_hashes(); item.Checked = true; currentHash = Hashes.ParseType(item.Text); lvMain.Columns[1].Text = item.Text; VerifyList.Clear(); }
private void VerifyFiles() { OpenFileDialog fd = new OpenFileDialog(); fd.Filter = "Text files|*.txt|MD5 Hashes|*.md5|All Files|*.*"; fd.CheckFileExists = true; DialogResult res = fd.ShowDialog(); if (res == DialogResult.Cancel || res == DialogResult.Abort) { return; } string dirname = Path.GetDirectoryName(fd.FileName); FolderBrowserDialog fbd = new FolderBrowserDialog(); fbd.SelectedPath = dirname; res = fbd.ShowDialog(); if (res == DialogResult.Cancel || res == DialogResult.Abort) { return; } StreamReader reader = new StreamReader(fd.FileName); string[] lines = Regex.Split(reader.ReadToEnd(), "\r\n"); reader.Close(); VerifyList.Clear(); FileList.Clear(); foreach (string line in lines) { if (line.Length > 0) { FileInfo fi = FileInfo.ParseInfoLine(line); fi.SetDirectory(dirname); VerifyList.Add(fi); FileList.Add(new FileInfo(fi.Name)); } } currentHash = VerifyList[0].HashType; lvMain.Columns[1].Text = Hashes.String(currentHash); UpdateListView(); StartHashing(); }
public MainForm() { InitializeComponent(); // Setup the background worker. bw.WorkerReportsProgress = true; bw.WorkerSupportsCancellation = false; bw.DoWork += Bw_DoWork; bw.ProgressChanged += Bw_ProgressChanged; bw.RunWorkerCompleted += Bw_RunWorkerCompleted; // Build the table with headers ColumnHeader h1 = new ColumnHeader(); h1.Text = "Filename"; ColumnHeader h2 = new ColumnHeader(); h2.Text = "Hash"; ColumnHeader h3 = new ColumnHeader(); h3.Text = "Expected"; lvMain.Columns.AddRange(new ColumnHeader[] { h1, h2, h3 }); lvMain.SmallImageList = imgList; foreach (ColumnHeader header in lvMain.Columns) { if (header.Width < 150) { header.Width = 150; } } btnSave.Enabled = false; saveToolStripMenuItem.Enabled = false; // Build the hash menu ToolStripMenuItem h_crc32 = new ToolStripMenuItem(); h_crc32.Text = "CRC32"; h_crc32.Checked = true; h_crc32.Click += Hash_Click; ToolStripMenuItem h_md5 = new ToolStripMenuItem(); h_md5.Text = "MD5"; h_md5.Checked = false; h_md5.Click += Hash_Click; ToolStripMenuItem h_sha1 = new ToolStripMenuItem(); h_sha1.Text = "SHA1"; h_sha1.Checked = false; h_sha1.Click += Hash_Click; ToolStripMenuItem h_sha256 = new ToolStripMenuItem(); h_sha256.Text = "SHA256"; h_sha256.Checked = false; h_sha256.Click += Hash_Click; hashTypeToolStripMenuItem.DropDownItems.AddRange(new ToolStripItem[] { h_crc32, h_md5, h_sha1, h_sha256 }); // default to CRC32. currentHash = Hashes.Type.CRC32; }