internal static void DeleteAutoSaveFile(string file)
 {
     if (!string.IsNullOrEmpty(file))
     {
         Mainframe.DeleteFile(Mainframe.AutoSaveFile(file));
     }
 }
示例#2
0
 public void AutoSave()
 {
     try {
         if (!string.IsNullOrEmpty(this.File) && this.HasChanges && this.autoSavedVersion != this.CircuitProject.Version)
         {
             string file = Mainframe.AutoSaveFile(this.File);
             if (!string.IsNullOrEmpty(file))
             {
                 Mainframe.DeleteFile(file);
                 this.CircuitProject.SaveSnapshot(file);
                 Mainframe.Hide(file);
             }
             this.autoSavedVersion = this.CircuitProject.Version;
         }
     } catch (Exception exception) {
         Tracer.Report("Editor.AutoSave", exception);
     }
 }
示例#3
0
        private static CircuitProject Create(Mainframe mainframe, string file)
        {
            bool   useAutoSaveFile = false;
            string autoSaveFile    = Mainframe.AutoSaveFile(file);

            if (Mainframe.IsFileExists(autoSaveFile))
            {
                App.Dispatch(() => {
                    MessageBoxResult result = DialogMessage.Show(
                        mainframe,
                        Properties.Resources.TitleApplication,
                        Properties.Resources.MessageLoadAutoSavedFile(file),
                        null,
                        MessageBoxImage.Question,
                        MessageBoxButton.YesNo
                        );
                    if (result == MessageBoxResult.Yes)
                    {
                        useAutoSaveFile = true;
                    }
                });
                if (!useAutoSaveFile)
                {
                    Mainframe.DeleteFile(autoSaveFile);
                }
            }
            if (!useAutoSaveFile)
            {
                autoSaveFile = file;
            }
            CircuitProject project = CircuitProject.Create(autoSaveFile);

            if (useAutoSaveFile)
            {
                project.InOmitTransaction(() => {});
            }
            return(project);
        }