add:退出PPT放映自动恢复收纳模式 #38
This commit is contained in:
@@ -2446,8 +2446,16 @@
|
||||
IsOn="False" FontFamily="Microsoft YaHei UI" FontWeight="Bold"
|
||||
Toggled="ToggleSwitchAutoEnterAnnotationModeWhenExitFoldMode_Toggled" />
|
||||
</ui:SimpleStackPanel>
|
||||
|
||||
<TextBlock Text="# 开启后,退出收纳模式时将自动切换至批注模式,便于快速批注" TextWrapping="Wrap" Foreground="#a1a1aa" />
|
||||
<ui:SimpleStackPanel Orientation="Horizontal" HorizontalAlignment="Left">
|
||||
<TextBlock Foreground="#fafafa" Text="退出PPT放映后自动恢复浮动栏状态"
|
||||
VerticalAlignment="Center" FontSize="14" Margin="0,0,16,0" />
|
||||
<ui:ToggleSwitch OnContent="" OffContent=""
|
||||
Name="ToggleSwitchAutoFoldAfterPPTSlideShow"
|
||||
IsOn="False" FontFamily="Microsoft YaHei UI" FontWeight="Bold"
|
||||
Toggled="ToggleSwitchAutoFoldAfterPPTSlideShow_Toggled" />
|
||||
</ui:SimpleStackPanel>
|
||||
<TextBlock Text="# 开启后,如果进入PPT放映前为收纳模式则退出后也为收纳模式,如果进入前不是收纳模式则退出后也不是收纳模式" TextWrapping="Wrap" Foreground="#a1a1aa" />
|
||||
</ui:SimpleStackPanel>
|
||||
</GroupBox>
|
||||
<GroupBox Name="GroupBoxRandWindow">
|
||||
|
||||
@@ -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 ||
|
||||
|
||||
@@ -323,6 +323,9 @@ namespace Ink_Canvas
|
||||
[JsonProperty("isAutoFoldInPPTSlideShow")]
|
||||
public bool IsAutoFoldInPPTSlideShow { get; set; } = false;
|
||||
|
||||
[JsonProperty("isAutoFoldAfterPPTSlideShow")]
|
||||
public bool IsAutoFoldAfterPPTSlideShow { get; set; } = false;
|
||||
|
||||
[JsonProperty("isAutoKillPptService")]
|
||||
public bool IsAutoKillPptService { get; set; } = false;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user