private void Preview(String parserVar, ListViewItem item) { ppParser parser = (ppParser)Gui.Scripting.Variables[parserVar]; IWriteFile subfile = (IWriteFile)item.Tag; String clothPreviewPath = Path.GetDirectoryName(parser.FilePath) + @"\" + subfile.Name + ".preview"; Plugins.ExportSubfile(parser, subfile.Name, clothPreviewPath); lastBasePath = Path.GetDirectoryName(parser.FilePath) + @"\base.pp"; ppParser basePP = (ppParser)Plugins.OpenPP(lastBasePath); ppEditor baseEditor = new ppEditor(basePP); String sampleBodyPath = Path.GetDirectoryName(parser.FilePath) + @"\sample_body.xx.$org$"; if (!File.Exists(sampleBodyPath)) { Plugins.ExportSubfile(basePP, "sample_body.xx", sampleBodyPath); } baseEditor.RemoveSubfile("sample_body.xx"); baseEditor.AddSubfile(clothPreviewPath); baseEditor.RenameSubfile(Path.GetFileName(clothPreviewPath), "sample_body.xx"); baseEditor.SavePP(false, (string)Gui.Config["BackupExtensionPP"], false); File.Delete(clothPreviewPath); lastPreviewed = item; buttonPrepare.Text = "Prepare " + item.Text; buttonRestoreDefault.Enabled = true; }