private void SaveAs() { if (!this.Text.EndsWith("*")) { if (!CurrentSaving) { RemoteSource MemberInfo = this.Tag as RemoteSource; if (MemberInfo != null) { SaveAs SaveAsWindow = new SaveAs(MemberInfo); SaveAsWindow.ShowDialog(); if (SaveAsWindow.Success) { Thread gothread = null; CurrentSaving = true; Editor.TheEditor.SetStatus("Saving " + MemberInfo.GetName() + ".."); switch (SaveAsWindow.SourceInfo().GetFS()) { case FileSystem.QSYS: gothread = new Thread((ThreadStart) delegate { bool UploadResult = IBMiUtils.UploadMember(MemberInfo.GetLocalFile(), SaveAsWindow.SourceInfo().GetLibrary(), SaveAsWindow.SourceInfo().GetSPF(), SaveAsWindow.SourceInfo().GetMember()); if (UploadResult == false) { MessageBox.Show("Failed to upload to " + MemberInfo.GetName() + "."); } this.Invoke((MethodInvoker) delegate { Editor.TheEditor.SetStatus(MemberInfo.GetName() + " " + (UploadResult ? "" : "not ") + "saved."); }); CurrentSaving = false; }); break; case FileSystem.IFS: gothread = new Thread((ThreadStart) delegate { bool UploadResult = IBMiUtils.UploadFile(MemberInfo.GetLocalFile(), SaveAsWindow.SourceInfo().GetIFSPath()); if (UploadResult == false) { MessageBox.Show("Failed to upload to " + MemberInfo.GetName() + "." + MemberInfo.GetExtension() + "."); } this.Invoke((MethodInvoker) delegate { Editor.TheEditor.SetStatus(MemberInfo.GetName() + "." + MemberInfo.GetExtension() + " " + (UploadResult ? "" : "not ") + "saved."); }); CurrentSaving = false; }); break; } if (gothread != null) { gothread.Start(); } } } } else { MessageBox.Show("You must save the source before you can Save-As."); } } }