Пример #1
0
        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);
        }
Пример #2
0
        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);
            }
        }