protected void OnProcOpenButtonClicked(object sender, EventArgs e) { try { if (!IsBusy() && AllFiles.Count > 1) { FileChooserDialog fc = new FileChooserDialog("Open PP3", this, FileChooserAction.Open, "Cancel", ResponseType.Cancel, "Open", ResponseType.Accept); if (Directory.Exists(MySettings.LastPPDir)) { fc.SetCurrentFolder(MySettings.LastPPDir); } FileFilter filter = new FileFilter(); filter.Name = "Postprocessing Profile"; filter.AddPattern("*.pp3"); fc.AddFilter(filter); if (fc.Run() == (int)ResponseType.Accept) { MySettings.LastPPDir = System.IO.Path.GetDirectoryName(fc.Filename); MySettings.Save(); SetSaveStatus(false); MainPP3.ReadFile(fc.Filename); MainPP3.Name = "Main"; PPfileOpened = true; if (AllFiles.Count > 0) { AllFiles[0].IsKeyframe = true; } for (int i = 0; i < AllFiles.Count; i++) { if (!AllFiles[i].IsKeyframe || i == 0) { AllFiles[i].PP3 = new PP3Values(fc.Filename); AllFiles[i].PP3.Name = "Main"; } } AllFiles[0].IsKeyframe = true; AllCurves.InitPP3Curves(MainPP3, AllFiles.Count); UpdateTable(); FillCurveSelectBox(); UpdateInfo(InfoType.PPFile, 1); } fc.Destroy(); } else if (AllFiles.Count < 2) { UpdateInfo(InfoType.Imagecount, 0); } } catch (Exception ex) { ReportError("Browse PP File", ex); PPfileOpened = false; } }