public static Project OpenProject(string filename) { Project proj; using (var file = File.OpenRead(filename)) { proj = (Project)ProjSerializer.Deserialize(file); proj.FilePath = filename; } if (File.Exists(filename + ".local")) { using (var file = File.OpenRead(filename + ".local")) { if (!LoadLocalSettings(proj, file)) { return(null); } } } else { MessageBox.Show("Local information not found. " + "Please reset them now.", "Load Project", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); if (!ShowDirectoryDialog(proj)) { return(null); } } proj.ImageList.SelectedPalette = 0; return(proj); }
public static void SaveProject(Project proj, string filename) { if (File.Exists(filename)) { File.Delete(filename); } using (var file = File.Open(filename, FileMode.CreateNew)) { ProjSerializer.Serialize(file, proj); } var localFilename = filename + ".local"; if (File.Exists(localFilename)) { File.Delete(localFilename); } using (var file = File.Open(localFilename, FileMode.CreateNew)) { SaveLocalSettings(proj, file); } }