diff --git a/Qwilight/Compute/DefaultCompute.cs b/Qwilight/Compute/DefaultCompute.cs index dd3f369..d418043 100644 --- a/Qwilight/Compute/DefaultCompute.cs +++ b/Qwilight/Compute/DefaultCompute.cs @@ -414,6 +414,8 @@ public virtual bool CanUndo => WwwLevelDataValue?.AllowPause != false; + public bool CanModifySalt => string.IsNullOrEmpty(EventNoteEntryItem?.EventNoteID); + public int FadingViewLayer { get; set; } = 1; public bool LoadedMedia { get; } = Configure.Instance.LoadedMedia; @@ -584,7 +586,7 @@ { _isPausingWindowOpened = value; Utility.HandleUIAudio(value ? "Window 1" : "Window 0"); - if (value) + if (CanModifySalt && value) { Configure.Instance.NotifyTutorial(Configure.TutorialID.SetUndoModifySalt); } diff --git a/Qwilight/System/DrawingSystem/DrawingSystem.cs b/Qwilight/System/DrawingSystem/DrawingSystem.cs index 6dd15b0..3760501 100644 --- a/Qwilight/System/DrawingSystem/DrawingSystem.cs +++ b/Qwilight/System/DrawingSystem/DrawingSystem.cs @@ -360,7 +360,17 @@ Configure.Instance.DefaultSpinningModeValue = Configure.DefaultSpinningMode.Undo; if (defaultComputer.CanUndo) { - defaultComputer.SetUndoValue = Utility.HasInput(VirtualKey.LeftShift) ? DefaultCompute.SetUndo.ModifySalt : DefaultCompute.SetUndo.Just; + if (Utility.HasInput(VirtualKey.LeftShift)) + { + if (defaultComputer.CanModifySalt) + { + defaultComputer.SetUndoValue = DefaultCompute.SetUndo.ModifySalt; + } + } + else + { + defaultComputer.SetUndoValue = DefaultCompute.SetUndo.Just; + } } }); var setDefaultSpinningModeStop = new Action(() => diff --git a/Qwilight/ViewModel/MainViewModel.cs b/Qwilight/ViewModel/MainViewModel.cs index ee818eb..04c4126 100644 --- a/Qwilight/ViewModel/MainViewModel.cs +++ b/Qwilight/ViewModel/MainViewModel.cs @@ -3132,7 +3132,17 @@ case Mode.Computing: if (Computer.CanUndo && Computer.IsPausingWindowOpened) { - Computer.SetUndoValue = Utility.HasInput(VirtualKey.LeftShift) ? DefaultCompute.SetUndo.ModifySalt : DefaultCompute.SetUndo.Just; + if (Utility.HasInput(VirtualKey.LeftShift)) + { + if (Computer.CanModifySalt) + { + Computer.SetUndoValue = DefaultCompute.SetUndo.ModifySalt; + } + } + else + { + Computer.SetUndoValue = DefaultCompute.SetUndo.Just; + } } break; case Mode.Quit: