//------------------------------------------------------------------------ public bool CopyTo(SymInst sym) { if (!Local) { if (ParentSym == sym) { return(false); } } string upperName = this.Name.ToUpper(); for (int i = 0; i < sym.Projects.Count; i++) { if (sym.Projects[i].Name.ToUpper() == upperName) { MessageBox.Show("A Project Named '" + this.Name + "' Already Exists Here", "PwrIDE - Copy Project", MessageBoxButtons.OK, MessageBoxIcon.Error); return(false); } } Project copyOf = CreateProject(this.Name, sym); for (int i = 0; i < this.Files.Count; i++) { try { ProjectFile curr = copyOf.FileCreate(this.Files[i].Name, this.Files[i].Type, this.Files[i].TypeConvert()); curr.Write(this.Files[i].Read()); } catch (Exception ex) { MessageBox.Show("Error Copying File '" + this.Files[i].Name + "' from Project '" + this.Name + "'\nError: " + ex.Message, "PwrIDE - Copy Project", MessageBoxButtons.OK, MessageBoxIcon.Error); } } try { sym.ProjectsSave(); } catch (Exception ex) { MessageBox.Show("Error Saving Projects Listing for Sym '" + sym.SymDir + "'\nError: " + ex.Message, "PwrIDE - Copy Project", MessageBoxButtons.OK, MessageBoxIcon.Error); return(false); } return(true); }
//======================================================================== private void btnOkay_Click(object sender, EventArgs e) { //first load existing projects //(this was a bug, where Importing to a not-previously-connected Sym would just overwrite the existing projects file) inst.ProjectsLoad(); for (int i = 0; i < lstProjects.Items.Count; i++) { if (lstProjects.Items[i].Checked) { inst.ProjectAdd(prjs[i]); } } try { inst.ProjectsSave(); } catch (Exception ex) { MessageBox.Show("Error Re-Saving Projects File After Import\nError: " + ex.Message, "PwrIDE", MessageBoxButtons.OK, MessageBoxIcon.Error); } Util.MainForm.Explorer.ProjectsImported(inst); DialogResult = DialogResult.OK; }