add:PPT动画跳过
This commit is contained in:
@@ -41,6 +41,12 @@ namespace Ink_Canvas.Helpers
|
|||||||
set => _inner.IsSupportWPS = value;
|
set => _inner.IsSupportWPS = value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public bool SkipAnimationsWhenNavigating
|
||||||
|
{
|
||||||
|
get => _inner.SkipAnimationsWhenNavigating;
|
||||||
|
set => _inner.SkipAnimationsWhenNavigating = value;
|
||||||
|
}
|
||||||
|
|
||||||
public int SlidesCount => _inner.SlidesCount;
|
public int SlidesCount => _inner.SlidesCount;
|
||||||
|
|
||||||
public object PPTApplication => _inner.PPTApplication;
|
public object PPTApplication => _inner.PPTApplication;
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ namespace Ink_Canvas.Helpers
|
|||||||
bool IsConnected { get; }
|
bool IsConnected { get; }
|
||||||
bool IsInSlideShow { get; }
|
bool IsInSlideShow { get; }
|
||||||
bool IsSupportWPS { get; set; }
|
bool IsSupportWPS { get; set; }
|
||||||
|
bool SkipAnimationsWhenNavigating { get; set; }
|
||||||
int SlidesCount { get; }
|
int SlidesCount { get; }
|
||||||
|
|
||||||
object PPTApplication { get; }
|
object PPTApplication { get; }
|
||||||
|
|||||||
@@ -125,6 +125,8 @@ namespace Ink_Canvas.Helpers
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
public bool IsSupportWPS { get; set; } = false;
|
public bool IsSupportWPS { get; set; } = false;
|
||||||
|
public bool SkipAnimationsWhenNavigating { get; set; } = false;
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region Private Fields
|
#region Private Fields
|
||||||
@@ -883,7 +885,8 @@ namespace Ink_Canvas.Helpers
|
|||||||
if (slideShowWindow != null)
|
if (slideShowWindow != null)
|
||||||
{
|
{
|
||||||
dynamic sswObj = slideShowWindow;
|
dynamic sswObj = slideShowWindow;
|
||||||
sswObj.Activate();
|
if (!SkipAnimationsWhenNavigating)
|
||||||
|
sswObj.Activate();
|
||||||
view = sswObj.View;
|
view = sswObj.View;
|
||||||
if (view != null)
|
if (view != null)
|
||||||
{
|
{
|
||||||
@@ -936,7 +939,8 @@ namespace Ink_Canvas.Helpers
|
|||||||
if (slideShowWindow != null)
|
if (slideShowWindow != null)
|
||||||
{
|
{
|
||||||
dynamic sswObj = slideShowWindow;
|
dynamic sswObj = slideShowWindow;
|
||||||
sswObj.Activate();
|
if (!SkipAnimationsWhenNavigating)
|
||||||
|
sswObj.Activate();
|
||||||
view = sswObj.View;
|
view = sswObj.View;
|
||||||
if (view != null)
|
if (view != null)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -124,6 +124,7 @@ namespace Ink_Canvas.Helpers
|
|||||||
}
|
}
|
||||||
|
|
||||||
public bool IsSupportWPS { get; set; } = false;
|
public bool IsSupportWPS { get; set; } = false;
|
||||||
|
public bool SkipAnimationsWhenNavigating { get; set; } = false;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 当前演示文稿的总页数(每次按需计算,不缓存 COM 对象)。
|
/// 当前演示文稿的总页数(每次按需计算,不缓存 COM 对象)。
|
||||||
@@ -734,7 +735,8 @@ namespace Ink_Canvas.Helpers
|
|||||||
if (slideShowWindow != null)
|
if (slideShowWindow != null)
|
||||||
{
|
{
|
||||||
dynamic sswObj = slideShowWindow;
|
dynamic sswObj = slideShowWindow;
|
||||||
sswObj.Activate();
|
if (!SkipAnimationsWhenNavigating)
|
||||||
|
sswObj.Activate();
|
||||||
view = sswObj.View;
|
view = sswObj.View;
|
||||||
if (view != null)
|
if (view != null)
|
||||||
{
|
{
|
||||||
@@ -788,7 +790,8 @@ namespace Ink_Canvas.Helpers
|
|||||||
if (slideShowWindow != null)
|
if (slideShowWindow != null)
|
||||||
{
|
{
|
||||||
dynamic sswObj = slideShowWindow;
|
dynamic sswObj = slideShowWindow;
|
||||||
sswObj.Activate();
|
if (!SkipAnimationsWhenNavigating)
|
||||||
|
sswObj.Activate();
|
||||||
view = sswObj.View;
|
view = sswObj.View;
|
||||||
if (view != null)
|
if (view != null)
|
||||||
{
|
{
|
||||||
@@ -842,7 +845,8 @@ namespace Ink_Canvas.Helpers
|
|||||||
if (slideShowWindow != null)
|
if (slideShowWindow != null)
|
||||||
{
|
{
|
||||||
dynamic sswObj = slideShowWindow;
|
dynamic sswObj = slideShowWindow;
|
||||||
sswObj.Activate();
|
if (!SkipAnimationsWhenNavigating)
|
||||||
|
sswObj.Activate();
|
||||||
view = sswObj.View;
|
view = sswObj.View;
|
||||||
if (view != null)
|
if (view != null)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1517,6 +1517,15 @@
|
|||||||
IsOn="False" FontFamily="Microsoft YaHei UI" FontWeight="Bold"
|
IsOn="False" FontFamily="Microsoft YaHei UI" FontWeight="Bold"
|
||||||
Toggled="ToggleSwitchPowerPointEnhancement_Toggled" />
|
Toggled="ToggleSwitchPowerPointEnhancement_Toggled" />
|
||||||
</ui:SimpleStackPanel>
|
</ui:SimpleStackPanel>
|
||||||
|
<ui:SimpleStackPanel Orientation="Horizontal" HorizontalAlignment="Left">
|
||||||
|
<Image Source="/Resources/Icons-png/Powerpoint.png" Margin="0,0,6,0" Width="28"
|
||||||
|
Height="28" VerticalAlignment="Center" />
|
||||||
|
<TextBlock Foreground="#fafafa" Text="抢占焦点放映(用于跳过PPT动画)" VerticalAlignment="Center"
|
||||||
|
FontSize="14" Margin="0,0,16,0" />
|
||||||
|
<ui:ToggleSwitch OnContent="" OffContent="" Name="ToggleSwitchSkipAnimationsWhenGoNext"
|
||||||
|
IsOn="False" FontFamily="Microsoft YaHei UI" FontWeight="Bold"
|
||||||
|
Toggled="ToggleSwitchSkipAnimationsWhenGoNext_Toggled" />
|
||||||
|
</ui:SimpleStackPanel>
|
||||||
<ui:SimpleStackPanel Orientation="Horizontal" HorizontalAlignment="Left">
|
<ui:SimpleStackPanel Orientation="Horizontal" HorizontalAlignment="Left">
|
||||||
<Image Source="/Resources/Icons-png/Powerpoint.png" Margin="0,0,6,0" Width="28"
|
<Image Source="/Resources/Icons-png/Powerpoint.png" Margin="0,0,6,0" Width="28"
|
||||||
Height="28" VerticalAlignment="Center" />
|
Height="28" VerticalAlignment="Center" />
|
||||||
|
|||||||
@@ -244,6 +244,7 @@ namespace Ink_Canvas
|
|||||||
}
|
}
|
||||||
|
|
||||||
_pptManager.IsSupportWPS = Settings.PowerPointSettings.IsSupportWPS;
|
_pptManager.IsSupportWPS = Settings.PowerPointSettings.IsSupportWPS;
|
||||||
|
_pptManager.SkipAnimationsWhenNavigating = Settings.PowerPointSettings.SkipAnimationsWhenGoNext;
|
||||||
|
|
||||||
// 注册事件
|
// 注册事件
|
||||||
_pptManager.PPTConnectionChanged += OnPPTConnectionChanged;
|
_pptManager.PPTConnectionChanged += OnPPTConnectionChanged;
|
||||||
@@ -1005,11 +1006,13 @@ namespace Ink_Canvas
|
|||||||
if (Settings.PowerPointSettings.IsAlwaysGoToFirstPageOnReenter)
|
if (Settings.PowerPointSettings.IsAlwaysGoToFirstPageOnReenter)
|
||||||
{
|
{
|
||||||
_pptManager?.TryNavigateToSlide(1);
|
_pptManager?.TryNavigateToSlide(1);
|
||||||
|
if (Settings.PowerPointSettings.SkipAnimationsWhenGoNext) { try { this.Activate(); } catch { } }
|
||||||
}
|
}
|
||||||
else if (_shouldNavigateToLastPage && _lastPlaybackPage > 0)
|
else if (_shouldNavigateToLastPage && _lastPlaybackPage > 0)
|
||||||
{
|
{
|
||||||
_pptManager?.TryNavigateToSlide(_lastPlaybackPage);
|
_pptManager?.TryNavigateToSlide(_lastPlaybackPage);
|
||||||
_shouldNavigateToLastPage = false; // 重置标志位
|
_shouldNavigateToLastPage = false; // 重置标志位
|
||||||
|
if (Settings.PowerPointSettings.SkipAnimationsWhenGoNext) { try { this.Activate(); } catch { } }
|
||||||
}
|
}
|
||||||
|
|
||||||
// 更新UI状态
|
// 更新UI状态
|
||||||
@@ -1428,6 +1431,7 @@ namespace Ink_Canvas
|
|||||||
if (Settings.PowerPointSettings.IsAlwaysGoToFirstPageOnReenter)
|
if (Settings.PowerPointSettings.IsAlwaysGoToFirstPageOnReenter)
|
||||||
{
|
{
|
||||||
_pptManager?.TryNavigateToSlide(1);
|
_pptManager?.TryNavigateToSlide(1);
|
||||||
|
if (Settings.PowerPointSettings.SkipAnimationsWhenGoNext) { try { this.Activate(); } catch { } }
|
||||||
}
|
}
|
||||||
else if (Settings.PowerPointSettings.IsNotifyPreviousPage)
|
else if (Settings.PowerPointSettings.IsNotifyPreviousPage)
|
||||||
{
|
{
|
||||||
@@ -1483,6 +1487,7 @@ namespace Ink_Canvas
|
|||||||
{
|
{
|
||||||
pres.Windows[1].View.GotoSlide(page);
|
pres.Windows[1].View.GotoSlide(page);
|
||||||
}
|
}
|
||||||
|
if (Settings.PowerPointSettings.SkipAnimationsWhenGoNext) { try { this.Activate(); } catch { } }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
@@ -1876,10 +1881,25 @@ namespace Ink_Canvas
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 更新PPT管理器的WPS支持设置
|
// 更新PPT管理器的WPS支持设置与翻页跳过动画设置
|
||||||
if (_pptManager != null)
|
if (_pptManager != null)
|
||||||
{
|
{
|
||||||
_pptManager.IsSupportWPS = Settings.PowerPointSettings.IsSupportWPS;
|
_pptManager.IsSupportWPS = Settings.PowerPointSettings.IsSupportWPS;
|
||||||
|
_pptManager.SkipAnimationsWhenNavigating = Settings.PowerPointSettings.SkipAnimationsWhenGoNext;
|
||||||
|
}
|
||||||
|
|
||||||
|
SaveSettingsToFile();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ToggleSwitchSkipAnimationsWhenGoNext_Toggled(object sender, RoutedEventArgs e)
|
||||||
|
{
|
||||||
|
if (!isLoaded) return;
|
||||||
|
|
||||||
|
Settings.PowerPointSettings.SkipAnimationsWhenGoNext = ToggleSwitchSkipAnimationsWhenGoNext.IsOn;
|
||||||
|
|
||||||
|
if (_pptManager != null)
|
||||||
|
{
|
||||||
|
_pptManager.SkipAnimationsWhenNavigating = Settings.PowerPointSettings.SkipAnimationsWhenGoNext;
|
||||||
}
|
}
|
||||||
|
|
||||||
SaveSettingsToFile();
|
SaveSettingsToFile();
|
||||||
@@ -1923,6 +1943,11 @@ namespace Ink_Canvas
|
|||||||
// 执行翻页
|
// 执行翻页
|
||||||
if (_pptManager?.TryNavigatePrevious() == true)
|
if (_pptManager?.TryNavigatePrevious() == true)
|
||||||
{
|
{
|
||||||
|
// 若启用了“翻页时跳过PPT动画”,显示导航后把焦点拉回本窗口
|
||||||
|
if (Settings.PowerPointSettings.SkipAnimationsWhenGoNext)
|
||||||
|
{
|
||||||
|
try { this.Activate(); } catch { }
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -1961,6 +1986,17 @@ namespace Ink_Canvas
|
|||||||
// 执行翻页
|
// 执行翻页
|
||||||
if (_pptManager?.TryNavigateNext() == true)
|
if (_pptManager?.TryNavigateNext() == true)
|
||||||
{
|
{
|
||||||
|
// 若启用了“翻页时跳过PPT动画”,翻页后主动把焦点拉回本窗口,避免 PPT 抢焦点
|
||||||
|
if (Settings.PowerPointSettings.SkipAnimationsWhenGoNext)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
this.Activate();
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -2097,6 +2133,11 @@ namespace Ink_Canvas
|
|||||||
if (_pptManager.TryShowSlideNavigation())
|
if (_pptManager.TryShowSlideNavigation())
|
||||||
{
|
{
|
||||||
LogHelper.WriteLogToFile("成功显示PPT幻灯片导航", LogHelper.LogType.Trace);
|
LogHelper.WriteLogToFile("成功显示PPT幻灯片导航", LogHelper.LogType.Trace);
|
||||||
|
// 若启用了“翻页时跳过PPT动画”,显示导航后把焦点拉回本窗口
|
||||||
|
if (Settings.PowerPointSettings.SkipAnimationsWhenGoNext)
|
||||||
|
{
|
||||||
|
try { this.Activate(); } catch { }
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -680,6 +680,8 @@ namespace Ink_Canvas
|
|||||||
|
|
||||||
ToggleSwitchSupportWPS.IsOn = Settings.PowerPointSettings.IsSupportWPS;
|
ToggleSwitchSupportWPS.IsOn = Settings.PowerPointSettings.IsSupportWPS;
|
||||||
|
|
||||||
|
ToggleSwitchSkipAnimationsWhenGoNext.IsOn = Settings.PowerPointSettings.SkipAnimationsWhenGoNext;
|
||||||
|
|
||||||
ToggleSwitchPowerPointEnhancement.IsOn = Settings.PowerPointSettings.EnablePowerPointEnhancement;
|
ToggleSwitchPowerPointEnhancement.IsOn = Settings.PowerPointSettings.EnablePowerPointEnhancement;
|
||||||
|
|
||||||
ToggleSwitchAutoSaveScreenShotInPowerPoint.IsOn =
|
ToggleSwitchAutoSaveScreenShotInPowerPoint.IsOn =
|
||||||
|
|||||||
Reference in New Issue
Block a user