[update] 优化自动收纳行为和FoldFloatingBar函数的相关Bug修复,优化设置页面

This commit is contained in:
Dubi906w 2024-06-11 21:42:58 +08:00
parent 2fe6ee6408
commit 155d8b7e81
11 changed files with 4008 additions and 3511 deletions

View File

@ -76,5 +76,22 @@ namespace Ink_Canvas.Helpers
return "Unknown"; return "Unknown";
} }
} }
public static string ProcessPath()
{
IntPtr foregroundWindowHandle = GetForegroundWindow();
uint processId;
GetWindowThreadProcessId(foregroundWindowHandle, out processId);
try
{
Process process = Process.GetProcessById((int)processId);
return process.MainModule.FileName;
}
catch {
// Process with the given ID not found
return "Unknown";
}
}
} }
} }

View File

@ -190,6 +190,7 @@
<Resource Include="Resources\DeveloperAvatars\wwei.png" /> <Resource Include="Resources\DeveloperAvatars\wwei.png" />
<Resource Include="Resources\DeveloperAvatars\yuwenhui2020.png" /> <Resource Include="Resources\DeveloperAvatars\yuwenhui2020.png" />
<Resource Include="Resources\Icons-png\check-box-background.png" /> <Resource Include="Resources\Icons-png\check-box-background.png" />
<Resource Include="Resources\Icons-png\EasiNote3.png" />
<Resource Include="Resources\Icons-png\eraser-line.png" /> <Resource Include="Resources\Icons-png\eraser-line.png" />
<Resource Include="Resources\Icons-png\eraser-outline.png" /> <Resource Include="Resources\Icons-png\eraser-outline.png" />
<Resource Include="Resources\Icons-png\HiteLightBoard.png" /> <Resource Include="Resources\Icons-png\HiteLightBoard.png" />
@ -477,6 +478,7 @@
<None Remove="Resources\DeveloperAvatars\RaspberryKan.jpg" /> <None Remove="Resources\DeveloperAvatars\RaspberryKan.jpg" />
<None Remove="Resources\DeveloperAvatars\wwei.png" /> <None Remove="Resources\DeveloperAvatars\wwei.png" />
<None Remove="Resources\DeveloperAvatars\yuwenhui2020.png" /> <None Remove="Resources\DeveloperAvatars\yuwenhui2020.png" />
<None Remove="Resources\Icons-png\EasiNote3.png" />
<None Remove="Resources\Icons-png\HiteAnnotation.png" /> <None Remove="Resources\Icons-png\HiteAnnotation.png" />
<None Remove="Resources\Icons-png\HiteLightBoard.png" /> <None Remove="Resources\Icons-png\HiteLightBoard.png" />
<None Remove="Resources\Icons-png\icc-transparent-dark-small.png" /> <None Remove="Resources\Icons-png\icc-transparent-dark-small.png" />

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +1,11 @@
using Ink_Canvas.Helpers; using Ink_Canvas.Helpers;
using iNKORE.UI.WPF.Modern;
using System; using System;
using System.Diagnostics;
using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
using System.Windows; using System.Windows;
using System.Windows.Controls;
using System.Windows.Input; using System.Windows.Input;
using System.Windows.Media; using System.Windows.Media;
using System.Windows.Media.Animation; using System.Windows.Media.Animation;
@ -11,6 +15,26 @@ namespace Ink_Canvas {
public partial class MainWindow : Window { public partial class MainWindow : Window {
private bool isFloatingBarFolded = false, isFloatingBarChangingHideMode = false; private bool isFloatingBarFolded = false, isFloatingBarChangingHideMode = false;
private void CloseWhiteboardImmediately() {
if (isDisplayingOrHidingBlackboard) return;
isDisplayingOrHidingBlackboard = true;
HideSubPanelsImmediately();
if (Settings.Gesture.AutoSwitchTwoFingerGesture) // 自动启用多指书写
ToggleSwitchEnableTwoFingerTranslate.IsOn = false;
WaterMarkTime.Visibility = Visibility.Collapsed;
WaterMarkDate.Visibility = Visibility.Collapsed;
BlackBoardWaterMark.Visibility = Visibility.Collapsed;
ICCWaterMarkDark.Visibility = Visibility.Collapsed;
ICCWaterMarkWhite.Visibility = Visibility.Collapsed;
BtnSwitch_Click(BtnSwitch, null);
BtnExit.Foreground = Brushes.White;
ThemeManager.Current.ApplicationTheme = ApplicationTheme.Dark;
new Thread(new ThreadStart(() => {
Thread.Sleep(200);
Application.Current.Dispatcher.Invoke(() => { isDisplayingOrHidingBlackboard = false; });
})).Start();
}
private async void FoldFloatingBar_MouseUp(object sender, MouseButtonEventArgs e) { private async void FoldFloatingBar_MouseUp(object sender, MouseButtonEventArgs e) {
// FloatingBarIcons_MouseUp_New(sender); // FloatingBarIcons_MouseUp_New(sender);
if (sender == null) if (sender == null)
@ -23,17 +47,12 @@ namespace Ink_Canvas {
await Dispatcher.InvokeAsync(() => { await Dispatcher.InvokeAsync(() => {
InkCanvasForInkReplay.Visibility = Visibility.Collapsed; InkCanvasForInkReplay.Visibility = Visibility.Collapsed;
inkCanvas.Visibility = Visibility.Visible; InkCanvasGridForInkReplay.Visibility = Visibility.Visible;
if (currentMode == 1) InkCanvasGridForInkReplay.IsHitTestVisible = true;
{ FloatingbarUIForInkReplay.Visibility = Visibility.Visible;
ViewboxBlackboardLeftSide.Visibility = Visibility.Visible; FloatingbarUIForInkReplay.IsHitTestVisible = true;
ViewboxBlackboardRightSide.Visibility = Visibility.Visible; BlackboardUIGridForInkReplay.Visibility = Visibility.Visible;
BlackboardCenterSide.Visibility = Visibility.Visible; BlackboardUIGridForInkReplay.IsHitTestVisible = true;
}
else
{
ViewboxFloatingBar.Visibility = Visibility.Visible;
}
AnimationsHelper.HideWithFadeOut(BorderInkReplayToolBox); AnimationsHelper.HideWithFadeOut(BorderInkReplayToolBox);
isStopInkReplay = true; isStopInkReplay = true;
}); });
@ -41,16 +60,15 @@ namespace Ink_Canvas {
await Dispatcher.InvokeAsync(() => { await Dispatcher.InvokeAsync(() => {
isFloatingBarChangingHideMode = true; isFloatingBarChangingHideMode = true;
isFloatingBarFolded = true; isFloatingBarFolded = true;
if (currentMode != 0) ImageBlackboard_MouseUp(null, null); if (currentMode != 0) CloseWhiteboardImmediately();
if (StackPanelCanvasControls.Visibility == Visibility.Visible) if (StackPanelCanvasControls.Visibility == Visibility.Visible)
if (foldFloatingBarByUser && inkCanvas.Strokes.Count > 2) if (foldFloatingBarByUser && inkCanvas.Strokes.Count > 2)
ShowNotification("正在清空墨迹并收纳至侧边栏,可进入批注模式后通过【撤销】功能来恢复原先墨迹。"); ShowNotification("正在清空墨迹并收纳至侧边栏,可进入批注模式后通过【撤销】功能来恢复原先墨迹。");
lastBorderMouseDownObject = sender; lastBorderMouseDownObject = sender;
CursorWithDelIcon_Click(sender, null); CursorWithDelIcon_Click(sender, null);
SidePannelMarginAnimation(-10);
}); });
await Task.Delay(50); await Task.Delay(10);
await Dispatcher.InvokeAsync(() => { await Dispatcher.InvokeAsync(() => {
BottomViewboxPPTSidesControl.Visibility = Visibility.Collapsed; BottomViewboxPPTSidesControl.Visibility = Visibility.Collapsed;

View File

@ -779,11 +779,12 @@ namespace Ink_Canvas {
CollapseBorderDrawShape(); CollapseBorderDrawShape();
InkCanvasForInkReplay.Visibility = Visibility.Visible; InkCanvasForInkReplay.Visibility = Visibility.Visible;
inkCanvas.Visibility = Visibility.Collapsed; InkCanvasGridForInkReplay.Visibility = Visibility.Hidden;
ViewboxFloatingBar.Visibility = Visibility.Collapsed; InkCanvasGridForInkReplay.IsHitTestVisible = false;
ViewboxBlackboardLeftSide.Visibility = Visibility.Collapsed; FloatingbarUIForInkReplay.Visibility = Visibility.Hidden;
ViewboxBlackboardRightSide.Visibility = Visibility.Collapsed; FloatingbarUIForInkReplay.IsHitTestVisible = false;
BlackboardCenterSide.Visibility = Visibility.Collapsed; BlackboardUIGridForInkReplay.Visibility = Visibility.Hidden;
BlackboardUIGridForInkReplay.IsHitTestVisible = false;
AnimationsHelper.ShowWithFadeIn(BorderInkReplayToolBox); AnimationsHelper.ShowWithFadeIn(BorderInkReplayToolBox);
InkReplayPanelStatusText.Text = "正在重播墨迹..."; InkReplayPanelStatusText.Text = "正在重播墨迹...";
@ -875,8 +876,13 @@ namespace Ink_Canvas {
Thread.Sleep(100); Thread.Sleep(100);
Application.Current.Dispatcher.Invoke(() => { Application.Current.Dispatcher.Invoke(() => {
InkCanvasForInkReplay.Visibility = Visibility.Collapsed; InkCanvasForInkReplay.Visibility = Visibility.Collapsed;
inkCanvas.Visibility = Visibility.Visible; InkCanvasGridForInkReplay.Visibility = Visibility.Visible;
InkCanvasGridForInkReplay.IsHitTestVisible = true;
AnimationsHelper.HideWithFadeOut(BorderInkReplayToolBox); AnimationsHelper.HideWithFadeOut(BorderInkReplayToolBox);
FloatingbarUIForInkReplay.Visibility = Visibility.Visible;
FloatingbarUIForInkReplay.IsHitTestVisible = true;
BlackboardUIGridForInkReplay.Visibility = Visibility.Visible;
BlackboardUIGridForInkReplay.IsHitTestVisible = true;
}); });
}).Start(); }).Start();
} }
@ -889,11 +895,12 @@ namespace Ink_Canvas {
private void InkCanvasForInkReplay_MouseDown(object sender, MouseButtonEventArgs e) { private void InkCanvasForInkReplay_MouseDown(object sender, MouseButtonEventArgs e) {
if (e.ClickCount == 2) { if (e.ClickCount == 2) {
InkCanvasForInkReplay.Visibility = Visibility.Collapsed; InkCanvasForInkReplay.Visibility = Visibility.Collapsed;
inkCanvas.Visibility = Visibility.Visible; InkCanvasGridForInkReplay.Visibility = Visibility.Visible;
ViewboxFloatingBar.Visibility = Visibility.Visible; InkCanvasGridForInkReplay.IsHitTestVisible = true;
ViewboxBlackboardLeftSide.Visibility = Visibility.Visible; FloatingbarUIForInkReplay.Visibility = Visibility.Visible;
ViewboxBlackboardRightSide.Visibility = Visibility.Visible; FloatingbarUIForInkReplay.IsHitTestVisible = true;
BlackboardCenterSide.Visibility = Visibility.Visible; BlackboardUIGridForInkReplay.Visibility = Visibility.Visible;
BlackboardUIGridForInkReplay.IsHitTestVisible = true;
AnimationsHelper.HideWithFadeOut(BorderInkReplayToolBox); AnimationsHelper.HideWithFadeOut(BorderInkReplayToolBox);
isStopInkReplay = true; isStopInkReplay = true;
} }
@ -921,11 +928,12 @@ namespace Ink_Canvas {
{ {
InkReplayStopButtonBorder.Background = new SolidColorBrush(Colors.Transparent); InkReplayStopButtonBorder.Background = new SolidColorBrush(Colors.Transparent);
InkCanvasForInkReplay.Visibility = Visibility.Collapsed; InkCanvasForInkReplay.Visibility = Visibility.Collapsed;
inkCanvas.Visibility = Visibility.Visible; InkCanvasGridForInkReplay.Visibility = Visibility.Visible;
ViewboxFloatingBar.Visibility = Visibility.Visible; InkCanvasGridForInkReplay.IsHitTestVisible = true;
ViewboxBlackboardLeftSide.Visibility = Visibility.Visible; FloatingbarUIForInkReplay.Visibility = Visibility.Visible;
ViewboxBlackboardRightSide.Visibility = Visibility.Visible; FloatingbarUIForInkReplay.IsHitTestVisible = true;
BlackboardCenterSide.Visibility = Visibility.Visible; BlackboardUIGridForInkReplay.Visibility = Visibility.Visible;
BlackboardUIGridForInkReplay.IsHitTestVisible = true;
AnimationsHelper.HideWithFadeOut(BorderInkReplayToolBox); AnimationsHelper.HideWithFadeOut(BorderInkReplayToolBox);
isStopInkReplay = true; isStopInkReplay = true;
} }

View File

@ -29,7 +29,7 @@ namespace Ink_Canvas {
private void BtnCheckPPT_Click(object sender, RoutedEventArgs e) { private void BtnCheckPPT_Click(object sender, RoutedEventArgs e) {
try { try {
pptApplication = pptApplication =
(Microsoft.Office.Interop.PowerPoint.Application)Marshal.GetActiveObject("PowerPoint.Application"); (Microsoft.Office.Interop.PowerPoint.Application)Marshal.GetActiveObject("kwpp.Application");
//pptApplication.SlideShowWindows[1].View.Next(); //pptApplication.SlideShowWindows[1].View.Next();
if (pptApplication != null) { if (pptApplication != null) {
//获得演示文稿对象 //获得演示文稿对象
@ -83,8 +83,8 @@ namespace Ink_Canvas {
private void TimerCheckPPT_Elapsed(object sender, ElapsedEventArgs e) { private void TimerCheckPPT_Elapsed(object sender, ElapsedEventArgs e) {
if (IsShowingRestoreHiddenSlidesWindow) return; if (IsShowingRestoreHiddenSlidesWindow) return;
try { try {
var processes = Process.GetProcessesByName("wpp"); //var processes = Process.GetProcessesByName("wpp");
if (processes.Length > 0 && !isWPSSupportOn) return; //if (processes.Length > 0 && !isWPSSupportOn) return;
//使用下方提前创建 PowerPoint 实例,将导致 PowerPoint 不再有启动界面 //使用下方提前创建 PowerPoint 实例,将导致 PowerPoint 不再有启动界面
//pptApplication = (Microsoft.Office.Interop.PowerPoint.Application)Activator.CreateInstance(Marshal.GetTypeFromCLSID(new Guid("91493441-5A91-11CF-8700-00AA0060263B"))); //pptApplication = (Microsoft.Office.Interop.PowerPoint.Application)Activator.CreateInstance(Marshal.GetTypeFromCLSID(new Guid("91493441-5A91-11CF-8700-00AA0060263B")));
@ -228,19 +228,7 @@ namespace Ink_Canvas {
FoldFloatingBar_MouseUp(null, null); FoldFloatingBar_MouseUp(null, null);
else if (isFloatingBarFolded) UnFoldFloatingBar_MouseUp(null, null); else if (isFloatingBarFolded) UnFoldFloatingBar_MouseUp(null, null);
if (!Settings.Automation.IsAutoFoldInPPTSlideShow && !isFloatingBarFolded) { isStopInkReplay=true;
InkCanvasForInkReplay.Visibility = Visibility.Collapsed;
inkCanvas.Visibility = Visibility.Visible;
if (currentMode == 1) {
ViewboxBlackboardLeftSide.Visibility = Visibility.Visible;
ViewboxBlackboardRightSide.Visibility = Visibility.Visible;
BlackboardCenterSide.Visibility = Visibility.Visible;
} else {
ViewboxFloatingBar.Visibility = Visibility.Visible;
}
AnimationsHelper.HideWithFadeOut(BorderInkReplayToolBox);
isStopInkReplay = true;
}
LogHelper.WriteLogToFile("PowerPoint Application Slide Show Begin", LogHelper.LogType.Event); LogHelper.WriteLogToFile("PowerPoint Application Slide Show Begin", LogHelper.LogType.Event);
Application.Current.Dispatcher.Invoke(() => { Application.Current.Dispatcher.Invoke(() => {
@ -270,7 +258,6 @@ namespace Ink_Canvas {
lastDesktopInkColor = 1; lastDesktopInkColor = 1;
slidescount = Wn.Presentation.Slides.Count; slidescount = Wn.Presentation.Slides.Count;
previousSlideID = 0; previousSlideID = 0;
memoryStreams = new MemoryStream[slidescount + 2]; memoryStreams = new MemoryStream[slidescount + 2];
@ -310,11 +297,11 @@ namespace Ink_Canvas {
StackPanelPPTControls.Visibility = Visibility.Visible; StackPanelPPTControls.Visibility = Visibility.Visible;
if (Settings.PowerPointSettings.IsShowBottomPPTNavigationPanel) if (Settings.PowerPointSettings.IsShowBottomPPTNavigationPanel && !isFloatingBarFolded)
AnimationsHelper.ShowWithSlideFromBottomAndFade(BottomViewboxPPTSidesControl); AnimationsHelper.ShowWithSlideFromBottomAndFade(BottomViewboxPPTSidesControl);
else else
BottomViewboxPPTSidesControl.Visibility = Visibility.Collapsed; BottomViewboxPPTSidesControl.Visibility = Visibility.Collapsed;
if (Settings.PowerPointSettings.IsShowSidePPTNavigationPanel) { if (Settings.PowerPointSettings.IsShowSidePPTNavigationPanel && !isFloatingBarFolded) {
AnimationsHelper.ShowWithScaleFromLeft(LeftSidePanelForPPTNavigation); AnimationsHelper.ShowWithScaleFromLeft(LeftSidePanelForPPTNavigation);
AnimationsHelper.ShowWithScaleFromRight(RightSidePanelForPPTNavigation); AnimationsHelper.ShowWithScaleFromRight(RightSidePanelForPPTNavigation);
} }
@ -330,7 +317,7 @@ namespace Ink_Canvas {
ViewboxFloatingBar.Opacity = Settings.Appearance.ViewboxFloatingBarOpacityInPPTValue; ViewboxFloatingBar.Opacity = Settings.Appearance.ViewboxFloatingBarOpacityInPPTValue;
if (Settings.PowerPointSettings.IsShowCanvasAtNewSlideShow && if (Settings.PowerPointSettings.IsShowCanvasAtNewSlideShow &&
GridTransparencyFakeBackground.Background == Brushes.Transparent) { GridTransparencyFakeBackground.Background == Brushes.Transparent && !isFloatingBarFolded) {
if (currentMode != 0) { if (currentMode != 0) {
currentMode = 0; currentMode = 0;
GridBackgroundCover.Visibility = Visibility.Collapsed; GridBackgroundCover.Visibility = Visibility.Collapsed;
@ -359,10 +346,14 @@ namespace Ink_Canvas {
PptNavigationTextBlock.Text = $"{Wn.View.CurrentShowPosition}/{Wn.Presentation.Slides.Count}"; PptNavigationTextBlock.Text = $"{Wn.View.CurrentShowPosition}/{Wn.Presentation.Slides.Count}";
LogHelper.NewLog("PowerPoint Slide Show Loading process complete"); LogHelper.NewLog("PowerPoint Slide Show Loading process complete");
new Thread(new ThreadStart(() => { if (!isFloatingBarFolded)
Thread.Sleep(100); {
Application.Current.Dispatcher.Invoke(() => { ViewboxFloatingBarMarginAnimation(60); }); new Thread(new ThreadStart(() => {
})).Start(); Thread.Sleep(100);
Application.Current.Dispatcher.Invoke(() => { ViewboxFloatingBarMarginAnimation(60); });
})).Start();
}
}); });
} }

View File

@ -530,7 +530,15 @@ namespace Ink_Canvas {
StartOrStoptimerCheckAutoFold(); StartOrStoptimerCheckAutoFold();
} }
private void ToggleSwitchAutoFoldInEasiNote3C_Toggled(object sender, RoutedEventArgs e) { private void ToggleSwitchAutoFoldInEasiNote3_Toggled(object sender, RoutedEventArgs e) {
if (!isLoaded) return;
Settings.Automation.IsAutoFoldInEasiNote3 = ToggleSwitchAutoFoldInEasiNote3.IsOn;
SaveSettingsToFile();
StartOrStoptimerCheckAutoFold();
}
private void ToggleSwitchAutoFoldInEasiNote3C_Toggled(object sender, RoutedEventArgs e)
{
if (!isLoaded) return; if (!isLoaded) return;
Settings.Automation.IsAutoFoldInEasiNote3C = ToggleSwitchAutoFoldInEasiNote3C.IsOn; Settings.Automation.IsAutoFoldInEasiNote3C = ToggleSwitchAutoFoldInEasiNote3C.IsOn;
SaveSettingsToFile(); SaveSettingsToFile();
@ -596,6 +604,16 @@ namespace Ink_Canvas {
private void ToggleSwitchAutoFoldInPPTSlideShow_Toggled(object sender, RoutedEventArgs e) { private void ToggleSwitchAutoFoldInPPTSlideShow_Toggled(object sender, RoutedEventArgs e) {
if (!isLoaded) return; if (!isLoaded) return;
Settings.Automation.IsAutoFoldInPPTSlideShow = ToggleSwitchAutoFoldInPPTSlideShow.IsOn; Settings.Automation.IsAutoFoldInPPTSlideShow = ToggleSwitchAutoFoldInPPTSlideShow.IsOn;
if (Settings.Automation.IsAutoFoldInPPTSlideShow)
{
SettingsPPTInkingAndAutoFoldExplictBorder.Visibility = Visibility.Visible;
SettingsShowCanvasAtNewSlideShowStackPanel.Opacity = 0.5;
SettingsShowCanvasAtNewSlideShowStackPanel.IsHitTestVisible = false;
} else {
SettingsPPTInkingAndAutoFoldExplictBorder.Visibility = Visibility.Collapsed;
SettingsShowCanvasAtNewSlideShowStackPanel.Opacity = 1;
SettingsShowCanvasAtNewSlideShowStackPanel.IsHitTestVisible = true;
}
SaveSettingsToFile(); SaveSettingsToFile();
StartOrStoptimerCheckAutoFold(); StartOrStoptimerCheckAutoFold();
} }
@ -879,6 +897,7 @@ namespace Ink_Canvas {
Settings.Automation.IsAutoFoldInEasiNoteIgnoreDesktopAnno = true; Settings.Automation.IsAutoFoldInEasiNoteIgnoreDesktopAnno = true;
Settings.Automation.IsAutoFoldInEasiCamera = true; Settings.Automation.IsAutoFoldInEasiCamera = true;
Settings.Automation.IsAutoFoldInEasiNote3C = false; Settings.Automation.IsAutoFoldInEasiNote3C = false;
Settings.Automation.IsAutoFoldInEasiNote3 = false;
Settings.Automation.IsAutoFoldInEasiNote5C = true; Settings.Automation.IsAutoFoldInEasiNote5C = true;
Settings.Automation.IsAutoFoldInSeewoPincoTeacher = false; Settings.Automation.IsAutoFoldInSeewoPincoTeacher = false;
Settings.Automation.IsAutoFoldInHiteTouchPro = false; Settings.Automation.IsAutoFoldInHiteTouchPro = false;

View File

@ -497,6 +497,8 @@ namespace Ink_Canvas {
ToggleSwitchAutoFoldInEasiNote3C.IsOn = Settings.Automation.IsAutoFoldInEasiNote3C; ToggleSwitchAutoFoldInEasiNote3C.IsOn = Settings.Automation.IsAutoFoldInEasiNote3C;
ToggleSwitchAutoFoldInEasiNote3.IsOn = Settings.Automation.IsAutoFoldInEasiNote3;
ToggleSwitchAutoFoldInEasiNote5C.IsOn = Settings.Automation.IsAutoFoldInEasiNote5C; ToggleSwitchAutoFoldInEasiNote5C.IsOn = Settings.Automation.IsAutoFoldInEasiNote5C;
ToggleSwitchAutoFoldInSeewoPincoTeacher.IsOn = Settings.Automation.IsAutoFoldInSeewoPincoTeacher; ToggleSwitchAutoFoldInSeewoPincoTeacher.IsOn = Settings.Automation.IsAutoFoldInSeewoPincoTeacher;
@ -513,6 +515,12 @@ namespace Ink_Canvas {
ToggleSwitchAutoFoldInMSWhiteboard.IsOn = Settings.Automation.IsAutoFoldInMSWhiteboard; ToggleSwitchAutoFoldInMSWhiteboard.IsOn = Settings.Automation.IsAutoFoldInMSWhiteboard;
SettingsPPTInkingAndAutoFoldExplictBorder.Visibility = Visibility.Collapsed;
if (Settings.Automation.IsAutoFoldInPPTSlideShow) {
SettingsPPTInkingAndAutoFoldExplictBorder.Visibility = Visibility.Visible;
SettingsShowCanvasAtNewSlideShowStackPanel.Opacity = 0.5;
SettingsShowCanvasAtNewSlideShowStackPanel.IsHitTestVisible = false;
}
ToggleSwitchAutoFoldInPPTSlideShow.IsOn = Settings.Automation.IsAutoFoldInPPTSlideShow; ToggleSwitchAutoFoldInPPTSlideShow.IsOn = Settings.Automation.IsAutoFoldInPPTSlideShow;
if (Settings.Automation.IsAutoKillEasiNote || Settings.Automation.IsAutoKillPptService) { if (Settings.Automation.IsAutoKillEasiNote || Settings.Automation.IsAutoKillPptService) {

View File

@ -56,9 +56,9 @@ namespace Ink_Canvas {
timerCheckPPT.Elapsed += TimerCheckPPT_Elapsed; timerCheckPPT.Elapsed += TimerCheckPPT_Elapsed;
timerCheckPPT.Interval = 500; timerCheckPPT.Interval = 500;
timerKillProcess.Elapsed += TimerKillProcess_Elapsed; timerKillProcess.Elapsed += TimerKillProcess_Elapsed;
timerKillProcess.Interval = 5000; timerKillProcess.Interval = 2000;
timerCheckAutoFold.Elapsed += timerCheckAutoFold_Elapsed; timerCheckAutoFold.Elapsed += timerCheckAutoFold_Elapsed;
timerCheckAutoFold.Interval = 1500; timerCheckAutoFold.Interval = 500;
timerCheckAutoUpdateWithSilence.Elapsed += timerCheckAutoUpdateWithSilence_Elapsed; timerCheckAutoUpdateWithSilence.Elapsed += timerCheckAutoUpdateWithSilence_Elapsed;
timerCheckAutoUpdateWithSilence.Interval = 1000 * 60 * 10; timerCheckAutoUpdateWithSilence.Interval = 1000 * 60 * 10;
WaterMarkTime.DataContext = nowTimeVM; WaterMarkTime.DataContext = nowTimeVM;
@ -133,33 +133,72 @@ namespace Ink_Canvas {
var windowTitle = ForegroundWindowInfo.WindowTitle(); var windowTitle = ForegroundWindowInfo.WindowTitle();
//LogHelper.WriteLogToFile("windowTitle | " + windowTitle + " | windowProcessName | " + windowProcessName); //LogHelper.WriteLogToFile("windowTitle | " + windowTitle + " | windowProcessName | " + windowProcessName);
if ((Settings.Automation.IsAutoFoldInEasiNote && windowProcessName == "EasiNote" // 希沃白板 if (windowProcessName == "EasiNote") {
&& (!(windowTitle.Length == 0 && // 检测到有可能是EasiNote5或者EasiNote3/3C
ForegroundWindowInfo.WindowRect().Height < 500) || if (ForegroundWindowInfo.ProcessPath() != "Unknown") {
!Settings.Automation var versionInfo = FileVersionInfo.GetVersionInfo(ForegroundWindowInfo.ProcessPath());
.IsAutoFoldInEasiNoteIgnoreDesktopAnno)) string version = versionInfo.FileVersion;
|| (Settings.Automation.IsAutoFoldInEasiCamera && windowProcessName == "EasiCamera") // 希沃视频展台 string prodName = versionInfo.ProductName;
|| (Settings.Automation.IsAutoFoldInEasiNote3C && windowProcessName == "EasiNote") // 希沃轻白板3C Trace.WriteLine(ForegroundWindowInfo.ProcessPath());
|| (Settings.Automation.IsAutoFoldInEasiNote5C && windowProcessName == "EasiNote5C") // 希沃轻白板5C Trace.WriteLine(version);
|| (Settings.Automation.IsAutoFoldInSeewoPincoTeacher && (windowProcessName == "BoardService" || Trace.WriteLine(prodName);
windowProcessName == if (version.StartsWith("5.") && Settings.Automation.IsAutoFoldInEasiNote && (!(windowTitle.Length == 0 && ForegroundWindowInfo.WindowRect().Height < 500) ||
"seewoPincoTeacher")) // 希沃品课 !Settings.Automation.IsAutoFoldInEasiNoteIgnoreDesktopAnno)) { // EasiNote5
|| (Settings.Automation.IsAutoFoldInHiteCamera && windowProcessName == "HiteCamera") // 鸿合视频展台 if (!unfoldFloatingBarByUser && !isFloatingBarFolded) FoldFloatingBar_MouseUp(null, null);
|| (Settings.Automation.IsAutoFoldInHiteTouchPro && windowProcessName == "HiteTouchPro") // 鸿合白板 } else if (version.StartsWith("3.") && Settings.Automation.IsAutoFoldInEasiNote3) { // EasiNote3
|| (Settings.Automation.IsAutoFoldInWxBoardMain && windowProcessName == "WxBoardMain") // 文香白板 if (!unfoldFloatingBarByUser && !isFloatingBarFolded) FoldFloatingBar_MouseUp(null, null);
|| (Settings.Automation.IsAutoFoldInMSWhiteboard && (windowProcessName == "MicrosoftWhiteboard" || } else if (prodName.Contains("3C") && Settings.Automation.IsAutoFoldInEasiNote3C &&
windowProcessName == "msedgewebview2")) // 微软白板 ForegroundWindowInfo.WindowRect().Height >= SystemParameters.WorkArea.Height - 16 &&
|| (Settings.Automation.IsAutoFoldInOldZyBoard && // 中原旧白板 ForegroundWindowInfo.WindowRect().Width >= SystemParameters.WorkArea.Width - 16) { // EasiNote3C
(WinTabWindowsChecker.IsWindowExisted("WhiteBoard - DrawingWindow") if (!unfoldFloatingBarByUser && !isFloatingBarFolded) FoldFloatingBar_MouseUp(null, null);
|| WinTabWindowsChecker.IsWindowExisted("InstantAnnotationWindow")))) { }
}
// EasiCamera
} else if (Settings.Automation.IsAutoFoldInEasiCamera && windowProcessName == "EasiCamera" &&
ForegroundWindowInfo.WindowRect().Height >= SystemParameters.WorkArea.Height - 16 &&
ForegroundWindowInfo.WindowRect().Width >= SystemParameters.WorkArea.Width - 16) {
if (!unfoldFloatingBarByUser && !isFloatingBarFolded) FoldFloatingBar_MouseUp(null, null); if (!unfoldFloatingBarByUser && !isFloatingBarFolded) FoldFloatingBar_MouseUp(null, null);
} // EasiNote5C
else if (WinTabWindowsChecker.IsWindowExisted("幻灯片放映", false)) { } else if (Settings.Automation.IsAutoFoldInEasiNote5C && windowProcessName == "EasiNote5C" &&
ForegroundWindowInfo.WindowRect().Height >= SystemParameters.WorkArea.Height - 16 &&
ForegroundWindowInfo.WindowRect().Width >= SystemParameters.WorkArea.Width - 16) {
if (!unfoldFloatingBarByUser && !isFloatingBarFolded) FoldFloatingBar_MouseUp(null, null);
// SeewoPinco
} else if (Settings.Automation.IsAutoFoldInSeewoPincoTeacher && (windowProcessName == "BoardService" || windowProcessName == "seewoPincoTeacher")) {
if (!unfoldFloatingBarByUser && !isFloatingBarFolded) FoldFloatingBar_MouseUp(null, null);
// HiteCamera
} else if (Settings.Automation.IsAutoFoldInHiteCamera && windowProcessName == "HiteCamera" &&
ForegroundWindowInfo.WindowRect().Height >= SystemParameters.WorkArea.Height - 16 &&
ForegroundWindowInfo.WindowRect().Width >= SystemParameters.WorkArea.Width - 16) {
if (!unfoldFloatingBarByUser && !isFloatingBarFolded) FoldFloatingBar_MouseUp(null, null);
// HiteTouchPro
} else if (Settings.Automation.IsAutoFoldInHiteTouchPro && windowProcessName == "HiteTouchPro" &&
ForegroundWindowInfo.WindowRect().Height >= SystemParameters.WorkArea.Height - 16 &&
ForegroundWindowInfo.WindowRect().Width >= SystemParameters.WorkArea.Width - 16) {
if (!unfoldFloatingBarByUser && !isFloatingBarFolded) FoldFloatingBar_MouseUp(null, null);
// WxBoardMain
} else if (Settings.Automation.IsAutoFoldInWxBoardMain && windowProcessName == "WxBoardMain" &&
ForegroundWindowInfo.WindowRect().Height >= SystemParameters.WorkArea.Height - 16 &&
ForegroundWindowInfo.WindowRect().Width >= SystemParameters.WorkArea.Width - 16) {
if (!unfoldFloatingBarByUser && !isFloatingBarFolded) FoldFloatingBar_MouseUp(null, null);
// MSWhiteboard
} else if (Settings.Automation.IsAutoFoldInMSWhiteboard && (windowProcessName == "MicrosoftWhiteboard" || windowProcessName == "msedgewebview2")) {
if (!unfoldFloatingBarByUser && !isFloatingBarFolded) FoldFloatingBar_MouseUp(null, null);
// OldZyBoard
} else if (Settings.Automation.IsAutoFoldInOldZyBoard && // 中原旧白板
(WinTabWindowsChecker.IsWindowExisted("WhiteBoard - DrawingWindow")
|| WinTabWindowsChecker.IsWindowExisted("InstantAnnotationWindow"))) {
if (!unfoldFloatingBarByUser && !isFloatingBarFolded) FoldFloatingBar_MouseUp(null, null);
// HiteLightBoard
} else if (Settings.Automation.IsAutoFoldInHiteLightBoard && windowProcessName == "HiteLightBoard" &&
ForegroundWindowInfo.WindowRect().Height >= SystemParameters.WorkArea.Height - 16 &&
ForegroundWindowInfo.WindowRect().Width >= SystemParameters.WorkArea.Width - 16) {
if (!unfoldFloatingBarByUser && !isFloatingBarFolded) FoldFloatingBar_MouseUp(null, null);
} else if (WinTabWindowsChecker.IsWindowExisted("幻灯片放映", false)) {
// 处于幻灯片放映状态 // 处于幻灯片放映状态
if (!Settings.Automation.IsAutoFoldInPPTSlideShow && isFloatingBarFolded && !foldFloatingBarByUser) if (!Settings.Automation.IsAutoFoldInPPTSlideShow && isFloatingBarFolded && !foldFloatingBarByUser)
UnFoldFloatingBar_MouseUp(new object(), null); UnFoldFloatingBar_MouseUp(new object(), null);
} } else {
else {
if (isFloatingBarFolded && !foldFloatingBarByUser) UnFoldFloatingBar_MouseUp(new object(), null); if (isFloatingBarFolded && !foldFloatingBarByUser) UnFoldFloatingBar_MouseUp(new object(), null);
unfoldFloatingBarByUser = false; unfoldFloatingBarByUser = false;
} }

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

View File

@ -208,6 +208,8 @@ namespace Ink_Canvas
[JsonProperty("isAutoFoldInEasiCamera")] [JsonProperty("isAutoFoldInEasiCamera")]
public bool IsAutoFoldInEasiCamera { get; set; } = false; public bool IsAutoFoldInEasiCamera { get; set; } = false;
[JsonProperty("isAutoFoldInEasiNote3")]
public bool IsAutoFoldInEasiNote3 { get; set; } = false;
[JsonProperty("isAutoFoldInEasiNote3C")] [JsonProperty("isAutoFoldInEasiNote3C")]
public bool IsAutoFoldInEasiNote3C { get; set; } = false; public bool IsAutoFoldInEasiNote3C { get; set; } = false;