From a9da8dc10c6e7b8592af9bf99f511f1f5a64bbb6 Mon Sep 17 00:00:00 2001 From: CJKmkp <2564608840@qq.com> Date: Mon, 22 Sep 2025 11:48:05 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E8=BF=9B=E5=85=A5PPT=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E6=94=B6=E7=BA=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Ink Canvas/MainWindow_cs/MW_PPT.cs | 34 +++++++++++++++++++++--------- 1 file changed, 24 insertions(+), 10 deletions(-) diff --git a/Ink Canvas/MainWindow_cs/MW_PPT.cs b/Ink Canvas/MainWindow_cs/MW_PPT.cs index eb444b73..4875a08a 100644 --- a/Ink Canvas/MainWindow_cs/MW_PPT.cs +++ b/Ink Canvas/MainWindow_cs/MW_PPT.cs @@ -619,7 +619,7 @@ namespace Ink_Canvas { try { - // 记录进入放映时浮动栏收纳状态 + // 始终记录进入放映时浮动栏收纳状态,用于退出时恢复 wasFloatingBarFoldedWhenEnterSlideShow = isFloatingBarFolded; if (Settings.Automation.IsAutoFoldInPPTSlideShow) @@ -629,8 +629,11 @@ namespace Ink_Canvas } else { - // 如果关闭了自动收纳功能,重置状态记录,确保退出时不会错误收纳 - wasFloatingBarFoldedWhenEnterSlideShow = false; + // 如果关闭了PPT自动收纳功能,但用户当前在收纳模式下,进入PPT时取消收纳以提供更好的使用体验 + if (isFloatingBarFolded) + { + await UnFoldFloatingBar(new object()); + } } isStopInkReplay = true; @@ -781,10 +784,8 @@ namespace Ink_Canvas { try { - // 处理浮动栏状态:根据自动收纳功能状态和进入前的状态恢复 - if (Settings.Automation.IsAutoFoldInPPTSlideShow) + if (Settings.Automation.IsAutoFoldAfterPPTSlideShow) { - // 只有在启用自动收纳功能时才根据记录的状态恢复 if (wasFloatingBarFoldedWhenEnterSlideShow) { if (!isFloatingBarFolded) FoldFloatingBar_MouseUp(new object(), null); @@ -793,14 +794,27 @@ namespace Ink_Canvas { if (isFloatingBarFolded) await UnFoldFloatingBar(new object()); } + } else { - // 如果关闭了自动收纳功能,确保浮动栏展开 - if (isFloatingBarFolded) + if (Settings.Automation.IsAutoFoldInPPTSlideShow) { - await UnFoldFloatingBar(new object()); - LogHelper.WriteLogToFile("PPT自动收纳功能已关闭,强制展开浮动栏", LogHelper.LogType.Trace); + if (wasFloatingBarFoldedWhenEnterSlideShow) + { + if (!isFloatingBarFolded) FoldFloatingBar_MouseUp(new object(), null); + } + else + { + if (isFloatingBarFolded) await UnFoldFloatingBar(new object()); + } + } + else + { + if (isFloatingBarFolded) + { + await UnFoldFloatingBar(new object()); + } } }