add:issue #190
This commit is contained in:
@@ -204,32 +204,6 @@ namespace Ink_Canvas.Helpers
|
|||||||
return LoadSlideStrokes(slideIndex);
|
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);
|
LockInkForSlide(slideIndex);
|
||||||
|
|||||||
@@ -1096,7 +1096,18 @@ namespace Ink_Canvas
|
|||||||
{
|
{
|
||||||
try
|
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)
|
if (newStrokes != null)
|
||||||
{
|
{
|
||||||
inkCanvas.Strokes.Clear();
|
inkCanvas.Strokes.Clear();
|
||||||
|
|||||||
Reference in New Issue
Block a user