add:退出PPT放映自动恢复收纳模式 #38
This commit is contained in:
@@ -78,6 +78,9 @@ namespace Ink_Canvas {
|
||||
public static Slide slide = null;
|
||||
public static int slidescount = 0;
|
||||
|
||||
// 在类中添加字段
|
||||
private bool wasFloatingBarFoldedWhenEnterSlideShow = false;
|
||||
|
||||
private void BtnCheckPPT_Click(object sender, RoutedEventArgs e) {
|
||||
try {
|
||||
pptApplication =
|
||||
@@ -579,6 +582,8 @@ namespace Ink_Canvas {
|
||||
|
||||
private async void PptApplication_SlideShowBegin(SlideShowWindow Wn) {
|
||||
try {
|
||||
// 记录进入放映时浮动栏收纳状态
|
||||
wasFloatingBarFoldedWhenEnterSlideShow = isFloatingBarFolded;
|
||||
|
||||
if (Settings.Automation.IsAutoFoldInPPTSlideShow && !isFloatingBarFolded)
|
||||
await FoldFloatingBar(new object());
|
||||
@@ -728,7 +733,12 @@ namespace Ink_Canvas {
|
||||
|
||||
private async void PptApplication_SlideShowEnd(Presentation Pres) {
|
||||
try {
|
||||
if (isFloatingBarFolded) await UnFoldFloatingBar(new object());
|
||||
// 新增逻辑:如果设置开启且进入PPT放映时浮动栏是收纳的,退出时也自动收纳;否则自动展开
|
||||
if (Settings.Automation.IsAutoFoldAfterPPTSlideShow && wasFloatingBarFoldedWhenEnterSlideShow) {
|
||||
if (!isFloatingBarFolded) await FoldFloatingBar(new object());
|
||||
} else {
|
||||
if (isFloatingBarFolded) await UnFoldFloatingBar(new object());
|
||||
}
|
||||
|
||||
// 记录 WPP 进程 ID,用于后续检测未关闭的进程
|
||||
if (pptApplication != null)
|
||||
|
||||
@@ -2171,5 +2171,11 @@ namespace Ink_Canvas {
|
||||
Settings.Canvas.IsCompressPicturesUploaded = ToggleSwitchCompressPicturesUploaded.IsOn;
|
||||
SaveSettingsToFile();
|
||||
}
|
||||
|
||||
private void ToggleSwitchAutoFoldAfterPPTSlideShow_Toggled(object sender, RoutedEventArgs e) {
|
||||
if (!isLoaded) return;
|
||||
Settings.Automation.IsAutoFoldAfterPPTSlideShow = ToggleSwitchAutoFoldAfterPPTSlideShow.IsOn;
|
||||
SaveSettingsToFile();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -683,6 +683,8 @@ namespace Ink_Canvas {
|
||||
|
||||
ToggleSwitchAutoFoldInPPTSlideShow.IsOn = Settings.Automation.IsAutoFoldInPPTSlideShow;
|
||||
|
||||
ToggleSwitchAutoFoldAfterPPTSlideShow.IsOn = Settings.Automation.IsAutoFoldAfterPPTSlideShow;
|
||||
|
||||
if (Settings.Automation.IsAutoKillEasiNote || Settings.Automation.IsAutoKillPptService ||
|
||||
Settings.Automation.IsAutoKillHiteAnnotation || Settings.Automation.IsAutoKillInkCanvas
|
||||
|| Settings.Automation.IsAutoKillICA || Settings.Automation.IsAutoKillIDT ||
|
||||
|
||||
Reference in New Issue
Block a user