private void PreviewFileFromPakEntryInfo(PakEntryInfo pakEntry) { using (var pr = new PakReader(pakEntry.PakFile)) { switch (GetPreviewTypeFromFilename(pakEntry.EntryFilename)) { case PreviewType.Text: using (var ms = new MemoryStream(pr.GetFile(pakEntry.EntryFilename))) { var text = new StreamReader(ms).ReadToEnd(); ShowTextViewer(text); } break; case PreviewType.Html: using (var ms = new MemoryStream(pr.GetFile(pakEntry.EntryFilename))) { try { var text = EncryptedHtml.DecodeToString(pakEntry.EntryFilename, ms); ShowTextViewer(text); } catch { // maybe not encrypted, show raw text ms.Seek(0, SeekOrigin.Begin); var text = new StreamReader(ms).ReadToEnd(); ShowTextViewer(text); } } break; case PreviewType.Xml: using (var ms = new MemoryStream(pr.GetFile(pakEntry.EntryFilename))) { var text = new StreamReader(new AionXmlStreamReader(ms, true)).ReadToEnd(); ShowTextViewer(text); } break; case PreviewType.Image: using (var ms = new MemoryStream(pr.GetFile(pakEntry.EntryFilename))) { ShowImageViewer(ms); } break; case PreviewType.Cgf: using (var ms = new MemoryStream(pr.GetFile(pakEntry.EntryFilename))) { ShowCgfViewer(new CgfLoader(ms)); } break; default: break; } } }
private void PreviewFileFromFileInfo(FileInfo file) { switch (GetPreviewTypeFromFilename(file.Name)) { case PreviewType.Pak: { var text = GetPakFileListing(file.FullName); ShowTextViewer(text); } break; case PreviewType.Text: { var text = File.ReadAllText(file.FullName); ShowTextViewer(text); } break; case PreviewType.Html: { using (var fs = new FileStream(file.FullName, FileMode.Open, FileAccess.Read)) { var text = EncryptedHtml.DecodeToString(file.Name, fs); ShowTextViewer(text); } } break; case PreviewType.Xml: { using (var fs = new FileStream(file.FullName, FileMode.Open, FileAccess.Read)) { var text = new StreamReader(new AionXmlStreamReader(fs, true)).ReadToEnd(); ShowTextViewer(text); } } break; case PreviewType.Image: { using (var fs = new FileStream(file.FullName, FileMode.Open, FileAccess.Read)) { ShowImageViewer(fs); } } break; case PreviewType.Cgf: { using (var fs = new FileStream(file.FullName, FileMode.Open, FileAccess.Read)) { ShowCgfViewer(new CgfLoader(fs)); } } break; default: // unknown break; } }