@@ -807,53 +807,49 @@ namespace Ink_Canvas
|
||||
var previousSlide = _currentSlideShowPosition > 0 ? _currentSlideShowPosition :
|
||||
(_pptManager?.GetCurrentSlideNumber() ?? 0);
|
||||
|
||||
// 先保存当前页墨迹的副本
|
||||
StrokeCollection strokesToSave = null;
|
||||
if (previousSlide > 0 && previousSlide != currentSlide && inkCanvas.Strokes.Count > 0)
|
||||
{
|
||||
strokesToSave = inkCanvas.Strokes.Clone();
|
||||
}
|
||||
|
||||
if (_isInkClearedByButton)
|
||||
{
|
||||
_isInkClearedByButton = false;
|
||||
}
|
||||
else
|
||||
else if (inkCanvas.Strokes.Count > 0)
|
||||
{
|
||||
StrokeCollection strokesToSave = null;
|
||||
if (previousSlide > 0 && previousSlide != currentSlide && inkCanvas.Strokes.Count > 0)
|
||||
{
|
||||
strokesToSave = inkCanvas.Strokes.Clone();
|
||||
}
|
||||
|
||||
// 清除墨迹
|
||||
if (inkCanvas.Strokes.Count > 0)
|
||||
{
|
||||
ClearStrokes(true);
|
||||
timeMachine.ClearStrokeHistory();
|
||||
}
|
||||
|
||||
// 异步保存之前页面的墨迹
|
||||
if (strokesToSave != null && previousSlide > 0 && previousSlide != currentSlide)
|
||||
{
|
||||
Task.Run(() =>
|
||||
{
|
||||
try
|
||||
{
|
||||
Application.Current.Dispatcher.Invoke(() =>
|
||||
{
|
||||
bool canWrite = _singlePPTInkManager?.CanWriteInk(previousSlide) == true;
|
||||
if (canWrite)
|
||||
{
|
||||
_singlePPTInkManager?.SaveCurrentSlideStrokes(previousSlide, strokesToSave);
|
||||
}
|
||||
});
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
LogHelper.WriteLogToFile($"异步保存PPT页面墨迹失败: {ex}", LogHelper.LogType.Error);
|
||||
}
|
||||
});
|
||||
}
|
||||
ClearStrokes(true);
|
||||
timeMachine.ClearStrokeHistory();
|
||||
}
|
||||
|
||||
// 更新当前播放页码
|
||||
_currentSlideShowPosition = currentSlide;
|
||||
|
||||
LoadCurrentSlideInk(currentSlide, skipClear: true);
|
||||
// 异步保存之前页面的墨迹(不阻塞翻页操作)
|
||||
if (strokesToSave != null && previousSlide > 0 && previousSlide != currentSlide)
|
||||
{
|
||||
Task.Run(() =>
|
||||
{
|
||||
try
|
||||
{
|
||||
Application.Current.Dispatcher.Invoke(() =>
|
||||
{
|
||||
bool canWrite = _singlePPTInkManager?.CanWriteInk(previousSlide) == true;
|
||||
if (canWrite)
|
||||
{
|
||||
_singlePPTInkManager?.SaveCurrentSlideStrokes(previousSlide, strokesToSave);
|
||||
}
|
||||
});
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
LogHelper.WriteLogToFile($"异步保存PPT页面墨迹失败: {ex}", LogHelper.LogType.Error);
|
||||
}
|
||||
});
|
||||
}
|
||||
LoadCurrentSlideInk(currentSlide, skipClear: true); // 跳过清除,因为已在上面清除
|
||||
_pptUIManager?.UpdateCurrentSlideNumber(currentSlide, totalSlides);
|
||||
|
||||
});
|
||||
|
||||
@@ -671,13 +671,6 @@ namespace Ink_Canvas
|
||||
SaveSettingsToFile();
|
||||
}
|
||||
|
||||
private void ToggleSwitchSkipAnimationsWhenGoNext_OnToggled(object sender, RoutedEventArgs e)
|
||||
{
|
||||
if (!isLoaded) return;
|
||||
Settings.PowerPointSettings.SkipAnimationsWhenGoNext = ToggleSwitchSkipAnimationsWhenGoNext.IsOn;
|
||||
SaveSettingsToFile();
|
||||
}
|
||||
|
||||
private void PPTLSButtonOpacityValueSlider_ValueChanged(object sender, RoutedEventArgs e)
|
||||
{
|
||||
if (!isLoaded) return;
|
||||
|
||||
Reference in New Issue
Block a user