diff --git a/Ink Canvas/App.xaml.cs b/Ink Canvas/App.xaml.cs index 8bcce6b3..b662a247 100644 --- a/Ink Canvas/App.xaml.cs +++ b/Ink Canvas/App.xaml.cs @@ -1,8 +1,3 @@ -using Hardcodet.Wpf.TaskbarNotification; -using Ink_Canvas.Helpers; -using iNKORE.UI.WPF.Modern.Controls; -using Microsoft.Win32; -using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Diagnostics; @@ -18,6 +13,11 @@ using System.Windows; using System.Windows.Forms; using System.Windows.Input; using System.Windows.Threading; +using Hardcodet.Wpf.TaskbarNotification; +using Ink_Canvas.Helpers; +using iNKORE.UI.WPF.Modern.Controls; +using Microsoft.Win32; +using Newtonsoft.Json; using Application = System.Windows.Application; using MessageBox = System.Windows.MessageBox; using Timer = System.Threading.Timer; @@ -353,18 +353,18 @@ namespace Ink_Canvas { return $"{timeSpan.Days}天 {timeSpan.Hours}小时 {timeSpan.Minutes}分钟"; } - else if (timeSpan.TotalHours >= 1) + + if (timeSpan.TotalHours >= 1) { return $"{timeSpan.Hours}小时 {timeSpan.Minutes}分钟"; } - else if (timeSpan.TotalMinutes >= 1) + + if (timeSpan.TotalMinutes >= 1) { return $"{timeSpan.Minutes}分钟 {timeSpan.Seconds}秒"; } - else - { - return $"{timeSpan.Seconds}秒"; - } + + return $"{timeSpan.Seconds}秒"; } // 新增:记录崩溃日志 diff --git a/Ink Canvas/Helpers/AdvancedBezierSmoothing.cs b/Ink Canvas/Helpers/AdvancedBezierSmoothing.cs index ab7aa9fd..0948fa44 100644 --- a/Ink Canvas/Helpers/AdvancedBezierSmoothing.cs +++ b/Ink Canvas/Helpers/AdvancedBezierSmoothing.cs @@ -4,10 +4,10 @@ using System.Collections.Generic; using System.Linq; using System.Threading; using System.Threading.Tasks; +using System.Windows; using System.Windows.Ink; using System.Windows.Input; using System.Windows.Threading; -using System.Windows; namespace Ink_Canvas.Helpers { diff --git a/Ink Canvas/Helpers/AutoUpdateHelper.cs b/Ink Canvas/Helpers/AutoUpdateHelper.cs index fe21d61c..397a381b 100644 --- a/Ink Canvas/Helpers/AutoUpdateHelper.cs +++ b/Ink Canvas/Helpers/AutoUpdateHelper.cs @@ -1,5 +1,3 @@ -using Newtonsoft.Json; -using Newtonsoft.Json.Linq; using System; using System.Collections.Concurrent; using System.Collections.Generic; @@ -17,6 +15,8 @@ using System.Threading; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; +using Newtonsoft.Json; +using Newtonsoft.Json.Linq; namespace Ink_Canvas.Helpers { @@ -1361,16 +1361,14 @@ namespace Ink_Canvas.Helpers if (oldProcessId > 0 && !string.IsNullOrEmpty(extractPath) && !string.IsNullOrEmpty(targetPath)) { - LogHelper.WriteLogToFile($"AutoUpdate | 参数验证通过,启动更新任务"); + LogHelper.WriteLogToFile("AutoUpdate | 参数验证通过,启动更新任务"); // 启动更新任务 Task.Run(async () => await PerformUpdate(oldProcessId, extractPath, targetPath, isSilence)); return true; // 返回true表示是更新模式 } - else - { - LogHelper.WriteLogToFile($"AutoUpdate | 参数验证失败 - 老进程ID: {oldProcessId}, 解压路径: {extractPath}, 目标路径: {targetPath}", LogHelper.LogType.Error); - return false; - } + + LogHelper.WriteLogToFile($"AutoUpdate | 参数验证失败 - 老进程ID: {oldProcessId}, 解压路径: {extractPath}, 目标路径: {targetPath}", LogHelper.LogType.Error); + return false; } return false; // 返回false表示不是更新模式 } @@ -1483,7 +1481,7 @@ namespace Ink_Canvas.Helpers } // 删除ZIP文件 - string zipFile = Path.Combine(updatesFolderPath, $"InkCanvasForClass.CE.*.zip"); + string zipFile = Path.Combine(updatesFolderPath, "InkCanvasForClass.CE.*.zip"); string[] zipFiles = Directory.GetFiles(updatesFolderPath, "InkCanvasForClass.CE.*.zip"); foreach (string zip in zipFiles) { diff --git a/Ink Canvas/Helpers/DeviceIdentifier.cs b/Ink Canvas/Helpers/DeviceIdentifier.cs index e34c4e4c..f67b5387 100644 --- a/Ink Canvas/Helpers/DeviceIdentifier.cs +++ b/Ink Canvas/Helpers/DeviceIdentifier.cs @@ -1,4 +1,3 @@ -using Newtonsoft.Json; using System; using System.Collections.Generic; using System.IO; @@ -6,6 +5,7 @@ using System.Linq; using System.Reflection; using System.Security.Cryptography; using System.Text; +using Newtonsoft.Json; namespace Ink_Canvas.Helpers { diff --git a/Ink Canvas/Helpers/GlobalHotkeyManager.cs b/Ink Canvas/Helpers/GlobalHotkeyManager.cs index c7f43345..b1f1eefe 100644 --- a/Ink Canvas/Helpers/GlobalHotkeyManager.cs +++ b/Ink Canvas/Helpers/GlobalHotkeyManager.cs @@ -1,8 +1,9 @@ using System; using System.Collections.Generic; -using System.Windows.Input; using System.IO; using System.Reflection; +using System.Text; +using System.Windows.Input; using Newtonsoft.Json; using NHotkey.Wpf; @@ -16,7 +17,7 @@ namespace Ink_Canvas.Helpers #region Private Fields private readonly Dictionary _registeredHotkeys; private readonly MainWindow _mainWindow; - private bool _isDisposed = false; + private bool _isDisposed; private bool _hotkeysShouldBeRegistered = true; // 启动时注册热键 // 配置文件路径 @@ -180,7 +181,7 @@ namespace Ink_Canvas.Helpers } // 读取配置文件内容 - string jsonContent = File.ReadAllText(HotkeyConfigFile, System.Text.Encoding.UTF8); + string jsonContent = File.ReadAllText(HotkeyConfigFile, Encoding.UTF8); if (string.IsNullOrEmpty(jsonContent)) { LogHelper.WriteLogToFile("快捷键配置文件为空", LogHelper.LogType.Warning); @@ -509,7 +510,7 @@ namespace Ink_Canvas.Helpers } // 读取配置文件内容 - string jsonContent = File.ReadAllText(HotkeyConfigFile, System.Text.Encoding.UTF8); + string jsonContent = File.ReadAllText(HotkeyConfigFile, Encoding.UTF8); if (string.IsNullOrEmpty(jsonContent)) { LogHelper.WriteLogToFile("快捷键配置文件为空", LogHelper.LogType.Warning); @@ -607,7 +608,7 @@ namespace Ink_Canvas.Helpers string jsonContent = JsonConvert.SerializeObject(config, settings); // 直接写入原文件,覆盖原有内容 - File.WriteAllText(HotkeyConfigFile, jsonContent, System.Text.Encoding.UTF8); + File.WriteAllText(HotkeyConfigFile, jsonContent, Encoding.UTF8); LogHelper.WriteLogToFile($"快捷键配置已保存到: {HotkeyConfigFile}", LogHelper.LogType.Event); return true; @@ -714,7 +715,7 @@ namespace Ink_Canvas.Helpers var getLeftMethod = canvasType.GetMethod("GetLeft", BindingFlags.Public | BindingFlags.Static); if (getLeftMethod != null) { - var leftPosition = getLeftMethod.Invoke(null, new object[] { floatingbarSelectionBG }); + var leftPosition = getLeftMethod.Invoke(null, new[] { floatingbarSelectionBG }); if (leftPosition != null) { var position = Convert.ToDouble(leftPosition); diff --git a/Ink Canvas/Helpers/InkFadeManager.cs b/Ink Canvas/Helpers/InkFadeManager.cs index b28b9eb4..6f8188f8 100644 --- a/Ink Canvas/Helpers/InkFadeManager.cs +++ b/Ink Canvas/Helpers/InkFadeManager.cs @@ -1,13 +1,13 @@ using System; using System.Collections.Generic; using System.Windows; -using System.Windows.Media.Animation; -using System.Windows.Threading; -using System.Windows.Ink; using System.Windows.Controls; +using System.Windows.Ink; using System.Windows.Input; using System.Windows.Media; +using System.Windows.Media.Animation; using System.Windows.Shapes; +using System.Windows.Threading; namespace Ink_Canvas.Helpers { @@ -20,7 +20,7 @@ namespace Ink_Canvas.Helpers /// /// 是否启用墨迹渐隐功能 /// - public bool IsEnabled { get; set; } = false; + public bool IsEnabled { get; set; } /// /// 墨迹渐隐时间(毫秒) diff --git a/Ink Canvas/Helpers/InkSmoothingConfig.cs b/Ink Canvas/Helpers/InkSmoothingConfig.cs index af8420f8..83533f0e 100644 --- a/Ink Canvas/Helpers/InkSmoothingConfig.cs +++ b/Ink Canvas/Helpers/InkSmoothingConfig.cs @@ -1,4 +1,5 @@ using System; +using System.Diagnostics; namespace Ink_Canvas.Helpers { @@ -63,7 +64,7 @@ namespace Ink_Canvas.Helpers } catch (Exception ex) { - System.Diagnostics.Debug.WriteLine($"加载平滑配置失败: {ex.Message}"); + Debug.WriteLine($"加载平滑配置失败: {ex.Message}"); } return config; @@ -124,7 +125,7 @@ namespace Ink_Canvas.Helpers } catch (Exception ex) { - System.Diagnostics.Debug.WriteLine($"保存平滑配置失败: {ex.Message}"); + Debug.WriteLine($"保存平滑配置失败: {ex.Message}"); } } diff --git a/Ink Canvas/Helpers/PPTInkManager.cs b/Ink Canvas/Helpers/PPTInkManager.cs index f8c62ccb..fd43b18f 100644 --- a/Ink Canvas/Helpers/PPTInkManager.cs +++ b/Ink Canvas/Helpers/PPTInkManager.cs @@ -1,9 +1,9 @@ -using Microsoft.Office.Interop.PowerPoint; -using System; +using System; using System.IO; using System.Security.Cryptography; using System.Text; using System.Windows.Ink; +using Microsoft.Office.Interop.PowerPoint; namespace Ink_Canvas.Helpers { @@ -23,7 +23,7 @@ namespace Ink_Canvas.Helpers private int _maxSlides = 100; private string _currentPresentationId = ""; private readonly object _lockObject = new object(); - private bool _disposed = false; + private bool _disposed; // 墨迹锁定机制,防止翻页时的墨迹冲突 private DateTime _inkLockUntil = DateTime.MinValue; diff --git a/Ink Canvas/Helpers/PPTManager.cs b/Ink Canvas/Helpers/PPTManager.cs index 76c3f4e9..fb57c16f 100644 --- a/Ink Canvas/Helpers/PPTManager.cs +++ b/Ink Canvas/Helpers/PPTManager.cs @@ -1,5 +1,4 @@ -using Microsoft.Office.Interop.PowerPoint; -using System; +using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; @@ -8,6 +7,7 @@ using System.Text; using System.Threading; using System.Timers; using System.Windows.Threading; +using Microsoft.Office.Interop.PowerPoint; using Application = System.Windows.Application; using Timer = System.Timers.Timer; @@ -101,9 +101,9 @@ namespace Ink_Canvas.Helpers private int _wpsProcessCheckCount; private WpsWindowInfo _lastForegroundWpsWindow; private DateTime _lastWindowCheckTime = DateTime.MinValue; - private bool _lastSlideShowState = false; + private bool _lastSlideShowState; private readonly object _lockObject = new object(); - private bool _disposed = false; + private bool _disposed; #endregion #region Constructor & Initialization @@ -888,11 +888,9 @@ namespace Ink_Canvas.Helpers LogHelper.WriteLogToFile("成功显示幻灯片导航(PowerPoint模式)", LogHelper.LogType.Event); return true; } - else - { - LogHelper.WriteLogToFile("SlideNavigation对象为空,可能是WPS不支持此功能", LogHelper.LogType.Warning); - return false; - } + + LogHelper.WriteLogToFile("SlideNavigation对象为空,可能是WPS不支持此功能", LogHelper.LogType.Warning); + return false; } catch (COMException comEx) { diff --git a/Ink Canvas/Helpers/Plugins/BuiltIn/SuperLauncher/LauncherButton.cs b/Ink Canvas/Helpers/Plugins/BuiltIn/SuperLauncher/LauncherButton.cs index 54eb84bd..1e91a7de 100644 --- a/Ink Canvas/Helpers/Plugins/BuiltIn/SuperLauncher/LauncherButton.cs +++ b/Ink Canvas/Helpers/Plugins/BuiltIn/SuperLauncher/LauncherButton.cs @@ -1,9 +1,9 @@ -using iNKORE.UI.WPF.Modern.Controls; using System; using System.Windows; using System.Windows.Controls; using System.Windows.Input; using System.Windows.Media; +using iNKORE.UI.WPF.Modern.Controls; namespace Ink_Canvas.Helpers.Plugins.BuiltIn.SuperLauncher { diff --git a/Ink Canvas/Helpers/Plugins/BuiltIn/SuperLauncher/LauncherModels.cs b/Ink Canvas/Helpers/Plugins/BuiltIn/SuperLauncher/LauncherModels.cs index 9b6ac63b..2089ca6c 100644 --- a/Ink Canvas/Helpers/Plugins/BuiltIn/SuperLauncher/LauncherModels.cs +++ b/Ink Canvas/Helpers/Plugins/BuiltIn/SuperLauncher/LauncherModels.cs @@ -1,5 +1,3 @@ -using Microsoft.Win32; -using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Diagnostics; @@ -10,6 +8,8 @@ using System.Windows; using System.Windows.Interop; using System.Windows.Media; using System.Windows.Media.Imaging; +using Microsoft.Win32; +using Newtonsoft.Json; namespace Ink_Canvas.Helpers.Plugins.BuiltIn.SuperLauncher { diff --git a/Ink Canvas/Helpers/Plugins/BuiltIn/SuperLauncher/LauncherSettingsControl.xaml.cs b/Ink Canvas/Helpers/Plugins/BuiltIn/SuperLauncher/LauncherSettingsControl.xaml.cs index 6666f10d..4b6cda6c 100644 --- a/Ink Canvas/Helpers/Plugins/BuiltIn/SuperLauncher/LauncherSettingsControl.xaml.cs +++ b/Ink Canvas/Helpers/Plugins/BuiltIn/SuperLauncher/LauncherSettingsControl.xaml.cs @@ -1,10 +1,10 @@ -using Ink_Canvas.Windows; -using Microsoft.Win32; using System; using System.ComponentModel; using System.IO; using System.Windows; using System.Windows.Controls; +using Ink_Canvas.Windows; +using Microsoft.Win32; namespace Ink_Canvas.Helpers.Plugins.BuiltIn.SuperLauncher { diff --git a/Ink Canvas/Helpers/Plugins/BuiltIn/SuperLauncherPlugin.cs b/Ink Canvas/Helpers/Plugins/BuiltIn/SuperLauncherPlugin.cs index 555c7bf9..2c504bd0 100644 --- a/Ink Canvas/Helpers/Plugins/BuiltIn/SuperLauncherPlugin.cs +++ b/Ink Canvas/Helpers/Plugins/BuiltIn/SuperLauncherPlugin.cs @@ -1,5 +1,3 @@ -using Ink_Canvas.Helpers.Plugins.BuiltIn.SuperLauncher; -using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Collections.ObjectModel; @@ -7,6 +5,8 @@ using System.IO; using System.Windows; using System.Windows.Controls; using System.Windows.Media; +using Ink_Canvas.Helpers.Plugins.BuiltIn.SuperLauncher; +using Newtonsoft.Json; namespace Ink_Canvas.Helpers.Plugins.BuiltIn { diff --git a/Ink Canvas/Helpers/Plugins/PluginConfigurationManager.cs b/Ink Canvas/Helpers/Plugins/PluginConfigurationManager.cs index dfa342b2..be1efddc 100644 --- a/Ink Canvas/Helpers/Plugins/PluginConfigurationManager.cs +++ b/Ink Canvas/Helpers/Plugins/PluginConfigurationManager.cs @@ -1,8 +1,8 @@ -using Newtonsoft.Json; using System; using System.Collections.Generic; using System.IO; using System.Threading.Tasks; +using Newtonsoft.Json; namespace Ink_Canvas.Helpers.Plugins { @@ -46,17 +46,15 @@ namespace Ink_Canvas.Helpers.Plugins { return typedValue; } - else + + // 尝试类型转换 + try { - // 尝试类型转换 - try - { - return (T)Convert.ChangeType(value, typeof(T)); - } - catch - { - return defaultValue; - } + return (T)Convert.ChangeType(value, typeof(T)); + } + catch + { + return defaultValue; } } } diff --git a/Ink Canvas/Helpers/Plugins/PluginManager.cs b/Ink Canvas/Helpers/Plugins/PluginManager.cs index 27b7742e..d1a6559f 100644 --- a/Ink Canvas/Helpers/Plugins/PluginManager.cs +++ b/Ink Canvas/Helpers/Plugins/PluginManager.cs @@ -1,5 +1,3 @@ -using Ink_Canvas.Windows; -using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Collections.ObjectModel; @@ -10,6 +8,8 @@ using System.Security.Cryptography; using System.Threading; using System.Threading.Tasks; using System.Windows; +using Ink_Canvas.Windows; +using Newtonsoft.Json; using Timer = System.Timers.Timer; namespace Ink_Canvas.Helpers.Plugins diff --git a/Ink Canvas/Helpers/Plugins/PluginServiceManager.cs b/Ink Canvas/Helpers/Plugins/PluginServiceManager.cs index e3e2d3e5..fd1b1bf7 100644 --- a/Ink Canvas/Helpers/Plugins/PluginServiceManager.cs +++ b/Ink Canvas/Helpers/Plugins/PluginServiceManager.cs @@ -1,9 +1,9 @@ using System; using System.Collections.Generic; +using System.Linq; using System.Windows; using System.Windows.Controls; using System.Windows.Media; -using System.Linq; namespace Ink_Canvas.Helpers.Plugins { diff --git a/Ink Canvas/Helpers/SoftwareLauncher.cs b/Ink Canvas/Helpers/SoftwareLauncher.cs index e3dc7188..5f2e405d 100644 --- a/Ink Canvas/Helpers/SoftwareLauncher.cs +++ b/Ink Canvas/Helpers/SoftwareLauncher.cs @@ -1,8 +1,8 @@ -using Microsoft.Win32; -using System; +using System; using System.Diagnostics; using System.IO; using System.Runtime.InteropServices; +using Microsoft.Win32; namespace Ink_Canvas.Helpers { diff --git a/Ink Canvas/MainWindow.xaml.cs b/Ink Canvas/MainWindow.xaml.cs index f87d40a8..8a2a414d 100644 --- a/Ink Canvas/MainWindow.xaml.cs +++ b/Ink Canvas/MainWindow.xaml.cs @@ -1,9 +1,3 @@ -using Ink_Canvas.Helpers; -using Ink_Canvas.Helpers.Plugins; -using Ink_Canvas.Windows; -using iNKORE.UI.WPF.Modern; -using iNKORE.UI.WPF.Modern.Controls; -using Microsoft.Win32; using System; using System.Collections.Generic; using System.ComponentModel; @@ -22,6 +16,12 @@ using System.Windows.Input; using System.Windows.Interop; using System.Windows.Media; using System.Windows.Threading; +using Ink_Canvas.Helpers; +using Ink_Canvas.Helpers.Plugins; +using Ink_Canvas.Windows; +using iNKORE.UI.WPF.Modern; +using iNKORE.UI.WPF.Modern.Controls; +using Microsoft.Win32; using Application = System.Windows.Application; using Brushes = System.Windows.Media.Brushes; using Button = System.Windows.Controls.Button; @@ -1689,7 +1689,7 @@ namespace Ink_Canvas // 添加定时器来维护置顶状态 private DispatcherTimer topmostMaintenanceTimer; - private bool isTopmostMaintenanceEnabled = false; + private bool isTopmostMaintenanceEnabled; private void ApplyNoFocusMode() { @@ -1753,7 +1753,7 @@ namespace Ink_Canvas // 注意:这里不直接设置Topmost,让其他代码根据模式决定 // 添加调试日志 - LogHelper.WriteLogToFile($"应用窗口置顶: 取消置顶", LogHelper.LogType.Trace); + LogHelper.WriteLogToFile("应用窗口置顶: 取消置顶", LogHelper.LogType.Trace); } } catch (Exception ex) diff --git a/Ink Canvas/MainWindow_cs/MW_AutoFold.cs b/Ink Canvas/MainWindow_cs/MW_AutoFold.cs index 109cd178..98f6b9b0 100644 --- a/Ink Canvas/MainWindow_cs/MW_AutoFold.cs +++ b/Ink Canvas/MainWindow_cs/MW_AutoFold.cs @@ -1,6 +1,4 @@ -using Ink_Canvas.Helpers; -using iNKORE.UI.WPF.Modern; -using System; +using System; using System.Threading; using System.Threading.Tasks; using System.Windows; @@ -8,6 +6,8 @@ using System.Windows.Controls; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Animation; +using Ink_Canvas.Helpers; +using iNKORE.UI.WPF.Modern; namespace Ink_Canvas { @@ -263,10 +263,10 @@ namespace Ink_Canvas { var dops = Settings.PowerPointSettings.PPTButtonsDisplayOption.ToString(); var dopsc = dops.ToCharArray(); - if (dopsc[0] == '2' && isDisplayingOrHidingBlackboard == false) AnimationsHelper.ShowWithFadeIn(LeftBottomPanelForPPTNavigation); - if (dopsc[1] == '2' && isDisplayingOrHidingBlackboard == false) AnimationsHelper.ShowWithFadeIn(RightBottomPanelForPPTNavigation); - if (dopsc[2] == '2' && isDisplayingOrHidingBlackboard == false) AnimationsHelper.ShowWithFadeIn(LeftSidePanelForPPTNavigation); - if (dopsc[3] == '2' && isDisplayingOrHidingBlackboard == false) AnimationsHelper.ShowWithFadeIn(RightSidePanelForPPTNavigation); + if (dopsc[0] == '2' && !isDisplayingOrHidingBlackboard) AnimationsHelper.ShowWithFadeIn(LeftBottomPanelForPPTNavigation); + if (dopsc[1] == '2' && !isDisplayingOrHidingBlackboard) AnimationsHelper.ShowWithFadeIn(RightBottomPanelForPPTNavigation); + if (dopsc[2] == '2' && !isDisplayingOrHidingBlackboard) AnimationsHelper.ShowWithFadeIn(LeftSidePanelForPPTNavigation); + if (dopsc[3] == '2' && !isDisplayingOrHidingBlackboard) AnimationsHelper.ShowWithFadeIn(RightSidePanelForPPTNavigation); } if (BtnPPTSlideShowEnd.Visibility == Visibility.Visible) diff --git a/Ink Canvas/MainWindow_cs/MW_AutoStart.cs b/Ink Canvas/MainWindow_cs/MW_AutoStart.cs index a86808cc..e38c74d1 100644 --- a/Ink Canvas/MainWindow_cs/MW_AutoStart.cs +++ b/Ink Canvas/MainWindow_cs/MW_AutoStart.cs @@ -1,6 +1,6 @@ -using IWshRuntimeLibrary; -using System; +using System; using System.Windows; +using IWshRuntimeLibrary; using Application = System.Windows.Forms.Application; using File = System.IO.File; diff --git a/Ink Canvas/MainWindow_cs/MW_AutoTheme.cs b/Ink Canvas/MainWindow_cs/MW_AutoTheme.cs index f908c2ad..e41f79fb 100644 --- a/Ink Canvas/MainWindow_cs/MW_AutoTheme.cs +++ b/Ink Canvas/MainWindow_cs/MW_AutoTheme.cs @@ -1,8 +1,8 @@ -using iNKORE.UI.WPF.Modern; -using Microsoft.Win32; -using System; +using System; using System.Windows; using System.Windows.Media; +using iNKORE.UI.WPF.Modern; +using Microsoft.Win32; using Application = System.Windows.Application; namespace Ink_Canvas diff --git a/Ink Canvas/MainWindow_cs/MW_BoardControls.cs b/Ink Canvas/MainWindow_cs/MW_BoardControls.cs index 1e345f06..6c1510e3 100644 --- a/Ink Canvas/MainWindow_cs/MW_BoardControls.cs +++ b/Ink Canvas/MainWindow_cs/MW_BoardControls.cs @@ -1,5 +1,4 @@ -using Ink_Canvas.Helpers; -using System; +using System; using System.Collections.Generic; using System.Diagnostics; using System.Threading.Tasks; @@ -7,6 +6,7 @@ using System.Windows; using System.Windows.Controls; using System.Windows.Ink; using System.Windows.Media; +using Ink_Canvas.Helpers; namespace Ink_Canvas { diff --git a/Ink Canvas/MainWindow_cs/MW_BoardIcons.cs b/Ink Canvas/MainWindow_cs/MW_BoardIcons.cs index f94917af..6f956a9f 100644 --- a/Ink Canvas/MainWindow_cs/MW_BoardIcons.cs +++ b/Ink Canvas/MainWindow_cs/MW_BoardIcons.cs @@ -1,5 +1,4 @@ -using Ink_Canvas.Helpers; -using System; +using System; using System.Diagnostics; using System.Windows; using System.Windows.Controls; @@ -7,6 +6,7 @@ using System.Windows.Ink; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; +using Ink_Canvas.Helpers; namespace Ink_Canvas { @@ -766,7 +766,7 @@ namespace Ink_Canvas { PenIcon_Click(null, null); SymbolIconDelete_MouseUp(null, null); - if (Settings.Canvas.ClearCanvasAndClearTimeMachine == false) timeMachine.ClearStrokeHistory(); + if (!Settings.Canvas.ClearCanvasAndClearTimeMachine) timeMachine.ClearStrokeHistory(); // 根据设置决定是否清空图片 if (Settings.Canvas.ClearCanvasAlsoClearImages) diff --git a/Ink Canvas/MainWindow_cs/MW_ClipboardHandler.cs b/Ink Canvas/MainWindow_cs/MW_ClipboardHandler.cs index 369f5a02..99053852 100644 --- a/Ink Canvas/MainWindow_cs/MW_ClipboardHandler.cs +++ b/Ink Canvas/MainWindow_cs/MW_ClipboardHandler.cs @@ -1,19 +1,26 @@ -using Ink_Canvas.Helpers; -using System; +using System; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; +using System.Windows.Controls.Primitives; +using System.Windows.Forms; using System.Windows.Ink; using System.Windows.Input; +using System.Windows.Media; using System.Windows.Media.Imaging; -using System.Windows.Media; +using System.Windows.Threading; +using Ink_Canvas.Helpers; +using Clipboard = System.Windows.Clipboard; +using ContextMenu = System.Windows.Controls.ContextMenu; +using Cursors = System.Windows.Input.Cursors; +using MenuItem = System.Windows.Controls.MenuItem; namespace Ink_Canvas { public partial class MainWindow : Window { - private bool isClipboardMonitoringEnabled = false; - private BitmapSource lastClipboardImage = null; + private bool isClipboardMonitoringEnabled; + private BitmapSource lastClipboardImage; // 初始化剪贴板监控 private void InitializeClipboardMonitoring() @@ -92,7 +99,7 @@ namespace Ink_Canvas // 显示菜单 contextMenu.IsOpen = true; contextMenu.PlacementTarget = inkCanvas; - contextMenu.Placement = System.Windows.Controls.Primitives.PlacementMode.MousePoint; + contextMenu.Placement = PlacementMode.MousePoint; } catch (Exception ex) { @@ -124,7 +131,7 @@ namespace Ink_Canvas Source = clipboardImage, Width = clipboardImage.PixelWidth, Height = clipboardImage.PixelHeight, - Stretch = System.Windows.Media.Stretch.Fill + Stretch = Stretch.Fill }; // 生成唯一名称 @@ -192,7 +199,7 @@ namespace Ink_Canvas // 设置光标 elementForEvents.Cursor = Cursors.Hand; } - }), System.Windows.Threading.DispatcherPriority.Loaded); + }), DispatcherPriority.Loaded); }; // 提交到历史记录 @@ -272,13 +279,13 @@ namespace Ink_Canvas { public static event Action ClipboardUpdate; - private static System.Windows.Forms.Timer clipboardTimer; + private static Timer clipboardTimer; private static string lastClipboardText = ""; - private static bool lastHadImage = false; + private static bool lastHadImage; static ClipboardNotification() { - clipboardTimer = new System.Windows.Forms.Timer(); + clipboardTimer = new Timer(); clipboardTimer.Interval = 500; // 每500ms检查一次 clipboardTimer.Tick += CheckClipboard; clipboardTimer.Start(); diff --git a/Ink Canvas/MainWindow_cs/MW_Colors.cs b/Ink Canvas/MainWindow_cs/MW_Colors.cs index 57ce6f80..c55e306c 100644 --- a/Ink Canvas/MainWindow_cs/MW_Colors.cs +++ b/Ink Canvas/MainWindow_cs/MW_Colors.cs @@ -1,5 +1,4 @@ -using Ink_Canvas.Helpers; -using System; +using System; using System.Collections.Generic; using System.Threading.Tasks; using System.Windows; @@ -9,6 +8,7 @@ using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Animation; using System.Windows.Media.Imaging; +using Ink_Canvas.Helpers; namespace Ink_Canvas { diff --git a/Ink Canvas/MainWindow_cs/MW_ElementsControls.cs b/Ink Canvas/MainWindow_cs/MW_ElementsControls.cs index 0752af95..378dc86f 100644 --- a/Ink Canvas/MainWindow_cs/MW_ElementsControls.cs +++ b/Ink Canvas/MainWindow_cs/MW_ElementsControls.cs @@ -1,15 +1,17 @@ -using Microsoft.Win32; -using System; +using System; +using System.Diagnostics; using System.IO; +using System.Linq; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; +using System.Windows.Ink; +using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; +using System.Windows.Threading; using Ink_Canvas.Helpers; -using System.Windows.Input; -using System.Linq; -using System.Windows.Ink; +using Microsoft.Win32; namespace Ink_Canvas { @@ -17,7 +19,7 @@ namespace Ink_Canvas { // 当前选中的可操作元素 private FrameworkElement currentSelectedElement; - private bool isDragging = false; + private bool isDragging; private Point dragStartPoint; #region Image @@ -62,7 +64,7 @@ namespace Ink_Canvas BindElementEvents(image); LogHelper.WriteLogToFile($"图片插入完成: {image.Name}"); - }), System.Windows.Threading.DispatcherPriority.Loaded); + }), DispatcherPriority.Loaded); }; timeMachine.CommitElementInsertHistory(image); @@ -396,7 +398,7 @@ namespace Ink_Canvas } // 保存初始变换状态用于历史记录 - var initialTransform = transformGroup.Clone() as TransformGroup; + var initialTransform = transformGroup.Clone(); // 创建新的 TransformGroup 并添加 MatrixTransform var newTransformGroup = new TransformGroup(); @@ -719,7 +721,7 @@ namespace Ink_Canvas catch (Exception ex) { // 记录错误但不中断程序 - System.Diagnostics.Debug.WriteLine($"旋转图片时发生错误: {ex.Message}"); + Debug.WriteLine($"旋转图片时发生错误: {ex.Message}"); } } @@ -740,7 +742,7 @@ namespace Ink_Canvas Width = image.Width, Height = image.Height, Stretch = image.Stretch, - RenderTransform = image.RenderTransform?.Clone() as Transform + RenderTransform = image.RenderTransform?.Clone() }; // 设置位置,稍微偏移以避免重叠 @@ -790,7 +792,7 @@ namespace Ink_Canvas Width = image.Width, Height = image.Height, Stretch = image.Stretch, - RenderTransform = image.RenderTransform?.Clone() as Transform + RenderTransform = image.RenderTransform?.Clone() }; // 设置位置,稍微偏移以避免重叠 @@ -809,7 +811,7 @@ namespace Ink_Canvas catch (Exception ex) { // 记录错误但不中断程序 - System.Diagnostics.Debug.WriteLine($"克隆图片到新页面时发生错误: {ex.Message}"); + Debug.WriteLine($"克隆图片到新页面时发生错误: {ex.Message}"); } } @@ -862,7 +864,7 @@ namespace Ink_Canvas catch (Exception ex) { // 记录错误但不中断程序 - System.Diagnostics.Debug.WriteLine($"缩放图片时发生错误: {ex.Message}"); + Debug.WriteLine($"缩放图片时发生错误: {ex.Message}"); } } @@ -888,7 +890,7 @@ namespace Ink_Canvas catch (Exception ex) { // 记录错误但不中断程序 - System.Diagnostics.Debug.WriteLine($"删除图片时发生错误: {ex.Message}"); + Debug.WriteLine($"删除图片时发生错误: {ex.Message}"); } } @@ -907,7 +909,7 @@ namespace Ink_Canvas Dispatcher.BeginInvoke(new Action(() => { CenterAndScaleElement(element); - }), System.Windows.Threading.DispatcherPriority.Loaded); + }), DispatcherPriority.Loaded); }; return; } @@ -919,8 +921,8 @@ namespace Ink_Canvas // 如果画布尺寸为0,使用窗口尺寸作为备选 if (canvasWidth <= 0 || canvasHeight <= 0) { - canvasWidth = this.ActualWidth; - canvasHeight = this.ActualHeight; + canvasWidth = ActualWidth; + canvasHeight = ActualHeight; } // 如果仍然为0,使用屏幕尺寸 @@ -1058,11 +1060,9 @@ namespace Ink_Canvas return new Rect(left, top, width, height); } } - else - { - // 没有变换时直接使用位置和大小 - return new Rect(left, top, width, height); - } + + // 没有变换时直接使用位置和大小 + return new Rect(left, top, width, height); } catch (Exception ex) { @@ -1165,7 +1165,7 @@ namespace Ink_Canvas UpdateImageSelectionToolbarPosition(currentSelectedElement); } - LogHelper.WriteLogToFile($"图片左旋转完成"); + LogHelper.WriteLogToFile("图片左旋转完成"); } } catch (Exception ex) @@ -1189,7 +1189,7 @@ namespace Ink_Canvas UpdateImageSelectionToolbarPosition(currentSelectedElement); } - LogHelper.WriteLogToFile($"图片右旋转完成"); + LogHelper.WriteLogToFile("图片右旋转完成"); } } catch (Exception ex) @@ -1214,7 +1214,7 @@ namespace Ink_Canvas UpdateImageSelectionToolbarPosition(currentSelectedElement); } - LogHelper.WriteLogToFile($"图片缩放减小完成"); + LogHelper.WriteLogToFile("图片缩放减小完成"); } } catch (Exception ex) @@ -1239,7 +1239,7 @@ namespace Ink_Canvas UpdateImageSelectionToolbarPosition(currentSelectedElement); } - LogHelper.WriteLogToFile($"图片缩放增大完成"); + LogHelper.WriteLogToFile("图片缩放增大完成"); } } catch (Exception ex) diff --git a/Ink Canvas/MainWindow_cs/MW_Eraser.cs b/Ink Canvas/MainWindow_cs/MW_Eraser.cs index d49cfe1a..4295d9ce 100644 --- a/Ink Canvas/MainWindow_cs/MW_Eraser.cs +++ b/Ink Canvas/MainWindow_cs/MW_Eraser.cs @@ -1,5 +1,4 @@ -using Ink_Canvas.Helpers; -using System; +using System; using System.Diagnostics; using System.Linq; using System.Windows; @@ -7,6 +6,7 @@ using System.Windows.Controls; using System.Windows.Ink; using System.Windows.Input; using System.Windows.Media; +using Ink_Canvas.Helpers; namespace Ink_Canvas { diff --git a/Ink Canvas/MainWindow_cs/MW_FloatingBarIcons.cs b/Ink Canvas/MainWindow_cs/MW_FloatingBarIcons.cs index 29e6fd09..6d8e3dfe 100644 --- a/Ink Canvas/MainWindow_cs/MW_FloatingBarIcons.cs +++ b/Ink Canvas/MainWindow_cs/MW_FloatingBarIcons.cs @@ -1,5 +1,3 @@ -using Ink_Canvas.Helpers; -using iNKORE.UI.WPF.Modern; using System; using System.Diagnostics; using System.Threading; @@ -13,6 +11,8 @@ using System.Windows.Interop; using System.Windows.Media; using System.Windows.Media.Animation; using System.Windows.Media.Imaging; +using Ink_Canvas.Helpers; +using iNKORE.UI.WPF.Modern; using Application = System.Windows.Application; using Button = System.Windows.Controls.Button; using Cursors = System.Windows.Input.Cursors; @@ -641,6 +641,9 @@ namespace Ink_Canvas ICCWaterMarkWhite.Visibility = Visibility.Visible; ICCWaterMarkDark.Visibility = Visibility.Collapsed; } + + // 新增:确保在白板模式下基础浮动栏被隐藏 + ViewboxFloatingBar.Visibility = Visibility.Collapsed; } else { @@ -651,10 +654,10 @@ namespace Ink_Canvas { var dops = Settings.PowerPointSettings.PPTButtonsDisplayOption.ToString(); var dopsc = dops.ToCharArray(); - if (dopsc[0] == '2' && isDisplayingOrHidingBlackboard == false) AnimationsHelper.ShowWithFadeIn(LeftBottomPanelForPPTNavigation); - if (dopsc[1] == '2' && isDisplayingOrHidingBlackboard == false) AnimationsHelper.ShowWithFadeIn(RightBottomPanelForPPTNavigation); - if (dopsc[2] == '2' && isDisplayingOrHidingBlackboard == false) AnimationsHelper.ShowWithFadeIn(LeftSidePanelForPPTNavigation); - if (dopsc[3] == '2' && isDisplayingOrHidingBlackboard == false) AnimationsHelper.ShowWithFadeIn(RightSidePanelForPPTNavigation); + if (dopsc[0] == '2' && !isDisplayingOrHidingBlackboard) AnimationsHelper.ShowWithFadeIn(LeftBottomPanelForPPTNavigation); + if (dopsc[1] == '2' && !isDisplayingOrHidingBlackboard) AnimationsHelper.ShowWithFadeIn(RightBottomPanelForPPTNavigation); + if (dopsc[2] == '2' && !isDisplayingOrHidingBlackboard) AnimationsHelper.ShowWithFadeIn(LeftSidePanelForPPTNavigation); + if (dopsc[3] == '2' && !isDisplayingOrHidingBlackboard) AnimationsHelper.ShowWithFadeIn(RightSidePanelForPPTNavigation); } // 修复PPT放映时点击白板按钮后翻页按钮不显示的问题 if (BtnPPTSlideShowEnd.Visibility == Visibility.Visible) @@ -693,6 +696,9 @@ namespace Ink_Canvas BlackBoardWaterMark.Visibility = Visibility.Collapsed; ICCWaterMarkDark.Visibility = Visibility.Collapsed; ICCWaterMarkWhite.Visibility = Visibility.Collapsed; + + // 新增:退出白板模式时恢复基础浮动栏的显示 + ViewboxFloatingBar.Visibility = Visibility.Visible; } BtnSwitch_Click(BtnSwitch, null); @@ -1295,7 +1301,7 @@ namespace Ink_Canvas if (MarginFromEdge == 60) MarginFromEdge = 55; await Dispatcher.InvokeAsync(() => { - if (Topmost == false) + if (!Topmost) MarginFromEdge = -60; else ViewboxFloatingBar.Visibility = Visibility.Visible; @@ -1337,7 +1343,7 @@ namespace Ink_Canvas pos.X = (screenWidth - floatingBarWidth) / 2; - if (PosXCaculatedWithTaskbarHeight == false) + if (!PosXCaculatedWithTaskbarHeight) { // 如果任务栏高度为0(隐藏状态),则使用固定边距 if (toolbarHeight == 0) @@ -1405,7 +1411,7 @@ namespace Ink_Canvas await Dispatcher.InvokeAsync(() => { ViewboxFloatingBar.Margin = new Thickness(pos.X, pos.Y, -2000, -200); - if (Topmost == false) ViewboxFloatingBar.Visibility = Visibility.Hidden; + if (!Topmost) ViewboxFloatingBar.Visibility = Visibility.Hidden; }); } @@ -2560,6 +2566,9 @@ namespace Ink_Canvas ClearStrokes(true); RestoreStrokes(true); + // 新增:在屏幕模式下恢复基础浮动栏的显示 + ViewboxFloatingBar.Visibility = Visibility.Visible; + if (BtnSwitchTheme.Content.ToString() == "浅色") { BtnSwitch.Content = "黑板"; @@ -2598,6 +2607,9 @@ namespace Ink_Canvas // PPT墨迹和白板墨迹应该分别管理,不应该互相影响 RestoreStrokes(); + // 新增:在白板模式下隐藏基础浮动栏 + ViewboxFloatingBar.Visibility = Visibility.Collapsed; + BtnSwitch.Content = "屏幕"; if (BtnSwitchTheme.Content.ToString() == "浅色") { @@ -2737,11 +2749,23 @@ namespace Ink_Canvas StackPanelCanvasControls.Visibility = Visibility.Collapsed; CheckEnableTwoFingerGestureBtnVisibility(false); HideSubPanels("cursor"); + + // 新增:在屏幕模式下显示基础浮动栏 + if (currentMode == 0) + { + ViewboxFloatingBar.Visibility = Visibility.Visible; + } } else { AnimationsHelper.ShowWithSlideFromLeftAndFade(StackPanelCanvasControls); CheckEnableTwoFingerGestureBtnVisibility(true); + + // 新增:在批注模式下显示基础浮动栏 + if (currentMode == 0) + { + ViewboxFloatingBar.Visibility = Visibility.Visible; + } } } @@ -3224,26 +3248,27 @@ namespace Ink_Canvas { return "select"; } - else if (inkCanvas.EditingMode == InkCanvasEditingMode.Ink) + + if (inkCanvas.EditingMode == InkCanvasEditingMode.Ink) { // 检查是否是荧光笔模式 if (drawingAttributes != null && drawingAttributes.IsHighlighter) { return "color"; } - else - { - return "pen"; - } + + return "pen"; } - else if (inkCanvas.EditingMode == InkCanvasEditingMode.EraseByPoint) + + if (inkCanvas.EditingMode == InkCanvasEditingMode.EraseByPoint) { // 检查是面积擦还是线擦 if (Eraser_Icon != null && Eraser_Icon.Visibility == Visibility.Visible) { return "eraser"; } - else if (EraserByStrokes_Icon != null && EraserByStrokes_Icon.Visibility == Visibility.Visible) + + if (EraserByStrokes_Icon != null && EraserByStrokes_Icon.Visibility == Visibility.Visible) { return "eraserByStrokes"; } diff --git a/Ink Canvas/MainWindow_cs/MW_ImageInsert.cs b/Ink Canvas/MainWindow_cs/MW_ImageInsert.cs index 6f9ece0b..9b1a6592 100644 --- a/Ink Canvas/MainWindow_cs/MW_ImageInsert.cs +++ b/Ink Canvas/MainWindow_cs/MW_ImageInsert.cs @@ -1,4 +1,3 @@ -using Ink_Canvas.Helpers; using System; using System.Collections.Generic; using System.Drawing; @@ -11,8 +10,14 @@ using System.Windows.Controls; using System.Windows.Forms; using System.Windows.Media; using System.Windows.Media.Imaging; +using System.Windows.Threading; +using Ink_Canvas.Helpers; using Application = System.Windows.Application; +using Color = System.Drawing.Color; +using Cursors = System.Windows.Input.Cursors; +using Image = System.Windows.Controls.Image; using PixelFormat = System.Drawing.Imaging.PixelFormat; +using Point = System.Windows.Point; using Size = System.Drawing.Size; namespace Ink_Canvas @@ -21,9 +26,9 @@ namespace Ink_Canvas public struct ScreenshotResult { public Rectangle Area; - public List Path; + public List Path; - public ScreenshotResult(Rectangle area, List path = null) + public ScreenshotResult(Rectangle area, List path = null) { Area = area; Path = path; @@ -172,7 +177,7 @@ namespace Ink_Canvas var bitmapSource = ConvertBitmapToBitmapSource(bitmap); // 创建WPF Image控件 - var image = new System.Windows.Controls.Image + var image = new Image { Source = bitmapSource, Stretch = Stretch.Uniform @@ -202,7 +207,7 @@ namespace Ink_Canvas CenterAndScaleScreenshot(image); // 绑定事件处理器 BindScreenshotEvents(image); - }), System.Windows.Threading.DispatcherPriority.Loaded); + }), DispatcherPriority.Loaded); }; // 添加到画布 @@ -221,7 +226,7 @@ namespace Ink_Canvas } // 初始化截图的TransformGroup - private void InitializeScreenshotTransform(System.Windows.Controls.Image image) + private void InitializeScreenshotTransform(Image image) { var transformGroup = new TransformGroup(); transformGroup.Children.Add(new ScaleTransform(1, 1)); @@ -231,7 +236,7 @@ namespace Ink_Canvas } // 绑定截图事件处理器 - private void BindScreenshotEvents(System.Windows.Controls.Image image) + private void BindScreenshotEvents(Image image) { // 鼠标事件 image.MouseLeftButtonDown += Element_MouseLeftButtonDown; @@ -245,7 +250,7 @@ namespace Ink_Canvas image.ManipulationCompleted += Element_ManipulationCompleted; // 设置光标 - image.Cursor = System.Windows.Input.Cursors.Hand; + image.Cursor = Cursors.Hand; // 禁用InkCanvas对截图的选择处理 image.IsHitTestVisible = true; @@ -253,7 +258,7 @@ namespace Ink_Canvas } // 专门为截图优化的居中缩放方法 - private void CenterAndScaleScreenshot(System.Windows.Controls.Image image) + private void CenterAndScaleScreenshot(Image image) { try { @@ -270,8 +275,8 @@ namespace Ink_Canvas // 如果画布尺寸为0,使用窗口尺寸作为备选 if (canvasWidth <= 0 || canvasHeight <= 0) { - canvasWidth = this.ActualWidth; - canvasHeight = this.ActualHeight; + canvasWidth = ActualWidth; + canvasHeight = ActualHeight; } // 如果仍然为0,使用屏幕尺寸 @@ -338,7 +343,7 @@ namespace Ink_Canvas } // 应用形状遮罩到截图 - private Bitmap ApplyShapeMask(Bitmap bitmap, List path, Rectangle area) + private Bitmap ApplyShapeMask(Bitmap bitmap, List path, Rectangle area) { try { @@ -360,7 +365,7 @@ namespace Ink_Canvas using (var resultGraphics = Graphics.FromImage(resultBitmap)) { // 清除位图,设置为完全透明 - resultGraphics.Clear(System.Drawing.Color.Transparent); + resultGraphics.Clear(Color.Transparent); // 设置高质量渲染 resultGraphics.SmoothingMode = SmoothingMode.AntiAlias; diff --git a/Ink Canvas/MainWindow_cs/MW_Notification.cs b/Ink Canvas/MainWindow_cs/MW_Notification.cs index e1e69945..c473b859 100644 --- a/Ink Canvas/MainWindow_cs/MW_Notification.cs +++ b/Ink Canvas/MainWindow_cs/MW_Notification.cs @@ -1,8 +1,8 @@ -using Ink_Canvas.Helpers; -using System; +using System; using System.Linq; using System.Threading; using System.Windows; +using Ink_Canvas.Helpers; namespace Ink_Canvas { diff --git a/Ink Canvas/MainWindow_cs/MW_PPT.cs b/Ink Canvas/MainWindow_cs/MW_PPT.cs index ea3ac813..065def08 100644 --- a/Ink Canvas/MainWindow_cs/MW_PPT.cs +++ b/Ink Canvas/MainWindow_cs/MW_PPT.cs @@ -1,8 +1,4 @@ -using Ink_Canvas.Helpers; -using iNKORE.UI.WPF.Modern; -using Microsoft.Office.Core; -using Microsoft.Office.Interop.PowerPoint; -using System; +using System; using System.IO; using System.Runtime.InteropServices; using System.Security.Cryptography; @@ -12,6 +8,10 @@ using System.Threading.Tasks; using System.Windows; using System.Windows.Media; using System.Windows.Threading; +using Ink_Canvas.Helpers; +using iNKORE.UI.WPF.Modern; +using Microsoft.Office.Core; +using Microsoft.Office.Interop.PowerPoint; using Application = System.Windows.Application; using File = System.IO.File; using MessageBox = System.Windows.MessageBox; diff --git a/Ink Canvas/MainWindow_cs/MW_PageListView.cs b/Ink Canvas/MainWindow_cs/MW_PageListView.cs index 2a185925..c7ea6c80 100644 --- a/Ink Canvas/MainWindow_cs/MW_PageListView.cs +++ b/Ink Canvas/MainWindow_cs/MW_PageListView.cs @@ -1,10 +1,10 @@ -using Ink_Canvas.Helpers; -using System.Collections.ObjectModel; +using System.Collections.ObjectModel; using System.Linq; using System.Windows; using System.Windows.Controls; using System.Windows.Ink; using System.Windows.Input; +using Ink_Canvas.Helpers; namespace Ink_Canvas { diff --git a/Ink Canvas/MainWindow_cs/MW_Save&OpenStrokes.cs b/Ink Canvas/MainWindow_cs/MW_Save&OpenStrokes.cs index bf233c24..fb242d97 100644 --- a/Ink Canvas/MainWindow_cs/MW_Save&OpenStrokes.cs +++ b/Ink Canvas/MainWindow_cs/MW_Save&OpenStrokes.cs @@ -1,15 +1,22 @@ -using Ink_Canvas.Helpers; -using Newtonsoft.Json; using System; using System.Collections.Generic; +using System.Drawing; +using System.Drawing.Imaging; using System.IO; +using System.IO.Compression; +using System.Text; using System.Windows; using System.Windows.Controls; +using System.Windows.Forms; using System.Windows.Ink; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; +using Ink_Canvas.Helpers; +using Newtonsoft.Json; +using Color = System.Drawing.Color; using File = System.IO.File; +using Image = System.Windows.Controls.Image; using OpenFileDialog = Microsoft.Win32.OpenFileDialog; namespace Ink_Canvas @@ -150,7 +157,7 @@ namespace Ink_Canvas catch (Exception ex) { ShowNotification("墨迹保存失败"); - LogHelper.WriteLogToFile("墨迹保存失败 | " + ex.ToString(), LogHelper.LogType.Error); + LogHelper.WriteLogToFile("墨迹保存失败 | " + ex, LogHelper.LogType.Error); } } @@ -191,7 +198,7 @@ namespace Ink_Canvas // 保存元数据信息 string metadataFile = Path.Combine(tempDir, "metadata.txt"); - using (var writer = new StreamWriter(metadataFile, false, System.Text.Encoding.UTF8)) + using (var writer = new StreamWriter(metadataFile, false, Encoding.UTF8)) { writer.WriteLine($"保存时间: {DateTime.Now:yyyy-MM-dd HH:mm:ss}"); writer.WriteLine($"总页数: {allPageStrokes.Count}"); @@ -219,7 +226,7 @@ namespace Ink_Canvas File.Delete(zipFileName); // 使用System.IO.Compression.FileSystem来创建ZIP - System.IO.Compression.ZipFile.CreateFromDirectory(tempDir, zipFileName); + ZipFile.CreateFromDirectory(tempDir, zipFileName); if (newNotice) ShowNotification($"多页面墨迹成功保存至压缩包 {zipFileName}"); } @@ -233,13 +240,13 @@ namespace Ink_Canvas } catch (Exception ex) { - LogHelper.WriteLogToFile($"清理临时目录失败: {ex.ToString()}", LogHelper.LogType.Warning); + LogHelper.WriteLogToFile($"清理临时目录失败: {ex}", LogHelper.LogType.Warning); } } } catch (Exception ex) { - LogHelper.WriteLogToFile($"保存多页面墨迹压缩包失败: {ex.ToString()}", LogHelper.LogType.Error); + LogHelper.WriteLogToFile($"保存多页面墨迹压缩包失败: {ex}", LogHelper.LogType.Error); throw; } } @@ -250,16 +257,16 @@ namespace Ink_Canvas private void SaveSinglePageStrokesAsImage(string savePathWithName, bool newNotice) { // 全页面保存模式 - 保存整个墨迹页面的图像 - var bitmap = new System.Drawing.Bitmap( - (int)System.Windows.Forms.Screen.PrimaryScreen.Bounds.Width, - (int)System.Windows.Forms.Screen.PrimaryScreen.Bounds.Height); + var bitmap = new Bitmap( + Screen.PrimaryScreen.Bounds.Width, + Screen.PrimaryScreen.Bounds.Height); - using (var g = System.Drawing.Graphics.FromImage(bitmap)) + using (var g = Graphics.FromImage(bitmap)) { // 创建黑色或透明背景 - System.Drawing.Color bgColor = Settings.Canvas.UsingWhiteboard - ? System.Drawing.Color.White - : System.Drawing.Color.FromArgb(22, 41, 36); // 黑板背景色 + Color bgColor = Settings.Canvas.UsingWhiteboard + ? Color.White + : Color.FromArgb(22, 41, 36); // 黑板背景色 g.Clear(bgColor); // 将InkCanvas墨迹渲染到Visual @@ -287,7 +294,7 @@ namespace Ink_Canvas { encoder.Save(ms); ms.Seek(0, SeekOrigin.Begin); - var imgBitmap = new System.Drawing.Bitmap(ms); + var imgBitmap = new Bitmap(ms); // 将生成的墨迹图像绘制到屏幕截图上 // 居中绘制,确保墨迹位于屏幕中央 @@ -297,7 +304,7 @@ namespace Ink_Canvas // 保存为PNG string imagePathWithName = Path.ChangeExtension(savePathWithName, "png"); - bitmap.Save(imagePathWithName, System.Drawing.Imaging.ImageFormat.Png); + bitmap.Save(imagePathWithName, ImageFormat.Png); // 仍然保存墨迹文件以兼容旧版本 var fs = new FileStream(savePathWithName, FileMode.Create); @@ -337,7 +344,7 @@ namespace Ink_Canvas } catch (Exception ex) { - LogHelper.WriteLogToFile($"保存页面图像失败: {ex.ToString()}", LogHelper.LogType.Error); + LogHelper.WriteLogToFile($"保存页面图像失败: {ex}", LogHelper.LogType.Error); throw; } } @@ -376,7 +383,7 @@ namespace Ink_Canvas catch (Exception ex) { ShowNotification("墨迹打开失败"); - LogHelper.WriteLogToFile($"墨迹打开失败: {ex.ToString()}", LogHelper.LogType.Error); + LogHelper.WriteLogToFile($"墨迹打开失败: {ex}", LogHelper.LogType.Error); } } @@ -394,7 +401,7 @@ namespace Ink_Canvas try { // 解压ZIP文件 - System.IO.Compression.ZipFile.ExtractToDirectory(zipFilePath, tempDir); + ZipFile.ExtractToDirectory(zipFilePath, tempDir); // 读取元数据文件 string metadataFile = Path.Combine(tempDir, "metadata.txt"); @@ -447,13 +454,13 @@ namespace Ink_Canvas } catch (Exception ex) { - LogHelper.WriteLogToFile($"清理临时目录失败: {ex.ToString()}", LogHelper.LogType.Warning); + LogHelper.WriteLogToFile($"清理临时目录失败: {ex}", LogHelper.LogType.Warning); } } } catch (Exception ex) { - LogHelper.WriteLogToFile($"打开ICC压缩包失败: {ex.ToString()}", LogHelper.LogType.Error); + LogHelper.WriteLogToFile($"打开ICC压缩包失败: {ex}", LogHelper.LogType.Error); throw; } } @@ -465,7 +472,7 @@ namespace Ink_Canvas { var metadata = new Dictionary(); - using (var reader = new StreamReader(metadataPath, System.Text.Encoding.UTF8)) + using (var reader = new StreamReader(metadataPath, Encoding.UTF8)) { string line; while ((line = reader.ReadLine()) != null) @@ -556,7 +563,7 @@ namespace Ink_Canvas } catch (Exception ex) { - LogHelper.WriteLogToFile($"恢复PPT墨迹失败: {ex.ToString()}", LogHelper.LogType.Error); + LogHelper.WriteLogToFile($"恢复PPT墨迹失败: {ex}", LogHelper.LogType.Error); throw; } } @@ -609,7 +616,7 @@ namespace Ink_Canvas { // 创建历史记录 var history = new TimeMachineHistory(strokes, TimeMachineHistoryType.UserInput, false); - TimeMachineHistories[pageNumber] = new TimeMachineHistory[] { history }; + TimeMachineHistories[pageNumber] = new[] { history }; } } } @@ -628,7 +635,7 @@ namespace Ink_Canvas } catch (Exception ex) { - LogHelper.WriteLogToFile($"恢复白板墨迹失败: {ex.ToString()}", LogHelper.LogType.Error); + LogHelper.WriteLogToFile($"恢复白板墨迹失败: {ex}", LogHelper.LogType.Error); throw; } } diff --git a/Ink Canvas/MainWindow_cs/MW_Screenshot.cs b/Ink Canvas/MainWindow_cs/MW_Screenshot.cs index 05b5cf89..f398a4e9 100644 --- a/Ink Canvas/MainWindow_cs/MW_Screenshot.cs +++ b/Ink Canvas/MainWindow_cs/MW_Screenshot.cs @@ -1,5 +1,6 @@ using System; using System.Drawing; +using System.Drawing.Drawing2D; using System.Drawing.Imaging; using System.IO; using System.Windows; @@ -42,10 +43,10 @@ namespace Ink_Canvas using (var memoryGraphics = Graphics.FromImage(bitmap)) { // 设置高质量渲染 - memoryGraphics.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality; - memoryGraphics.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic; - memoryGraphics.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality; - memoryGraphics.CompositingMode = System.Drawing.Drawing2D.CompositingMode.SourceOver; + memoryGraphics.CompositingQuality = CompositingQuality.HighQuality; + memoryGraphics.InterpolationMode = InterpolationMode.HighQualityBicubic; + memoryGraphics.SmoothingMode = SmoothingMode.HighQuality; + memoryGraphics.CompositingMode = CompositingMode.SourceOver; memoryGraphics.CopyFromScreen(rc.X, rc.Y, 0, 0, rc.Size, CopyPixelOperation.SourceCopy); diff --git a/Ink Canvas/MainWindow_cs/MW_SelectionGestures.cs b/Ink Canvas/MainWindow_cs/MW_SelectionGestures.cs index 88daa927..f8547b85 100644 --- a/Ink Canvas/MainWindow_cs/MW_SelectionGestures.cs +++ b/Ink Canvas/MainWindow_cs/MW_SelectionGestures.cs @@ -1,13 +1,13 @@ -using iNKORE.UI.WPF.Modern.Controls; using System; using System.Collections.Generic; +using System.Linq; using System.Windows; using System.Windows.Controls; using System.Windows.Ink; using System.Windows.Input; using System.Windows.Media; +using iNKORE.UI.WPF.Modern.Controls; using Point = System.Windows.Point; -using System.Linq; namespace Ink_Canvas { @@ -308,7 +308,7 @@ namespace Ink_Canvas // 检查是否有图片元素被选中 var selectedElements = inkCanvas.GetSelectedElements(); - bool hasImageElement = selectedElements.Any(element => element is System.Windows.Controls.Image); + bool hasImageElement = selectedElements.Any(element => element is Image); // 如果有图片元素被选中,不显示选择框 if (hasImageElement) @@ -551,11 +551,9 @@ namespace Ink_Canvas return new Rect(left, top, width, height); } } - else - { - // 没有变换时直接使用位置和大小 - return new Rect(left, top, width, height); - } + + // 没有变换时直接使用位置和大小 + return new Rect(left, top, width, height); } return new Rect(0, 0, 0, 0); diff --git a/Ink Canvas/MainWindow_cs/MW_Settings.cs b/Ink Canvas/MainWindow_cs/MW_Settings.cs index 7ebcbfe3..6f100340 100644 --- a/Ink Canvas/MainWindow_cs/MW_Settings.cs +++ b/Ink Canvas/MainWindow_cs/MW_Settings.cs @@ -1,7 +1,3 @@ -using Hardcodet.Wpf.TaskbarNotification; -using Ink_Canvas.Helpers; -using Newtonsoft.Json; -using OSVersionExtension; using System; using System.Diagnostics; using System.IO; @@ -13,6 +9,11 @@ using System.Windows.Input; using System.Windows.Interop; using System.Windows.Media; using System.Windows.Media.Imaging; +using System.Windows.Threading; +using Hardcodet.Wpf.TaskbarNotification; +using Ink_Canvas.Helpers; +using Newtonsoft.Json; +using OSVersionExtension; using Application = System.Windows.Application; using CheckBox = System.Windows.Controls.CheckBox; using ComboBox = System.Windows.Controls.ComboBox; @@ -2709,7 +2710,7 @@ namespace Ink_Canvas { LogHelper.WriteLogToFile($"重新计算高光位置和浮动栏位置失败: {ex.Message}", LogHelper.LogType.Error); } - }), System.Windows.Threading.DispatcherPriority.Loaded); + }), DispatcherPriority.Loaded); } catch (Exception ex) { diff --git a/Ink Canvas/MainWindow_cs/MW_SettingsToLoad.cs b/Ink Canvas/MainWindow_cs/MW_SettingsToLoad.cs index a423b3c2..5501b884 100644 --- a/Ink Canvas/MainWindow_cs/MW_SettingsToLoad.cs +++ b/Ink Canvas/MainWindow_cs/MW_SettingsToLoad.cs @@ -1,8 +1,4 @@ -using Hardcodet.Wpf.TaskbarNotification; -using Ink_Canvas.Helpers; -using Newtonsoft.Json; -using OSVersionExtension; -using System; +using System; using System.Reflection; using System.Windows; using System.Windows.Controls; @@ -10,6 +6,10 @@ using System.Windows.Ink; using System.Windows.Interop; using System.Windows.Media; using System.Windows.Media.Imaging; +using Hardcodet.Wpf.TaskbarNotification; +using Ink_Canvas.Helpers; +using Newtonsoft.Json; +using OSVersionExtension; using File = System.IO.File; using OperatingSystem = OSVersionExtension.OperatingSystem; diff --git a/Ink Canvas/MainWindow_cs/MW_ShapeDrawing.cs b/Ink Canvas/MainWindow_cs/MW_ShapeDrawing.cs index f72ed6ab..4b8ca738 100644 --- a/Ink Canvas/MainWindow_cs/MW_ShapeDrawing.cs +++ b/Ink Canvas/MainWindow_cs/MW_ShapeDrawing.cs @@ -1,6 +1,4 @@ -using Ink_Canvas.Helpers; -using iNKORE.UI.WPF.Modern.Controls; -using System; +using System; using System.Collections.Generic; using System.Diagnostics; using System.Threading.Tasks; @@ -10,6 +8,8 @@ using System.Windows.Ink; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Animation; +using Ink_Canvas.Helpers; +using iNKORE.UI.WPF.Modern.Controls; using MessageBox = System.Windows.MessageBox; using Point = System.Windows.Point; @@ -499,20 +499,18 @@ namespace Ink_Canvas catch { } return; } - else + + // 其他情况正常删除临时笔画 + try { - // 其他情况正常删除临时笔画 - try - { - inkCanvas.Strokes.Remove(lastTempStroke); - inkCanvas.Strokes.Remove(lastTempStrokeCollection); - } - catch - { - Trace.WriteLine("lastTempStrokeCollection failed."); - } - return; + inkCanvas.Strokes.Remove(lastTempStroke); + inkCanvas.Strokes.Remove(lastTempStrokeCollection); } + catch + { + Trace.WriteLine("lastTempStrokeCollection failed."); + } + return; } // 修复:双曲线绘制时,第二笔应该基于第一笔的起点,而不是触摸实时位置 diff --git a/Ink Canvas/MainWindow_cs/MW_SimulatePressure&InkToShape.cs b/Ink Canvas/MainWindow_cs/MW_SimulatePressure&InkToShape.cs index e25bb882..8e14c503 100644 --- a/Ink Canvas/MainWindow_cs/MW_SimulatePressure&InkToShape.cs +++ b/Ink Canvas/MainWindow_cs/MW_SimulatePressure&InkToShape.cs @@ -1,5 +1,4 @@ -using Ink_Canvas.Helpers; -using System; +using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; @@ -9,6 +8,7 @@ using System.Windows.Controls; using System.Windows.Ink; using System.Windows.Input; using System.Windows.Media; +using Ink_Canvas.Helpers; using Point = System.Windows.Point; namespace Ink_Canvas diff --git a/Ink Canvas/MainWindow_cs/MW_TimeMachine.cs b/Ink Canvas/MainWindow_cs/MW_TimeMachine.cs index c663f058..541d2068 100644 --- a/Ink Canvas/MainWindow_cs/MW_TimeMachine.cs +++ b/Ink Canvas/MainWindow_cs/MW_TimeMachine.cs @@ -1,5 +1,4 @@ -using Ink_Canvas.Helpers; -using System; +using System; using System.Collections.Generic; using System.Diagnostics; using System.Windows; @@ -7,6 +6,7 @@ using System.Windows.Controls; using System.Windows.Ink; using System.Windows.Input; using System.Windows.Media; +using Ink_Canvas.Helpers; namespace Ink_Canvas { diff --git a/Ink Canvas/MainWindow_cs/MW_Timer.cs b/Ink Canvas/MainWindow_cs/MW_Timer.cs index 3c9e0e4b..4988c444 100644 --- a/Ink Canvas/MainWindow_cs/MW_Timer.cs +++ b/Ink Canvas/MainWindow_cs/MW_Timer.cs @@ -1,5 +1,4 @@ -using Ink_Canvas.Helpers; -using System; +using System; using System.ComponentModel; using System.Diagnostics; using System.IO; @@ -12,6 +11,7 @@ using System.Threading.Tasks; using System.Timers; using System.Windows; using System.Windows.Controls; +using Ink_Canvas.Helpers; namespace Ink_Canvas { diff --git a/Ink Canvas/MainWindow_cs/MW_TouchEvents.cs b/Ink Canvas/MainWindow_cs/MW_TouchEvents.cs index 42ae0582..7aedfd43 100644 --- a/Ink Canvas/MainWindow_cs/MW_TouchEvents.cs +++ b/Ink Canvas/MainWindow_cs/MW_TouchEvents.cs @@ -1,4 +1,3 @@ -using Ink_Canvas.Helpers; using System; using System.Collections.Generic; using System.Linq; @@ -8,6 +7,8 @@ using System.Windows.Controls; using System.Windows.Ink; using System.Windows.Input; using System.Windows.Media; +using System.Windows.Threading; +using Ink_Canvas.Helpers; using Point = System.Windows.Point; namespace Ink_Canvas @@ -398,10 +399,10 @@ namespace Ink_Canvas private InkCanvasEditingMode palmEraserLastEditingMode = InkCanvasEditingMode.Ink; private bool palmEraserLastIsHighlighter; private bool palmEraserWasEnabledBeforeMultiTouch; - private bool palmEraserTouchDownHandled = false; // 新增:标记手掌擦触摸按下是否已处理 + private bool palmEraserTouchDownHandled; // 新增:标记手掌擦触摸按下是否已处理 private DateTime palmEraserActivationTime; // 新增:记录手掌擦激活时间 private const int PALM_ERASER_TIMEOUT_MS = 3000; // 修改:减少手掌擦超时时间(3秒) - private System.Windows.Threading.DispatcherTimer palmEraserRecoveryTimer; // 新增:手掌擦恢复定时器 + private DispatcherTimer palmEraserRecoveryTimer; // 新增:手掌擦恢复定时器 private HashSet palmEraserTouchIds = new HashSet(); // 新增:记录参与手掌擦的触摸点ID private void inkCanvas_PreviewTouchDown(object sender, TouchEventArgs e) @@ -983,7 +984,7 @@ namespace Ink_Canvas { if (palmEraserRecoveryTimer == null) { - palmEraserRecoveryTimer = new System.Windows.Threading.DispatcherTimer(); + palmEraserRecoveryTimer = new DispatcherTimer(); palmEraserRecoveryTimer.Interval = TimeSpan.FromMilliseconds(1000); // 每秒检查一次 palmEraserRecoveryTimer.Tick += PalmEraserRecoveryTimer_Tick; } diff --git a/Ink Canvas/MainWindow_cs/MW_TrayIcon.cs b/Ink Canvas/MainWindow_cs/MW_TrayIcon.cs index 96796023..b20cb2d7 100644 --- a/Ink Canvas/MainWindow_cs/MW_TrayIcon.cs +++ b/Ink Canvas/MainWindow_cs/MW_TrayIcon.cs @@ -1,12 +1,12 @@ -using Hardcodet.Wpf.TaskbarNotification; -using Ink_Canvas.Helpers; -using iNKORE.UI.WPF.Modern.Controls; -using System; +using System; using System.Diagnostics; using System.Windows; using System.Windows.Controls; using System.Windows.Forms; using System.Windows.Interop; +using Hardcodet.Wpf.TaskbarNotification; +using Ink_Canvas.Helpers; +using iNKORE.UI.WPF.Modern.Controls; using Application = System.Windows.Application; using ContextMenu = System.Windows.Controls.ContextMenu; using MenuItem = System.Windows.Controls.MenuItem; diff --git a/Ink Canvas/Resources/Settings.cs b/Ink Canvas/Resources/Settings.cs index fc4e687a..8efdf432 100644 --- a/Ink Canvas/Resources/Settings.cs +++ b/Ink Canvas/Resources/Settings.cs @@ -1,7 +1,7 @@ -using Newtonsoft.Json; -using System; +using System; using System.Collections.Generic; using System.IO; +using Newtonsoft.Json; namespace Ink_Canvas { @@ -93,11 +93,11 @@ namespace Ink_Canvas [JsonProperty("clearCanvasAlsoClearImages")] public bool ClearCanvasAlsoClearImages { get; set; } = true; [JsonProperty("showCircleCenter")] - public bool ShowCircleCenter { get; set; } = false; + public bool ShowCircleCenter { get; set; } // 墨迹渐隐功能设置 [JsonProperty("enableInkFade")] - public bool EnableInkFade { get; set; } = false; // 是否启用墨迹渐隐功能 + public bool EnableInkFade { get; set; } // 是否启用墨迹渐隐功能 [JsonProperty("inkFadeTime")] public int InkFadeTime { get; set; } = 3000; // 墨迹渐隐时间(毫秒) @@ -152,7 +152,7 @@ namespace Ink_Canvas [JsonProperty("skippedVersion")] public string SkippedVersion { get; set; } = ""; [JsonProperty("isEnableNibMode")] - public bool IsEnableNibMode { get; set; } = false; + public bool IsEnableNibMode { get; set; } [JsonProperty("isFoldAtStartup")] public bool IsFoldAtStartup { get; set; } [JsonProperty("crashAction")] @@ -225,10 +225,10 @@ namespace Ink_Canvas public bool IsShowClearAndMouseButton { get; set; } = true; [JsonProperty("eraserDisplayOption")] - public int EraserDisplayOption { get; set; } = 0; + public int EraserDisplayOption { get; set; } [JsonProperty("isShowQuickColorPalette")] - public bool IsShowQuickColorPalette { get; set; } = false; + public bool IsShowQuickColorPalette { get; set; } [JsonProperty("quickColorPaletteDisplayMode")] public int QuickColorPaletteDisplayMode { get; set; } = 1; diff --git a/Ink Canvas/Windows/AddCustomIconWindow.xaml.cs b/Ink Canvas/Windows/AddCustomIconWindow.xaml.cs index a214c9f2..060c5b9d 100644 --- a/Ink Canvas/Windows/AddCustomIconWindow.xaml.cs +++ b/Ink Canvas/Windows/AddCustomIconWindow.xaml.cs @@ -1,8 +1,8 @@ -using Microsoft.Win32; using System; using System.IO; using System.Windows; using System.Windows.Media.Imaging; +using Microsoft.Win32; namespace Ink_Canvas { diff --git a/Ink Canvas/Windows/AddPickNameBackgroundWindow.xaml.cs b/Ink Canvas/Windows/AddPickNameBackgroundWindow.xaml.cs index bc602748..f9aa8951 100644 --- a/Ink Canvas/Windows/AddPickNameBackgroundWindow.xaml.cs +++ b/Ink Canvas/Windows/AddPickNameBackgroundWindow.xaml.cs @@ -1,8 +1,8 @@ -using Microsoft.Win32; using System; using System.IO; using System.Windows; using System.Windows.Media.Imaging; +using Microsoft.Win32; namespace Ink_Canvas { diff --git a/Ink Canvas/Windows/CountdownTimerWindow.xaml.cs b/Ink Canvas/Windows/CountdownTimerWindow.xaml.cs index 08d2d462..6e00b4c5 100644 --- a/Ink Canvas/Windows/CountdownTimerWindow.xaml.cs +++ b/Ink Canvas/Windows/CountdownTimerWindow.xaml.cs @@ -1,6 +1,4 @@ -using Ink_Canvas.Helpers; -using iNKORE.UI.WPF.Modern.Controls; -using System; +using System; using System.ComponentModel; using System.Media; using System.Timers; @@ -9,6 +7,7 @@ using System.Windows.Forms; using System.Windows.Input; using System.Windows.Interop; using System.Windows.Media; +using Ink_Canvas.Helpers; using Application = System.Windows.Application; using MouseEventArgs = System.Windows.Input.MouseEventArgs; using Timer = System.Timers.Timer; @@ -92,7 +91,7 @@ namespace Ink_Canvas private void Grid_MouseUp(object sender, MouseButtonEventArgs e) { if (isTimerRunning) return; - if (ProcessBarTime.Visibility == Visibility.Visible && isTimerRunning == false) + if (ProcessBarTime.Visibility == Visibility.Visible && !isTimerRunning) { ProcessBarTime.Visibility = Visibility.Collapsed; GridAdjustHour.Visibility = Visibility.Visible; diff --git a/Ink Canvas/Windows/HasNewUpdateWindow.xaml.cs b/Ink Canvas/Windows/HasNewUpdateWindow.xaml.cs index 53a4a06b..41a7b7c8 100644 --- a/Ink Canvas/Windows/HasNewUpdateWindow.xaml.cs +++ b/Ink Canvas/Windows/HasNewUpdateWindow.xaml.cs @@ -1,7 +1,4 @@ -using Ink_Canvas.Helpers; -using iNKORE.UI.WPF.Modern.Controls; -using MdXaml; -using System; +using System; using System.Collections.Generic; using System.IO; using System.Linq; @@ -13,6 +10,9 @@ using System.Windows; using System.Windows.Controls; using System.Windows.Interop; using System.Windows.Media; +using Ink_Canvas.Helpers; +using iNKORE.UI.WPF.Modern.Controls; +using MdXaml; namespace Ink_Canvas { diff --git a/Ink Canvas/Windows/HistoryRollbackWindow.xaml.cs b/Ink Canvas/Windows/HistoryRollbackWindow.xaml.cs index 15e96c61..b9a749a4 100644 --- a/Ink Canvas/Windows/HistoryRollbackWindow.xaml.cs +++ b/Ink Canvas/Windows/HistoryRollbackWindow.xaml.cs @@ -1,4 +1,3 @@ -using Ink_Canvas.Helpers; using System; using System.Collections.Generic; using System.ComponentModel; @@ -8,6 +7,8 @@ using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; using System.Windows.Input; +using Ink_Canvas.Helpers; + // Added for OrderByDescending namespace Ink_Canvas diff --git a/Ink Canvas/Windows/HotkeyItem.xaml.cs b/Ink Canvas/Windows/HotkeyItem.xaml.cs index 4f498877..146791e3 100644 --- a/Ink Canvas/Windows/HotkeyItem.xaml.cs +++ b/Ink Canvas/Windows/HotkeyItem.xaml.cs @@ -2,6 +2,7 @@ using System; using System.Windows; using System.Windows.Controls; using System.Windows.Input; +using System.Windows.Media; namespace Ink_Canvas.Windows { @@ -79,20 +80,20 @@ namespace Ink_Canvas.Windows if (_currentKey == Key.None) { CurrentHotkeyTextBlock.Text = "未设置"; - CurrentHotkeyTextBlock.Foreground = System.Windows.Media.Brushes.Gray; + CurrentHotkeyTextBlock.Foreground = Brushes.Gray; } else { var modifiersText = _currentModifiers == ModifierKeys.None ? "" : $"{_currentModifiers}+"; CurrentHotkeyTextBlock.Text = $"{modifiersText}{_currentKey}"; - CurrentHotkeyTextBlock.Foreground = System.Windows.Media.Brushes.Black; + CurrentHotkeyTextBlock.Foreground = Brushes.Black; } } private void StartHotkeyCapture() { BtnSetHotkey.Content = "请按键..."; - BtnSetHotkey.Background = System.Windows.Media.Brushes.Orange; + BtnSetHotkey.Background = Brushes.Orange; // 设置焦点以捕获键盘事件 Focus(); @@ -105,7 +106,7 @@ namespace Ink_Canvas.Windows private void StopHotkeyCapture() { BtnSetHotkey.Content = "设置"; - BtnSetHotkey.Background = System.Windows.Media.Brushes.DodgerBlue; + BtnSetHotkey.Background = Brushes.DodgerBlue; // 移除键盘事件处理器 KeyDown -= HotkeyItem_KeyDown; diff --git a/Ink Canvas/Windows/HotkeySettingsWindow.xaml.cs b/Ink Canvas/Windows/HotkeySettingsWindow.xaml.cs index 14ca4c9c..b21ee2c5 100644 --- a/Ink Canvas/Windows/HotkeySettingsWindow.xaml.cs +++ b/Ink Canvas/Windows/HotkeySettingsWindow.xaml.cs @@ -1,6 +1,8 @@ using System; using System.Collections.Generic; +using System.Reflection; using System.Windows; +using System.Windows.Controls; using System.Windows.Input; using Ink_Canvas.Helpers; @@ -324,11 +326,11 @@ namespace Ink_Canvas.Windows // 立即保存到配置文件 _hotkeyManager.SaveHotkeysToSettings(); - LogHelper.WriteLogToFile($"已保存快捷键配置"); + LogHelper.WriteLogToFile("已保存快捷键配置"); // 更新UI显示 LoadCurrentHotkeys(); - LogHelper.WriteLogToFile($"已更新UI显示"); + LogHelper.WriteLogToFile("已更新UI显示"); LogHelper.WriteLogToFile($"快捷键 {hotkeyName} 已更新为 {modifiers}+{key} 并保存", LogHelper.LogType.Event); } @@ -403,7 +405,7 @@ namespace Ink_Canvas.Windows { // 通过反射访问主窗口的penType字段 var penTypeField = _mainWindow.GetType().GetField("penType", - System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance); + BindingFlags.NonPublic | BindingFlags.Instance); if (penTypeField != null) { @@ -411,7 +413,7 @@ namespace Ink_Canvas.Windows // 调用CheckPenTypeUIState方法更新UI状态 var checkPenTypeMethod = _mainWindow.GetType().GetMethod("CheckPenTypeUIState", - System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance); + BindingFlags.NonPublic | BindingFlags.Instance); if (checkPenTypeMethod != null) { @@ -436,7 +438,7 @@ namespace Ink_Canvas.Windows { // 通过反射访问主窗口的设置面板 var settingsBorder = _mainWindow.GetType().GetField("BorderSettings", - System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance)?.GetValue(_mainWindow) as System.Windows.Controls.Border; + BindingFlags.NonPublic | BindingFlags.Instance)?.GetValue(_mainWindow) as Border; if (settingsBorder != null) { @@ -445,7 +447,7 @@ namespace Ink_Canvas.Windows // 隐藏设置蒙版 var settingsMask = _mainWindow.GetType().GetField("BorderSettingsMask", - System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance)?.GetValue(_mainWindow) as System.Windows.Controls.Border; + BindingFlags.NonPublic | BindingFlags.Instance)?.GetValue(_mainWindow) as Border; if (settingsMask != null) { @@ -467,7 +469,7 @@ namespace Ink_Canvas.Windows { // 通过反射访问主窗口的设置面板 var settingsBorder = _mainWindow.GetType().GetField("BorderSettings", - System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance)?.GetValue(_mainWindow) as System.Windows.Controls.Border; + BindingFlags.NonPublic | BindingFlags.Instance)?.GetValue(_mainWindow) as Border; if (settingsBorder != null) { @@ -476,7 +478,7 @@ namespace Ink_Canvas.Windows // 显示设置蒙版 var settingsMask = _mainWindow.GetType().GetField("BorderSettingsMask", - System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance)?.GetValue(_mainWindow) as System.Windows.Controls.Border; + BindingFlags.NonPublic | BindingFlags.Instance)?.GetValue(_mainWindow) as Border; if (settingsMask != null) { diff --git a/Ink Canvas/Windows/NamesInputWindow.xaml.cs b/Ink Canvas/Windows/NamesInputWindow.xaml.cs index ab020adc..9e9a637a 100644 --- a/Ink Canvas/Windows/NamesInputWindow.xaml.cs +++ b/Ink Canvas/Windows/NamesInputWindow.xaml.cs @@ -1,7 +1,7 @@ -using Ink_Canvas.Helpers; -using System.ComponentModel; +using System.ComponentModel; using System.IO; using System.Windows; +using Ink_Canvas.Helpers; namespace Ink_Canvas { diff --git a/Ink Canvas/Windows/OperatingGuideWindow.xaml.cs b/Ink Canvas/Windows/OperatingGuideWindow.xaml.cs index 7b129e9c..566ab053 100644 --- a/Ink Canvas/Windows/OperatingGuideWindow.xaml.cs +++ b/Ink Canvas/Windows/OperatingGuideWindow.xaml.cs @@ -1,7 +1,6 @@ -using Ink_Canvas.Helpers; -using iNKORE.UI.WPF.Modern.Controls; -using System.Windows; +using System.Windows; using System.Windows.Input; +using Ink_Canvas.Helpers; namespace Ink_Canvas { diff --git a/Ink Canvas/Windows/PluginSettingsWindow.xaml.cs b/Ink Canvas/Windows/PluginSettingsWindow.xaml.cs index cdaecc4e..96395e9b 100644 --- a/Ink Canvas/Windows/PluginSettingsWindow.xaml.cs +++ b/Ink Canvas/Windows/PluginSettingsWindow.xaml.cs @@ -1,9 +1,3 @@ -using Ink_Canvas.Helpers; -using Ink_Canvas.Helpers.Plugins; -using Ink_Canvas.Helpers.Plugins.BuiltIn; -using Ink_Canvas.Helpers.Plugins.BuiltIn.SuperLauncher; -using iNKORE.UI.WPF.Modern.Controls; -using Microsoft.Win32; using System; using System.Collections.ObjectModel; using System.ComponentModel; @@ -12,6 +6,12 @@ using System.Linq; using System.Windows; using System.Windows.Controls; using System.Windows.Threading; +using Ink_Canvas.Helpers; +using Ink_Canvas.Helpers.Plugins; +using Ink_Canvas.Helpers.Plugins.BuiltIn; +using Ink_Canvas.Helpers.Plugins.BuiltIn.SuperLauncher; +using iNKORE.UI.WPF.Modern.Controls; +using Microsoft.Win32; using MessageBox = System.Windows.MessageBox; namespace Ink_Canvas.Windows diff --git a/Ink Canvas/Windows/RandWindow.xaml.cs b/Ink Canvas/Windows/RandWindow.xaml.cs index ae708f2a..c4e07ac7 100644 --- a/Ink Canvas/Windows/RandWindow.xaml.cs +++ b/Ink Canvas/Windows/RandWindow.xaml.cs @@ -1,7 +1,4 @@ -using Ink_Canvas.Helpers; -using iNKORE.UI.WPF.Modern.Controls; -using Microsoft.VisualBasic; -using System; +using System; using System.Collections.Generic; using System.Diagnostics; using System.IO; @@ -11,6 +8,8 @@ using System.Windows; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; +using Ink_Canvas.Helpers; +using Microsoft.VisualBasic; using MessageBox = iNKORE.UI.WPF.Modern.Controls.MessageBox; namespace Ink_Canvas @@ -24,7 +23,7 @@ namespace Ink_Canvas { InitializeComponent(); AnimationsHelper.ShowWithSlideFromBottomAndFade(this, 0.25); - BorderBtnHelp.Visibility = settings.RandSettings.DisplayRandWindowNamesInputBtn == false ? Visibility.Collapsed : Visibility.Visible; + BorderBtnHelp.Visibility = !settings.RandSettings.DisplayRandWindowNamesInputBtn ? Visibility.Collapsed : Visibility.Visible; RandMaxPeopleOneTime = settings.RandSettings.RandWindowOnceMaxStudents; RandDoneAutoCloseWaitTime = (int)settings.RandSettings.RandWindowOnceCloseLatency * 1000; @@ -69,7 +68,7 @@ namespace Ink_Canvas isAutoClose = IsAutoClose; PeopleControlPane.Opacity = 0.4; PeopleControlPane.IsHitTestVisible = false; - BorderBtnHelp.Visibility = settings.RandSettings.DisplayRandWindowNamesInputBtn == false ? Visibility.Collapsed : Visibility.Visible; + BorderBtnHelp.Visibility = !settings.RandSettings.DisplayRandWindowNamesInputBtn ? Visibility.Collapsed : Visibility.Visible; RandMaxPeopleOneTime = settings.RandSettings.RandWindowOnceMaxStudents; RandDoneAutoCloseWaitTime = (int)settings.RandSettings.RandWindowOnceCloseLatency * 1000; diff --git a/Ink Canvas/Windows/ScreenshotSelectorWindow.xaml b/Ink Canvas/Windows/ScreenshotSelectorWindow.xaml index 00b0bf05..d82fcbd6 100644 --- a/Ink Canvas/Windows/ScreenshotSelectorWindow.xaml +++ b/Ink Canvas/Windows/ScreenshotSelectorWindow.xaml @@ -20,71 +20,157 @@ Fill="Black" Opacity="0.3" /> + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + - - -