public static ISOV GetFromFile(string filename, bool fast) { while (IsUpdating) { Thread.Sleep(100); } ISOV resk = null; var s = ISOs.FirstOrDefault(x => Regex.IsMatch(Path.GetFileName(filename), x.Filename)); /*if (s != null) * { * resk = s.LatestVersion ?? new ISOV("nover", s.Name, "", s.Filename, true) {Parent=s}; * }*/ if (s != null && s.LatestVersion == null) { resk = new ISOV("nover", s.Name, "", s.Filename, true) { Parent = s } } ; else { if (s != null && s.Versions.Count == 1) { resk = s.LatestVersion; } else { var sta = s == null?ISOs.SelectMany(x => x.Versions) : s.Versions; var st = sta.FirstOrDefault( x => x.Filename.StartsWith("/") ? Regex.IsMatch(Path.GetFileName(filename), x.Filename.Substring(1)) : string.Equals(Path.GetFileName(filename).Trim(), x.Filename.Trim(), StringComparison.CurrentCultureIgnoreCase)); if (st == null) { var md5 = fast ? "" : Utils.FileHash(filename, "md5"); st = (fast ? null : sta.FirstOrDefault( x => x.Hash == (x.Hash.Contains(':') ? Utils.FileHash(filename, x.Hash.Split(':')[0]) : md5))); } resk = st ?? (s == null ? null : new ISOV("nover", s.Name, "", s.Filename, true) { Parent = s }); } } return(resk); }
public void AddImage(string filePath, ISOV ver = null) { if (CurImages.Count(x => x.FilePath == filePath) != 0) { return; } var name = Path.GetFileNameWithoutExtension(filePath); var desc = ""; var cat = ""; if (ver?.Hash == "nover") { name = ver.Parent.Name; desc = ver.Parent.Description; cat = ver.Parent.CategoryTxt; } else { if (automaticallyAddISOInfoToolStripMenuItem.Checked && ver?.Hash != "other") { ver = ver ?? (ISOInfo.GetFromFile(filePath, new FileInfo(filePath).Length > 750000000)); if (ver == null) { MessageBox.Show(Path.GetFileName(filePath) + "\n\n" + Strings.CouldntDetect, "SharpBoot", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { name = ver.Name; desc = ver.Parent.Description; cat = ver.Parent.CategoryTxt; } } } var im = new ImageLine(name, filePath, desc, cat, typ: filePath.ToLower().EndsWith("img") ? EntryType.IMG : EntryType.ISO); CurImages.Add(im); SetSize(); lvIsos.Rows.Add(name, Program.GetFileSizeString(filePath), cat, desc, filePath); }
private void cbxDetIso_SelectedIndexChanged(object sender, EventArgs e) { if (changing) { return; } if (cbxDetIso.SelectedIndex != -1 && cbxDetIso.SelectedItem != null) { IsoV = cbxDetIso.SelectedIndex == 0 ? new ISOV("other", "") : (selinfo2 == null ? null : (selinfo2.LatestVersion ?? new ISOV("nover", selinfo2.Name, "", selinfo2.Filename, true) { Parent = selinfo2 })); } }
private void btnOK_Click(object sender, EventArgs e) { if (IsDownload) { IsoV = selinfoversion(); if (IsoV != null && IsoV.DownloadLink != "") { sfdIso.FileName = Path.GetFileName(IsoV.DownloadLink); } if (sfdIso.ShowDialog(this) == DialogResult.OK) { btnOK.Enabled = false; ControlBox = false; DownFile = sfdIso.FileName; DownloadStuff(); } } }
public void AddImage(string filePath, ISOV ver = null) { if (CurImages.Count(x => x.FilePath == filePath) != 0) return; var name = Path.GetFileNameWithoutExtension(filePath); var desc = ""; var cat = ""; if (ver?.Hash == "nover") { name = ver.Parent.Name; desc = ver.Parent.Description; cat = ver.Parent.CategoryTxt; } else { if (automaticallyAddISOInfoToolStripMenuItem.Checked && ver?.Hash != "other") { ver = ver ?? (ISOInfo.GetFromFile(filePath, new FileInfo(filePath).Length > 750000000)); if (ver == null) { MessageBox.Show(Path.GetFileName(filePath) + "\n\n" + Strings.CouldntDetect, "SharpBoot", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { name = ver.Name; desc = ver.Parent.Description; cat = ver.Parent.CategoryTxt; } } } var im = new ImageLine(name, filePath, desc, cat, typ: filePath.ToLower().EndsWith("img") ? EntryType.IMG : EntryType.ISO); CurImages.Add(im); SetSize(); lvIsos.Rows.Add(name, Program.GetFileSizeString(filePath), cat, desc, filePath); }
public static ISOV GetFromFile(string filename, bool fast) { while (IsUpdating) Thread.Sleep(100); ISOV resk = null; var s = ISOs.FirstOrDefault(x => Regex.IsMatch(Path.GetFileName(filename), x.Filename)); /*if (s != null) { resk = s.LatestVersion ?? new ISOV("nover", s.Name, "", s.Filename, true) {Parent=s}; }*/ if (s != null && s.LatestVersion == null) resk = new ISOV("nover", s.Name, "", s.Filename, true) {Parent = s}; else { if (s != null && s.Versions.Count == 1) { resk = s.LatestVersion; } else { var sta = s == null ? ISOs.SelectMany(x => x.Versions) : s.Versions; var st = sta.FirstOrDefault( x => x.Filename.StartsWith("/") ? Regex.IsMatch(Path.GetFileName(filename), x.Filename.Substring(1)) : string.Equals(Path.GetFileName(filename).Trim(), x.Filename.Trim(), StringComparison.CurrentCultureIgnoreCase)); if (st == null) { var md5 = fast ? "" : Utils.FileHash(filename, "md5"); st = (fast ? null : sta.FirstOrDefault( x => x.Hash == (x.Hash.Contains(':') ? Utils.FileHash(filename, x.Hash.Split(':')[0]) : md5))); } resk = st ?? (s == null ? null : new ISOV("nover", s.Name, "", s.Filename, true) {Parent = s}); } } return resk; }
private void md5stuff() { th = new Thread(() => { Invoke((MethodInvoker) (() => pbxLoading.Visible = true)); var resk = ISOInfo.GetFromFile(ISOPath, false); Invoke((MethodInvoker) (() => { if (resk == null) { cbxDetIso.SelectedIndex = 0; } else { IsoV = resk; for (var index = 0; index < cbxDetIso.Items.Count; index++) { dynamic it = cbxDetIso.Items[index]; if (it.Val == resk.Parent) { changing = true; cbxDetIso.SelectedIndex = index; break; } } } pbxLoading.Visible = false; })); changing = false; }) { CurrentCulture = CultureInfo.CurrentCulture, CurrentUICulture = CultureInfo.CurrentUICulture }; th.Start(); }
private void Client_DownloadFileCompleted(object sender, AsyncCompletedEventArgs e) { sw.Stop(); pbxPrg.Visible = lblPercent.Visible = lblSpeed.Visible = lblProg.Visible = false; if (!e.Cancelled) MessageBox.Show(Strings.DownComplete, "SharpBoot"); pbxPrg.Value = 100; btnOK.Enabled = true; ControlBox = true; ISOPath = DownFile; IsoV = selinfoversion(); DialogResult = DialogResult.OK; Close(); }
private void cbxDetIso_SelectedIndexChanged(object sender, EventArgs e) { if (changing) return; if (cbxDetIso.SelectedIndex != -1 && cbxDetIso.SelectedItem != null) { IsoV = cbxDetIso.SelectedIndex == 0 ? new ISOV("other", "") : (selinfo2 == null ? null : (selinfo2.LatestVersion ?? new ISOV("nover", selinfo2.Name, "", selinfo2.Filename, true) {Parent = selinfo2})); } }