From e0b2ce7e48f294d1f352e314fa840a4a5c5ca106 Mon Sep 17 00:00:00 2001 From: kriastans Date: Mon, 10 Jun 2024 22:06:58 +0800 Subject: [PATCH] =?UTF-8?q?[update]=20=E7=99=BD=E6=9D=BF=E7=9A=84=E6=A9=A1?= =?UTF-8?q?=E7=9A=AE=E6=93=A6=E9=9D=A2=E6=9D=BF=E7=8E=B0=E5=9C=A8=E5=8F=AF?= =?UTF-8?q?=E4=BB=A5=E5=B7=A5=E4=BD=9C=E4=BA=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Ink Canvas/MainWindow.xaml | 65 ++++++++++++++--- Ink Canvas/MainWindow.xaml.cs | 3 + Ink Canvas/MainWindow_cs/MW_BoardControls.cs | 25 ++++--- Ink Canvas/MainWindow_cs/MW_BoardIcons.cs | 73 +++++++++++++------ .../MainWindow_cs/MW_FloatingBarIcons.cs | 26 +++++++ Ink Canvas/MainWindow_cs/MW_Settings.cs | 16 +++- Ink Canvas/MainWindow_cs/MW_SettingsToLoad.cs | 1 + 7 files changed, 163 insertions(+), 46 deletions(-) diff --git a/Ink Canvas/MainWindow.xaml b/Ink Canvas/MainWindow.xaml index f4980a3..8920524 100644 --- a/Ink Canvas/MainWindow.xaml +++ b/Ink Canvas/MainWindow.xaml @@ -49,9 +49,6 @@ - - - @@ -296,11 +293,11 @@ - + - + - + @@ -2922,7 +2919,7 @@ - + @@ -2946,7 +2943,7 @@ TextAlignment="Center" /> - @@ -2955,7 +2952,7 @@ FontSize="10" VerticalAlignment="Center" /> - @@ -2966,7 +2963,7 @@ - @@ -3028,6 +3025,52 @@ + + @@ -3572,7 +3615,7 @@ Foreground="{Binding ElementName=BtnExit, Path=Foreground}" Background="{Binding ElementName=BtnExit, Path=Background}" VerticalContentAlignment="Center" - IsEnabled="False" IsEnabledChanged="Btn_IsEnabledChanged"> + IsEnabled="True" IsEnabledChanged="Btn_IsEnabledChanged"> diff --git a/Ink Canvas/MainWindow.xaml.cs b/Ink Canvas/MainWindow.xaml.cs index 607791b..4622583 100644 --- a/Ink Canvas/MainWindow.xaml.cs +++ b/Ink Canvas/MainWindow.xaml.cs @@ -179,6 +179,9 @@ namespace Ink_Canvas { isLoaded = true; BlackBoardLeftSidePageListView.ItemsSource = blackBoardLeftSidePageListViewObservableCollection; + BtnLeftWhiteBoardSwitchPreviousGeometry.Brush = new SolidColorBrush(Color.FromArgb(127, 24, 24, 27)); + BtnLeftWhiteBoardSwitchPreviousLabel.Opacity = 0.5; + BtnWhiteBoardSwitchPrevious.IsEnabled = CurrentWhiteboardIndex != 1; } private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e) { diff --git a/Ink Canvas/MainWindow_cs/MW_BoardControls.cs b/Ink Canvas/MainWindow_cs/MW_BoardControls.cs index 93da911..5f6699c 100644 --- a/Ink Canvas/MainWindow_cs/MW_BoardControls.cs +++ b/Ink Canvas/MainWindow_cs/MW_BoardControls.cs @@ -120,6 +120,8 @@ namespace Ink_Canvas { } private void BtnWhiteBoardSwitchNext_Click(object sender, EventArgs e) { + Trace.WriteLine("113223234"); + if (Settings.Automation.IsAutoSaveStrokesAtClear && inkCanvas.Strokes.Count > Settings.Automation.MinimumAutomationStrokeNumber) SaveScreenShot(true); if (CurrentWhiteboardIndex >= WhiteboardTotalCount) { @@ -205,22 +207,27 @@ namespace Ink_Canvas { //BoardLeftPannelNextPageTextBlock.Text = "下一页"; } - BtnWhiteBoardSwitchPrevious.IsEnabled = CurrentWhiteboardIndex != 1; + BtnWhiteBoardSwitchPrevious.IsEnabled = true; + BtnWhiteBoardSwitchNext.IsEnabled = true; + if (CurrentWhiteboardIndex == 1) { + BtnWhiteBoardSwitchPrevious.IsEnabled = false; BtnLeftWhiteBoardSwitchPreviousGeometry.Brush = new SolidColorBrush(Color.FromArgb(127, 24, 24, 27)); BtnLeftWhiteBoardSwitchPreviousLabel.Opacity = 0.5; + BtnLeftWhiteBoardSwitchNextGeometry.Brush = new SolidColorBrush(Color.FromArgb(255, 24, 24, 27)); + BtnLeftWhiteBoardSwitchNextLabel.Opacity = 1; } else { BtnLeftWhiteBoardSwitchPreviousGeometry.Brush = new SolidColorBrush(Color.FromArgb(255, 24, 24, 27)); BtnLeftWhiteBoardSwitchPreviousLabel.Opacity = 1; - } - BtnWhiteBoardSwitchNext.IsEnabled = CurrentWhiteboardIndex != WhiteboardTotalCount; - if (CurrentWhiteboardIndex == WhiteboardTotalCount) { - BtnLeftWhiteBoardSwitchNextGeometry.Brush = new SolidColorBrush(Color.FromArgb(127, 24, 24, 27)); - BtnLeftWhiteBoardSwitchNextLabel.Opacity = 0.5; - } else { - BtnLeftWhiteBoardSwitchNextGeometry.Brush = new SolidColorBrush(Color.FromArgb(255, 24, 24, 27)); - BtnLeftWhiteBoardSwitchNextLabel.Opacity = 1; + if (CurrentWhiteboardIndex == WhiteboardTotalCount) { + BtnLeftWhiteBoardSwitchNextGeometry.Brush = new SolidColorBrush(Color.FromArgb(127, 24, 24, 27)); + BtnLeftWhiteBoardSwitchNextLabel.Opacity = 0.5; + BtnWhiteBoardSwitchNext.IsEnabled = false; + } else { + BtnLeftWhiteBoardSwitchNextGeometry.Brush = new SolidColorBrush(Color.FromArgb(255, 24, 24, 27)); + BtnLeftWhiteBoardSwitchNextLabel.Opacity = 1; + } } BtnWhiteBoardDelete.IsEnabled = WhiteboardTotalCount != 1; diff --git a/Ink Canvas/MainWindow_cs/MW_BoardIcons.cs b/Ink Canvas/MainWindow_cs/MW_BoardIcons.cs index 8ebb2bd..9c81009 100644 --- a/Ink Canvas/MainWindow_cs/MW_BoardIcons.cs +++ b/Ink Canvas/MainWindow_cs/MW_BoardIcons.cs @@ -26,29 +26,52 @@ namespace Ink_Canvas { } private void BoardEraserIcon_Click(object sender, RoutedEventArgs e) { - //if (BoardEraser.Background.ToString() == "#FF679CF4") { - // AnimationsHelper.ShowWithSlideFromBottomAndFade(BoardDeleteIcon); - //} - //else { + if (inkCanvas.EditingMode == InkCanvasEditingMode.EraseByPoint || + inkCanvas.EditingMode == InkCanvasEditingMode.EraseByStroke) { + if (BoardEraserSizePanel.Visibility == Visibility.Collapsed) { + AnimationsHelper.ShowWithSlideFromBottomAndFade(BoardEraserSizePanel); + } else { + AnimationsHelper.HideWithSlideAndFade(BoardEraserSizePanel); + } + } else { forceEraser = true; forcePointEraser = true; double k = 1; - switch (Settings.Canvas.EraserSize) { - case 0: - k = 0.5; - break; - case 1: - k = 0.8; - break; - case 3: - k = 1.25; - break; - case 4: - k = 1.8; - break; + if (Settings.Canvas.EraserShapeType == 0) { + switch (BoardComboBoxEraserSize.SelectedIndex) + { + case 0: + k = 0.5; + break; + case 1: + k = 0.8; + break; + case 3: + k = 1.25; + break; + case 4: + k = 1.8; + break; + } + inkCanvas.EraserShape = new EllipseStylusShape(k * 90, k * 90); + } else if (Settings.Canvas.EraserShapeType == 1) { + switch (BoardComboBoxEraserSize.SelectedIndex) + { + case 0: + k = 0.7; + break; + case 1: + k = 0.9; + break; + case 3: + k = 1.2; + break; + case 4: + k = 1.6; + break; + } + inkCanvas.EraserShape = new RectangleStylusShape(k * 90 * 0.6, k * 90); } - - inkCanvas.EraserShape = new EllipseStylusShape(k * 90, k * 90); inkCanvas.EditingMode = InkCanvasEditingMode.EraseByPoint; drawingShapeMode = 0; @@ -56,7 +79,7 @@ namespace Ink_Canvas { CancelSingleFingerDragMode(); HideSubPanels("eraser"); - //} + } } private void BoardEraserIconByStrokes_Click(object sender, RoutedEventArgs e) { @@ -78,9 +101,15 @@ namespace Ink_Canvas { //} } - private void BoardSymbolIconDelete_MouseUp(object sender, MouseButtonEventArgs e) { + private void BoardSymbolIconDelete_MouseUp(object sender, RoutedEventArgs e) { PenIcon_Click(null, null); - SymbolIconDelete_MouseUp(sender, e); + SymbolIconDelete_MouseUp(null, null); + } + private void BoardSymbolIconDeleteInkAndHistories_MouseUp(object sender, RoutedEventArgs e) + { + PenIcon_Click(null, null); + SymbolIconDelete_MouseUp(null, null); + if (Settings.Canvas.ClearCanvasAndClearTimeMachine == false) timeMachine.ClearStrokeHistory(); } private void BoardLaunchEasiCamera_MouseUp(object sender, MouseButtonEventArgs e) { diff --git a/Ink Canvas/MainWindow_cs/MW_FloatingBarIcons.cs b/Ink Canvas/MainWindow_cs/MW_FloatingBarIcons.cs index 3d94f67..8d42f74 100644 --- a/Ink Canvas/MainWindow_cs/MW_FloatingBarIcons.cs +++ b/Ink Canvas/MainWindow_cs/MW_FloatingBarIcons.cs @@ -716,6 +716,19 @@ namespace Ink_Canvas { RectangleEraserTabButtonText.FontSize = 9; RectangleEraserTabButtonText.Margin = new Thickness(2, 1, 0, 0); RectangleEraserTabButtonIndicator.Visibility = Visibility.Collapsed; + + BoardCircleEraserTabButton.Background = new SolidColorBrush(Color.FromArgb(85, 59, 130, 246)); + BoardCircleEraserTabButton.Opacity = 1; + BoardCircleEraserTabButtonText.FontWeight = FontWeights.Bold; + BoardCircleEraserTabButtonText.Margin = new Thickness(2, 0.5, 0, 0); + BoardCircleEraserTabButtonText.FontSize = 9.5; + BoardCircleEraserTabButtonIndicator.Visibility = Visibility.Visible; + BoardRectangleEraserTabButton.Background = new SolidColorBrush(Colors.Transparent); + BoardRectangleEraserTabButton.Opacity = 0.75; + BoardRectangleEraserTabButtonText.FontWeight = FontWeights.Normal; + BoardRectangleEraserTabButtonText.FontSize = 9; + BoardRectangleEraserTabButtonText.Margin = new Thickness(2, 1, 0, 0); + BoardRectangleEraserTabButtonIndicator.Visibility = Visibility.Collapsed; } else { RectangleEraserTabButton.Background = new SolidColorBrush(Color.FromArgb(85, 59, 130, 246)); @@ -730,6 +743,19 @@ namespace Ink_Canvas { CircleEraserTabButtonText.FontSize = 9; CircleEraserTabButtonText.Margin = new Thickness(2, 1, 0, 0); CircleEraserTabButtonIndicator.Visibility = Visibility.Collapsed; + + BoardRectangleEraserTabButton.Background = new SolidColorBrush(Color.FromArgb(85, 59, 130, 246)); + BoardRectangleEraserTabButton.Opacity = 1; + BoardRectangleEraserTabButtonText.FontWeight = FontWeights.Bold; + BoardRectangleEraserTabButtonText.Margin = new Thickness(2, 0.5, 0, 0); + BoardRectangleEraserTabButtonText.FontSize = 9.5; + BoardRectangleEraserTabButtonIndicator.Visibility = Visibility.Visible; + BoardCircleEraserTabButton.Background = new SolidColorBrush(Colors.Transparent); + BoardCircleEraserTabButton.Opacity = 0.75; + BoardCircleEraserTabButtonText.FontWeight = FontWeights.Normal; + BoardCircleEraserTabButtonText.FontSize = 9; + BoardCircleEraserTabButtonText.Margin = new Thickness(2, 1, 0, 0); + BoardCircleEraserTabButtonIndicator.Visibility = Visibility.Collapsed; } } diff --git a/Ink Canvas/MainWindow_cs/MW_Settings.cs b/Ink Canvas/MainWindow_cs/MW_Settings.cs index 69ef8d7..4c1fb20 100644 --- a/Ink Canvas/MainWindow_cs/MW_Settings.cs +++ b/Ink Canvas/MainWindow_cs/MW_Settings.cs @@ -351,11 +351,19 @@ namespace Ink_Canvas { private void ComboBoxEraserSizeFloatingBar_SelectionChanged(object sender, SelectionChangedEventArgs e) { if (!isLoaded) return; - Settings.Canvas.EraserSize = ComboBoxEraserSizeFloatingBar.SelectedIndex; - ComboBoxEraserSize.SelectedIndex = ComboBoxEraserSizeFloatingBar.SelectedIndex; + + ComboBox s = (ComboBox)sender; + Settings.Canvas.EraserSize = s.SelectedIndex; + if (s == ComboBoxEraserSizeFloatingBar) { + BoardComboBoxEraserSize.SelectedIndex = s.SelectedIndex; + ComboBoxEraserSize.SelectedIndex = s.SelectedIndex; + } else if (s == BoardComboBoxEraserSize) { + ComboBoxEraserSizeFloatingBar.SelectedIndex = s.SelectedIndex; + ComboBoxEraserSize.SelectedIndex = s.SelectedIndex; + } if (Settings.Canvas.EraserShapeType == 0) { double k = 1; - switch (ComboBoxEraserSizeFloatingBar.SelectedIndex) { + switch (s.SelectedIndex) { case 0: k = 0.5; break; @@ -373,7 +381,7 @@ namespace Ink_Canvas { inkCanvas.EraserShape = new EllipseStylusShape(k * 90, k * 90); } else if (Settings.Canvas.EraserShapeType == 1) { double k = 1; - switch (ComboBoxEraserSizeFloatingBar.SelectedIndex) { + switch (s.SelectedIndex) { case 0: k = 0.7; break; diff --git a/Ink Canvas/MainWindow_cs/MW_SettingsToLoad.cs b/Ink Canvas/MainWindow_cs/MW_SettingsToLoad.cs index 414fae2..0d04f1c 100644 --- a/Ink Canvas/MainWindow_cs/MW_SettingsToLoad.cs +++ b/Ink Canvas/MainWindow_cs/MW_SettingsToLoad.cs @@ -378,6 +378,7 @@ namespace Ink_Canvas { ComboBoxEraserSize.SelectedIndex = Settings.Canvas.EraserSize; ComboBoxEraserSizeFloatingBar.SelectedIndex = Settings.Canvas.EraserSize; + BoardComboBoxEraserSize.SelectedIndex = Settings.Canvas.EraserSize; ToggleSwitchClearCanvasAndClearTimeMachine.IsOn = Settings.Canvas.ClearCanvasAndClearTimeMachine == true;