add:issue #190
This commit is contained in:
@@ -204,32 +204,6 @@ namespace Ink_Canvas.Helpers
|
||||
return LoadSlideStrokes(slideIndex);
|
||||
}
|
||||
|
||||
// 如果有当前墨迹,先保存到正确的页面
|
||||
if (currentStrokes != null && currentStrokes.Count > 0)
|
||||
{
|
||||
// 否则使用传入的页面索引,确保墨迹保存到正确的页面
|
||||
int saveToSlideIndex;
|
||||
if (_lockedSlideIndex > 0 && DateTime.Now < _inkLockUntil && _lockedSlideIndex != slideIndex)
|
||||
{
|
||||
saveToSlideIndex = _lockedSlideIndex;
|
||||
LogHelper.WriteLogToFile($"使用锁定页面保存墨迹: {saveToSlideIndex} -> {slideIndex}", LogHelper.LogType.Trace);
|
||||
}
|
||||
else
|
||||
{
|
||||
saveToSlideIndex = slideIndex;
|
||||
}
|
||||
|
||||
// 确保页面索引有效
|
||||
if (saveToSlideIndex > 0 && saveToSlideIndex < _memoryStreams.Length)
|
||||
{
|
||||
SaveCurrentSlideStrokes(saveToSlideIndex, currentStrokes);
|
||||
LogHelper.WriteLogToFile($"已保存第{saveToSlideIndex}页墨迹,墨迹数量: {currentStrokes.Count}", LogHelper.LogType.Trace);
|
||||
}
|
||||
else
|
||||
{
|
||||
LogHelper.WriteLogToFile($"页面索引无效,无法保存墨迹: {saveToSlideIndex}", LogHelper.LogType.Warning);
|
||||
}
|
||||
}
|
||||
|
||||
// 设置墨迹锁定
|
||||
LockInkForSlide(slideIndex);
|
||||
|
||||
@@ -1096,7 +1096,18 @@ namespace Ink_Canvas
|
||||
{
|
||||
try
|
||||
{
|
||||
var newStrokes = _multiPPTInkManager?.SwitchToSlide(newSlideIndex, inkCanvas.Strokes);
|
||||
// 获取当前页面索引
|
||||
var currentSlideIndex = _pptManager?.GetCurrentSlideNumber() ?? 0;
|
||||
|
||||
// 如果有当前墨迹且不是第一次切换,先保存到当前页面
|
||||
if (inkCanvas.Strokes.Count > 0 && currentSlideIndex > 0 && currentSlideIndex != newSlideIndex)
|
||||
{
|
||||
_multiPPTInkManager?.SaveCurrentSlideStrokes(currentSlideIndex, inkCanvas.Strokes);
|
||||
LogHelper.WriteLogToFile($"切换前保存第{currentSlideIndex}页墨迹,墨迹数量: {inkCanvas.Strokes.Count}", LogHelper.LogType.Trace);
|
||||
}
|
||||
|
||||
// 切换到新页面并加载墨迹
|
||||
var newStrokes = _multiPPTInkManager?.SwitchToSlide(newSlideIndex, null);
|
||||
if (newStrokes != null)
|
||||
{
|
||||
inkCanvas.Strokes.Clear();
|
||||
|
||||
Reference in New Issue
Block a user