void writeManifest(PackageManifest manifest) { foreach (SampleEntry sample in manifest.Samples) { if (sample.StartPackFile != null) sample.StartPart = Path.GetFileName(sample.StartPackFile.Name); if (sample.LoopPackFile != null) sample.LoopPart = Path.GetFileName(sample.LoopPackFile.Name); if (sample.EndPackFile != null) sample.EndPart = Path.GetFileName(sample.EndPackFile.Name); } using (System.Xml.XmlWriter writer = System.Xml.XmlWriter.Create(Path.Combine(Path.GetTempPath(), "info.xml"), new System.Xml.XmlWriterSettings { Encoding = Encoding.UTF8, Indent = true })) { XmlSerializer ser = new XmlSerializer(typeof(PackageManifest)); XmlSerializerNamespaces ns = new XmlSerializerNamespaces(); ns.Add(string.Empty, string.Empty); ser.Serialize(writer, manifest, ns); writer.Flush(); } }
void refreshSamples() { manifest = pack.GetManifest(); if (manifest == null) { MessageBox.Show(this, "Package does not contain manifest!", Text, MessageBoxButtons.OK, MessageBoxIcon.Error); return; } packAuthorTextBox.Text = manifest.Author; packWebTextBox.Text = manifest.Website; packDescriptionTextBox.Text = manifest.Description; foreach (SampleEntry entry in manifest.Samples) { samplesListView.Items.Add(new ListViewItem(new string[] { entry.Name, entry.Type, entry.Description }) { Tag = entry }); } samplesListView.SelectedIndices.Clear(); }
void openFile() { if (pack != null) pack.Close(); samplesListView.Items.Clear(); ClearDetails(); packAuthorTextBox.Text = packDescriptionTextBox.Text = packWebTextBox.Text = string.Empty; fileNameLabel.Text = string.Empty; pack = null; manifest = null; curEntry = null; pack = new Package(File.OpenRead(openFileDialog.FileName)); pack.Load(); fileNameLabel.Text = Path.GetFileName(openFileDialog.FileName); refreshSamples(); }