From 07c7acc37acd64ec300000c20aaaa59ddf4173e6 Mon Sep 17 00:00:00 2001 From: CJKmkp <2564608840@qq.com> Date: Mon, 11 Aug 2025 19:18:21 +0800 Subject: [PATCH] =?UTF-8?q?add:=E6=8C=89=E9=92=AE=E6=98=BE=E7=A4=BA?= =?UTF-8?q?=E6=8E=A7=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Ink Canvas/MainWindow.xaml | 13 ++++++++ Ink Canvas/MainWindow_cs/MW_Settings.cs | 33 +++++++++++++++++++ Ink Canvas/MainWindow_cs/MW_SettingsToLoad.cs | 1 + Ink Canvas/Resources/Settings.cs | 3 ++ 4 files changed, 50 insertions(+) diff --git a/Ink Canvas/MainWindow.xaml b/Ink Canvas/MainWindow.xaml index 38fc1633..bc8ed2b3 100644 --- a/Ink Canvas/MainWindow.xaml +++ b/Ink Canvas/MainWindow.xaml @@ -1227,6 +1227,19 @@ Toggled="ToggleSwitchShowHideButton_Toggled" /> + + + + + + + + + + diff --git a/Ink Canvas/MainWindow_cs/MW_Settings.cs b/Ink Canvas/MainWindow_cs/MW_Settings.cs index ebf4cd3e..431fae48 100644 --- a/Ink Canvas/MainWindow_cs/MW_Settings.cs +++ b/Ink Canvas/MainWindow_cs/MW_Settings.cs @@ -1861,6 +1861,7 @@ namespace Ink_Canvas Settings.Appearance.IsShowClearButton = true; Settings.Appearance.IsShowWhiteboardButton = true; Settings.Appearance.IsShowHideButton = true; + Settings.Appearance.EraserDisplayOption = 0; Settings.Automation.IsAutoFoldInEasiNote = true; Settings.Automation.IsAutoFoldInEasiNoteIgnoreDesktopAnno = true; @@ -2387,6 +2388,14 @@ namespace Ink_Canvas SaveSettingsToFile(); } + private void ComboBoxEraserDisplayOption_SelectionChanged(object sender, SelectionChangedEventArgs e) + { + if (!isLoaded) return; + Settings.Appearance.EraserDisplayOption = ComboBoxEraserDisplayOption.SelectedIndex; + UpdateFloatingBarButtonsVisibility(); + SaveSettingsToFile(); + } + private void UpdateFloatingBarButtonsVisibility() { // 根据设置更新浮动栏按钮的可见性 @@ -2415,6 +2424,30 @@ namespace Ink_Canvas // 隐藏按钮 if (Fold_Icon != null) Fold_Icon.Visibility = Settings.Appearance.IsShowHideButton ? Visibility.Visible : Visibility.Collapsed; + + // 橡皮按钮显示控制 + if (Eraser_Icon != null && EraserByStrokes_Icon != null) + { + switch (Settings.Appearance.EraserDisplayOption) + { + case 0: // 两个都显示 + Eraser_Icon.Visibility = Visibility.Visible; + EraserByStrokes_Icon.Visibility = Visibility.Visible; + break; + case 1: // 仅显示面积擦 + Eraser_Icon.Visibility = Visibility.Visible; + EraserByStrokes_Icon.Visibility = Visibility.Collapsed; + break; + case 2: // 仅显示线擦 + Eraser_Icon.Visibility = Visibility.Collapsed; + EraserByStrokes_Icon.Visibility = Visibility.Visible; + break; + case 3: // 都不显示 + Eraser_Icon.Visibility = Visibility.Collapsed; + EraserByStrokes_Icon.Visibility = Visibility.Collapsed; + break; + } + } } catch (Exception ex) { diff --git a/Ink Canvas/MainWindow_cs/MW_SettingsToLoad.cs b/Ink Canvas/MainWindow_cs/MW_SettingsToLoad.cs index d4bcad12..1b5cb7cb 100644 --- a/Ink Canvas/MainWindow_cs/MW_SettingsToLoad.cs +++ b/Ink Canvas/MainWindow_cs/MW_SettingsToLoad.cs @@ -313,6 +313,7 @@ namespace Ink_Canvas ToggleSwitchShowClearButton.IsOn = Settings.Appearance.IsShowClearButton; ToggleSwitchShowWhiteboardButton.IsOn = Settings.Appearance.IsShowWhiteboardButton; ToggleSwitchShowHideButton.IsOn = Settings.Appearance.IsShowHideButton; + ComboBoxEraserDisplayOption.SelectedIndex = Settings.Appearance.EraserDisplayOption; // 应用浮动栏按钮可见性设置 UpdateFloatingBarButtonsVisibility(); diff --git a/Ink Canvas/Resources/Settings.cs b/Ink Canvas/Resources/Settings.cs index a33e1407..6f55be67 100644 --- a/Ink Canvas/Resources/Settings.cs +++ b/Ink Canvas/Resources/Settings.cs @@ -208,6 +208,9 @@ namespace Ink_Canvas public bool IsShowWhiteboardButton { get; set; } = true; [JsonProperty("isShowHideButton")] public bool IsShowHideButton { get; set; } = true; + + [JsonProperty("eraserDisplayOption")] + public int EraserDisplayOption { get; set; } = 0; } public class PowerPointSettings