2024-05-01 18:23:32 +08:00
|
|
|
|
using Ink_Canvas.Helpers;
|
|
|
|
|
using Newtonsoft.Json;
|
|
|
|
|
using System;
|
|
|
|
|
using System.Diagnostics;
|
|
|
|
|
using System.Threading.Tasks;
|
|
|
|
|
using System.Windows;
|
|
|
|
|
using System.Windows.Controls;
|
|
|
|
|
using System.Windows.Input;
|
2024-05-02 20:21:36 +08:00
|
|
|
|
using System.Diagnostics;
|
2024-05-01 18:23:32 +08:00
|
|
|
|
using File = System.IO.File;
|
2024-05-02 20:21:36 +08:00
|
|
|
|
using System.Windows.Media;
|
2024-05-04 01:25:30 +08:00
|
|
|
|
using System.Windows.Ink;
|
2024-05-01 18:23:32 +08:00
|
|
|
|
|
|
|
|
|
namespace Ink_Canvas {
|
|
|
|
|
public partial class MainWindow : Window {
|
|
|
|
|
#region Behavior
|
|
|
|
|
|
|
|
|
|
private void ToggleSwitchIsAutoUpdate_Toggled(object sender, RoutedEventArgs e) {
|
|
|
|
|
if (!isLoaded) return;
|
|
|
|
|
Settings.Startup.IsAutoUpdate = ToggleSwitchIsAutoUpdate.IsOn;
|
|
|
|
|
ToggleSwitchIsAutoUpdateWithSilence.Visibility = ToggleSwitchIsAutoUpdate.IsOn ? Visibility.Visible : Visibility.Collapsed;
|
|
|
|
|
SaveSettingsToFile();
|
|
|
|
|
}
|
|
|
|
|
private void ToggleSwitchIsAutoUpdateWithSilence_Toggled(object sender, RoutedEventArgs e) {
|
|
|
|
|
if (!isLoaded) return;
|
|
|
|
|
Settings.Startup.IsAutoUpdateWithSilence = ToggleSwitchIsAutoUpdateWithSilence.IsOn;
|
|
|
|
|
AutoUpdateTimePeriodBlock.Visibility = Settings.Startup.IsAutoUpdateWithSilence ? Visibility.Visible : Visibility.Collapsed;
|
|
|
|
|
SaveSettingsToFile();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void AutoUpdateWithSilenceStartTimeComboBox_SelectionChanged(object sender, RoutedEventArgs e) {
|
|
|
|
|
if (!isLoaded) return;
|
|
|
|
|
Settings.Startup.AutoUpdateWithSilenceStartTime = (string)AutoUpdateWithSilenceStartTimeComboBox.SelectedItem;
|
|
|
|
|
SaveSettingsToFile();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void AutoUpdateWithSilenceEndTimeComboBox_SelectionChanged(object sender, RoutedEventArgs e) {
|
|
|
|
|
if (!isLoaded) return;
|
|
|
|
|
Settings.Startup.AutoUpdateWithSilenceEndTime = (string)AutoUpdateWithSilenceEndTimeComboBox.SelectedItem;
|
|
|
|
|
SaveSettingsToFile();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void ToggleSwitchRunAtStartup_Toggled(object sender, RoutedEventArgs e) {
|
|
|
|
|
if (!isLoaded) return;
|
|
|
|
|
if (ToggleSwitchRunAtStartup.IsOn) {
|
|
|
|
|
StartAutomaticallyDel("InkCanvas");
|
|
|
|
|
StartAutomaticallyCreate("Ink Canvas Annotation");
|
|
|
|
|
} else {
|
|
|
|
|
StartAutomaticallyDel("InkCanvas");
|
|
|
|
|
StartAutomaticallyDel("Ink Canvas Annotation");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void ToggleSwitchFoldAtStartup_Toggled(object sender, RoutedEventArgs e) {
|
|
|
|
|
if (!isLoaded) return;
|
|
|
|
|
Settings.Startup.IsFoldAtStartup = ToggleSwitchFoldAtStartup.IsOn;
|
|
|
|
|
SaveSettingsToFile();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void ToggleSwitchSupportPowerPoint_Toggled(object sender, RoutedEventArgs e) {
|
|
|
|
|
if (!isLoaded) return;
|
|
|
|
|
|
|
|
|
|
Settings.PowerPointSettings.PowerPointSupport = ToggleSwitchSupportPowerPoint.IsOn;
|
|
|
|
|
SaveSettingsToFile();
|
|
|
|
|
|
|
|
|
|
if (Settings.PowerPointSettings.PowerPointSupport) {
|
|
|
|
|
timerCheckPPT.Start();
|
|
|
|
|
} else {
|
|
|
|
|
timerCheckPPT.Stop();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void ToggleSwitchShowCanvasAtNewSlideShow_Toggled(object sender, RoutedEventArgs e) {
|
|
|
|
|
if (!isLoaded) return;
|
|
|
|
|
|
|
|
|
|
Settings.PowerPointSettings.IsShowCanvasAtNewSlideShow = ToggleSwitchShowCanvasAtNewSlideShow.IsOn;
|
|
|
|
|
SaveSettingsToFile();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
#region Startup
|
|
|
|
|
|
|
|
|
|
private void ToggleSwitchEnableNibMode_Toggled(object sender, RoutedEventArgs e) {
|
|
|
|
|
if (!isLoaded) return;
|
|
|
|
|
if (sender == ToggleSwitchEnableNibMode) {
|
|
|
|
|
ToggleSwitchBoardEnableNibMode.IsOn = ToggleSwitchEnableNibMode.IsOn;
|
|
|
|
|
} else {
|
|
|
|
|
ToggleSwitchEnableNibMode.IsOn = ToggleSwitchBoardEnableNibMode.IsOn;
|
|
|
|
|
}
|
|
|
|
|
Settings.Startup.IsEnableNibMode = ToggleSwitchEnableNibMode.IsOn;
|
|
|
|
|
|
|
|
|
|
if (Settings.Startup.IsEnableNibMode) {
|
|
|
|
|
BoundsWidth = Settings.Advanced.NibModeBoundsWidth;
|
|
|
|
|
} else {
|
|
|
|
|
BoundsWidth = Settings.Advanced.FingerModeBoundsWidth;
|
|
|
|
|
}
|
|
|
|
|
SaveSettingsToFile();
|
|
|
|
|
}
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
#region Appearance
|
|
|
|
|
|
|
|
|
|
private void ToggleSwitchEnableDisPlayNibModeToggle_Toggled(object sender, RoutedEventArgs e) {
|
|
|
|
|
if (!isLoaded) return;
|
|
|
|
|
Settings.Appearance.IsEnableDisPlayNibModeToggler = ToggleSwitchEnableDisPlayNibModeToggle.IsOn;
|
|
|
|
|
SaveSettingsToFile();
|
|
|
|
|
LoadSettings();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void ToggleSwitchIsColorfulViewboxFloatingBar_Toggled(object sender, RoutedEventArgs e) {
|
|
|
|
|
if (!isLoaded) return;
|
|
|
|
|
Settings.Appearance.IsColorfulViewboxFloatingBar = ToggleSwitchColorfulViewboxFloatingBar.IsOn;
|
|
|
|
|
SaveSettingsToFile();
|
|
|
|
|
LoadSettings();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void ToggleSwitchEnableViewboxFloatingBarScaleTransform_Toggled(object sender, RoutedEventArgs e) {
|
|
|
|
|
if (!isLoaded) return;
|
|
|
|
|
Settings.Appearance.EnableViewboxFloatingBarScaleTransform = ToggleSwitchEnableViewboxFloatingBarScaleTransform.IsOn;
|
|
|
|
|
SaveSettingsToFile();
|
|
|
|
|
LoadSettings();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void ToggleSwitchEnableViewboxBlackBoardScaleTransform_Toggled(object sender, RoutedEventArgs e) {
|
|
|
|
|
if (!isLoaded) return;
|
|
|
|
|
Settings.Appearance.EnableViewboxBlackBoardScaleTransform = ToggleSwitchEnableViewboxBlackBoardScaleTransform.IsOn;
|
|
|
|
|
SaveSettingsToFile();
|
|
|
|
|
LoadSettings();
|
|
|
|
|
}
|
|
|
|
|
|
2024-05-04 18:56:19 +08:00
|
|
|
|
private void ToggleSwitchEnableTimeDisplayInWhiteboardMode_Toggled(object sender, RoutedEventArgs e)
|
|
|
|
|
{
|
|
|
|
|
if (!isLoaded) return;
|
|
|
|
|
Settings.Appearance.EnableTimeDisplayInWhiteboardMode = ToggleSwitchEnableTimeDisplayInWhiteboardMode.IsOn;
|
|
|
|
|
SaveSettingsToFile();
|
|
|
|
|
LoadSettings();
|
|
|
|
|
}
|
|
|
|
|
|
2024-05-01 18:23:32 +08:00
|
|
|
|
private void ToggleSwitchShowButtonPPTNavigation_OnToggled(object sender, RoutedEventArgs e) {
|
|
|
|
|
if (!isLoaded) return;
|
|
|
|
|
Settings.PowerPointSettings.IsShowPPTNavigation = ToggleSwitchShowButtonPPTNavigation.IsOn;
|
|
|
|
|
PptNavigationBtn.Visibility = Settings.PowerPointSettings.IsShowPPTNavigation ? Visibility.Visible : Visibility.Collapsed;
|
|
|
|
|
SaveSettingsToFile();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void ToggleSwitchShowBottomPPTNavigationPanel_OnToggled(object sender, RoutedEventArgs e) {
|
|
|
|
|
if (!isLoaded) return;
|
|
|
|
|
Settings.PowerPointSettings.IsShowBottomPPTNavigationPanel = ToggleSwitchShowBottomPPTNavigationPanel.IsOn;
|
|
|
|
|
if (BtnPPTSlideShowEnd.Visibility == Visibility.Visible) {
|
|
|
|
|
BottomViewboxPPTSidesControl.Visibility = Settings.PowerPointSettings.IsShowBottomPPTNavigationPanel ? Visibility.Visible : Visibility.Collapsed;
|
|
|
|
|
}
|
|
|
|
|
SaveSettingsToFile();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void ToggleSwitchShowSidePPTNavigationPanel_OnToggled(object sender, RoutedEventArgs e) {
|
|
|
|
|
if (!isLoaded) return;
|
|
|
|
|
Settings.PowerPointSettings.IsShowSidePPTNavigationPanel = ToggleSwitchShowSidePPTNavigationPanel.IsOn;
|
|
|
|
|
if (BtnPPTSlideShowEnd.Visibility == Visibility.Visible) {
|
|
|
|
|
LeftSidePanelForPPTNavigation.Visibility = Settings.PowerPointSettings.IsShowSidePPTNavigationPanel ? Visibility.Visible : Visibility.Collapsed;
|
|
|
|
|
RightSidePanelForPPTNavigation.Visibility = Settings.PowerPointSettings.IsShowSidePPTNavigationPanel ? Visibility.Visible : Visibility.Collapsed;
|
|
|
|
|
}
|
|
|
|
|
SaveSettingsToFile();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void ToggleSwitchShowCursor_Toggled(object sender, RoutedEventArgs e) {
|
|
|
|
|
if (!isLoaded) return;
|
|
|
|
|
|
|
|
|
|
Settings.Canvas.IsShowCursor = ToggleSwitchShowCursor.IsOn;
|
|
|
|
|
inkCanvas_EditingModeChanged(inkCanvas, null);
|
|
|
|
|
|
|
|
|
|
SaveSettingsToFile();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
#region Canvas
|
|
|
|
|
|
|
|
|
|
private void ComboBoxPenStyle_SelectionChanged(object sender, SelectionChangedEventArgs e) {
|
|
|
|
|
if (!isLoaded) return;
|
|
|
|
|
if (sender == ComboBoxPenStyle) {
|
|
|
|
|
Settings.Canvas.InkStyle = ComboBoxPenStyle.SelectedIndex;
|
|
|
|
|
BoardComboBoxPenStyle.SelectedIndex = ComboBoxPenStyle.SelectedIndex;
|
|
|
|
|
} else {
|
|
|
|
|
Settings.Canvas.InkStyle = BoardComboBoxPenStyle.SelectedIndex;
|
|
|
|
|
ComboBoxPenStyle.SelectedIndex = BoardComboBoxPenStyle.SelectedIndex;
|
|
|
|
|
}
|
|
|
|
|
SaveSettingsToFile();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void ComboBoxEraserSize_SelectionChanged(object sender, SelectionChangedEventArgs e) {
|
|
|
|
|
if (!isLoaded) return;
|
|
|
|
|
Settings.Canvas.EraserSize = ComboBoxEraserSize.SelectedIndex;
|
|
|
|
|
SaveSettingsToFile();
|
|
|
|
|
}
|
|
|
|
|
|
2024-05-04 01:25:30 +08:00
|
|
|
|
private void ComboBoxEraserSizeFloatingBar_SelectionChanged(object sender, SelectionChangedEventArgs e)
|
|
|
|
|
{
|
|
|
|
|
if (!isLoaded) return;
|
|
|
|
|
Settings.Canvas.EraserSize = ComboBoxEraserSizeFloatingBar.SelectedIndex;
|
|
|
|
|
double k = 1;
|
|
|
|
|
switch (ComboBoxEraserSizeFloatingBar.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);
|
2024-05-04 10:30:21 +08:00
|
|
|
|
// inkCanvas.EraserShape = new RectangleStylusShape(k * 90, k * 90);
|
2024-05-04 01:25:30 +08:00
|
|
|
|
inkCanvas.EditingMode = InkCanvasEditingMode.Ink;
|
|
|
|
|
inkCanvas.EditingMode = InkCanvasEditingMode.EraseByPoint;
|
|
|
|
|
SaveSettingsToFile();
|
|
|
|
|
}
|
|
|
|
|
|
2024-05-01 18:23:32 +08:00
|
|
|
|
|
|
|
|
|
private void InkWidthSlider_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e) {
|
|
|
|
|
if (!isLoaded) return;
|
|
|
|
|
if (sender == BoardInkWidthSlider) InkWidthSlider.Value = ((Slider)sender).Value;
|
|
|
|
|
if (sender == InkWidthSlider) BoardInkWidthSlider.Value = ((Slider)sender).Value;
|
|
|
|
|
drawingAttributes.Height = ((Slider)sender).Value / 2;
|
|
|
|
|
drawingAttributes.Width = ((Slider)sender).Value / 2;
|
|
|
|
|
Settings.Canvas.InkWidth = ((Slider)sender).Value / 2;
|
|
|
|
|
SaveSettingsToFile();
|
|
|
|
|
}
|
|
|
|
|
|
2024-05-02 20:21:36 +08:00
|
|
|
|
private void InkAlphaSlider_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
|
|
|
|
|
{
|
|
|
|
|
if (!isLoaded) return;
|
|
|
|
|
// if (sender == BoardInkWidthSlider) InkWidthSlider.Value = ((Slider)sender).Value;
|
|
|
|
|
// if (sender == InkWidthSlider) BoardInkWidthSlider.Value = ((Slider)sender).Value;
|
|
|
|
|
byte NowR = drawingAttributes.Color.R;
|
|
|
|
|
byte NowG = drawingAttributes.Color.G;
|
|
|
|
|
byte NowB = drawingAttributes.Color.B;
|
|
|
|
|
// Trace.WriteLine(BitConverter.GetBytes(((Slider)sender).Value));
|
|
|
|
|
drawingAttributes.Color = Color.FromArgb((byte)(((Slider)sender).Value), NowR, NowG, NowB);
|
|
|
|
|
// drawingAttributes.Width = ((Slider)sender).Value / 2;
|
|
|
|
|
// Settings.Canvas.InkAlpha = ((Slider)sender).Value;
|
|
|
|
|
// SaveSettingsToFile();
|
|
|
|
|
}
|
|
|
|
|
|
2024-05-01 18:23:32 +08:00
|
|
|
|
private void ComboBoxHyperbolaAsymptoteOption_SelectionChanged(object sender, SelectionChangedEventArgs e) {
|
|
|
|
|
if (!isLoaded) return;
|
|
|
|
|
Settings.Canvas.HyperbolaAsymptoteOption = (OptionalOperation)ComboBoxHyperbolaAsymptoteOption.SelectedIndex;
|
|
|
|
|
SaveSettingsToFile();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
#region Automation
|
|
|
|
|
|
|
|
|
|
private void StartOrStoptimerCheckAutoFold() {
|
|
|
|
|
if (Settings.Automation.IsEnableAutoFold) {
|
|
|
|
|
timerCheckAutoFold.Start();
|
|
|
|
|
} else {
|
|
|
|
|
timerCheckAutoFold.Stop();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void ToggleSwitchAutoFoldInEasiNote_Toggled(object sender, RoutedEventArgs e) {
|
|
|
|
|
if (!isLoaded) return;
|
|
|
|
|
Settings.Automation.IsAutoFoldInEasiNote = ToggleSwitchAutoFoldInEasiNote.IsOn;
|
|
|
|
|
SaveSettingsToFile();
|
|
|
|
|
StartOrStoptimerCheckAutoFold();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void ToggleSwitchAutoFoldInEasiNoteIgnoreDesktopAnno_Toggled(object sender, RoutedEventArgs e) {
|
|
|
|
|
if (!isLoaded) return;
|
|
|
|
|
Settings.Automation.IsAutoFoldInEasiNoteIgnoreDesktopAnno = ToggleSwitchAutoFoldInEasiNoteIgnoreDesktopAnno.IsOn;
|
|
|
|
|
SaveSettingsToFile();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void ToggleSwitchAutoFoldInEasiCamera_Toggled(object sender, RoutedEventArgs e) {
|
|
|
|
|
if (!isLoaded) return;
|
|
|
|
|
Settings.Automation.IsAutoFoldInEasiCamera = ToggleSwitchAutoFoldInEasiCamera.IsOn;
|
|
|
|
|
SaveSettingsToFile();
|
|
|
|
|
StartOrStoptimerCheckAutoFold();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void ToggleSwitchAutoFoldInEasiNote3C_Toggled(object sender, RoutedEventArgs e) {
|
|
|
|
|
if (!isLoaded) return;
|
|
|
|
|
Settings.Automation.IsAutoFoldInEasiNote3C = ToggleSwitchAutoFoldInEasiNote3C.IsOn;
|
|
|
|
|
SaveSettingsToFile();
|
|
|
|
|
StartOrStoptimerCheckAutoFold();
|
|
|
|
|
}
|
|
|
|
|
|
2024-05-03 19:07:46 +08:00
|
|
|
|
private void ToggleSwitchAutoFoldInEasiNote5C_Toggled(object sender, RoutedEventArgs e)
|
|
|
|
|
{
|
|
|
|
|
if (!isLoaded) return;
|
|
|
|
|
Settings.Automation.IsAutoFoldInEasiNote5C = ToggleSwitchAutoFoldInEasiNote5C.IsOn;
|
|
|
|
|
SaveSettingsToFile();
|
|
|
|
|
StartOrStoptimerCheckAutoFold();
|
|
|
|
|
}
|
|
|
|
|
|
2024-05-01 18:23:32 +08:00
|
|
|
|
private void ToggleSwitchAutoFoldInSeewoPincoTeacher_Toggled(object sender, RoutedEventArgs e) {
|
|
|
|
|
if (!isLoaded) return;
|
|
|
|
|
Settings.Automation.IsAutoFoldInSeewoPincoTeacher = ToggleSwitchAutoFoldInSeewoPincoTeacher.IsOn;
|
|
|
|
|
SaveSettingsToFile();
|
|
|
|
|
StartOrStoptimerCheckAutoFold();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void ToggleSwitchAutoFoldInHiteTouchPro_Toggled(object sender, RoutedEventArgs e) {
|
|
|
|
|
if (!isLoaded) return;
|
|
|
|
|
Settings.Automation.IsAutoFoldInHiteTouchPro = ToggleSwitchAutoFoldInHiteTouchPro.IsOn;
|
|
|
|
|
SaveSettingsToFile();
|
|
|
|
|
StartOrStoptimerCheckAutoFold();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void ToggleSwitchAutoFoldInHiteCamera_Toggled(object sender, RoutedEventArgs e) {
|
|
|
|
|
if (!isLoaded) return;
|
|
|
|
|
Settings.Automation.IsAutoFoldInHiteCamera = ToggleSwitchAutoFoldInHiteCamera.IsOn;
|
|
|
|
|
SaveSettingsToFile();
|
|
|
|
|
StartOrStoptimerCheckAutoFold();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void ToggleSwitchAutoFoldInWxBoardMain_Toggled(object sender, RoutedEventArgs e) {
|
|
|
|
|
if (!isLoaded) return;
|
|
|
|
|
Settings.Automation.IsAutoFoldInWxBoardMain = ToggleSwitchAutoFoldInWxBoardMain.IsOn;
|
|
|
|
|
SaveSettingsToFile();
|
|
|
|
|
StartOrStoptimerCheckAutoFold();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void ToggleSwitchAutoFoldInOldZyBoard_Toggled(object sender, RoutedEventArgs e) {
|
|
|
|
|
if (!isLoaded) return;
|
|
|
|
|
Settings.Automation.IsAutoFoldInOldZyBoard = ToggleSwitchAutoFoldInOldZyBoard.IsOn;
|
|
|
|
|
SaveSettingsToFile();
|
|
|
|
|
StartOrStoptimerCheckAutoFold();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void ToggleSwitchAutoFoldInMSWhiteboard_Toggled(object sender, RoutedEventArgs e) {
|
|
|
|
|
if (!isLoaded) return;
|
|
|
|
|
Settings.Automation.IsAutoFoldInMSWhiteboard = ToggleSwitchAutoFoldInMSWhiteboard.IsOn;
|
|
|
|
|
SaveSettingsToFile();
|
|
|
|
|
StartOrStoptimerCheckAutoFold();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void ToggleSwitchAutoFoldInPPTSlideShow_Toggled(object sender, RoutedEventArgs e) {
|
|
|
|
|
if (!isLoaded) return;
|
|
|
|
|
Settings.Automation.IsAutoFoldInPPTSlideShow = ToggleSwitchAutoFoldInPPTSlideShow.IsOn;
|
|
|
|
|
SaveSettingsToFile();
|
|
|
|
|
StartOrStoptimerCheckAutoFold();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void ToggleSwitchAutoKillPptService_Toggled(object sender, RoutedEventArgs e) {
|
|
|
|
|
if (!isLoaded) return;
|
|
|
|
|
Settings.Automation.IsAutoKillPptService = ToggleSwitchAutoKillPptService.IsOn;
|
|
|
|
|
SaveSettingsToFile();
|
|
|
|
|
|
|
|
|
|
if (Settings.Automation.IsAutoKillEasiNote || Settings.Automation.IsAutoKillPptService) {
|
|
|
|
|
timerKillProcess.Start();
|
|
|
|
|
} else {
|
|
|
|
|
timerKillProcess.Stop();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void ToggleSwitchAutoKillEasiNote_Toggled(object sender, RoutedEventArgs e) {
|
|
|
|
|
if (!isLoaded) return;
|
|
|
|
|
Settings.Automation.IsAutoKillEasiNote = ToggleSwitchAutoKillEasiNote.IsOn;
|
|
|
|
|
SaveSettingsToFile();
|
|
|
|
|
if (Settings.Automation.IsAutoKillEasiNote || Settings.Automation.IsAutoKillPptService) {
|
|
|
|
|
timerKillProcess.Start();
|
|
|
|
|
} else {
|
|
|
|
|
timerKillProcess.Stop();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void ToggleSwitchSaveScreenshotsInDateFolders_Toggled(object sender, RoutedEventArgs e) {
|
|
|
|
|
if (!isLoaded) return;
|
|
|
|
|
Settings.Automation.IsSaveScreenshotsInDateFolders = ToggleSwitchSaveScreenshotsInDateFolders.IsOn;
|
|
|
|
|
SaveSettingsToFile();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void ToggleSwitchAutoSaveStrokesAtScreenshot_Toggled(object sender, RoutedEventArgs e) {
|
|
|
|
|
if (!isLoaded) return;
|
|
|
|
|
Settings.Automation.IsAutoSaveStrokesAtScreenshot = ToggleSwitchAutoSaveStrokesAtScreenshot.IsOn;
|
|
|
|
|
ToggleSwitchAutoSaveStrokesAtClear.Header = ToggleSwitchAutoSaveStrokesAtScreenshot.IsOn ? "清屏时自动截图并保存墨迹" : "清屏时自动截图";
|
|
|
|
|
SaveSettingsToFile();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void ToggleSwitchAutoSaveStrokesAtClear_Toggled(object sender, RoutedEventArgs e) {
|
|
|
|
|
if (!isLoaded) return;
|
|
|
|
|
Settings.Automation.IsAutoSaveStrokesAtClear = ToggleSwitchAutoSaveStrokesAtClear.IsOn;
|
|
|
|
|
SaveSettingsToFile();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void ToggleSwitchHideStrokeWhenSelecting_Toggled(object sender, RoutedEventArgs e) {
|
|
|
|
|
if (!isLoaded) return;
|
|
|
|
|
Settings.Canvas.HideStrokeWhenSelecting = ToggleSwitchHideStrokeWhenSelecting.IsOn;
|
|
|
|
|
SaveSettingsToFile();
|
|
|
|
|
}
|
|
|
|
|
|
2024-05-04 01:01:16 +08:00
|
|
|
|
private void ToggleSwitchFitToCurve_Toggled(object sender, RoutedEventArgs e)
|
|
|
|
|
{
|
|
|
|
|
if (!isLoaded) return;
|
|
|
|
|
drawingAttributes.FitToCurve = ToggleSwitchFitToCurve.IsOn;
|
|
|
|
|
Settings.Canvas.FitToCurve = ToggleSwitchFitToCurve.IsOn;
|
|
|
|
|
SaveSettingsToFile();
|
|
|
|
|
}
|
|
|
|
|
|
2024-05-01 18:23:32 +08:00
|
|
|
|
private void ToggleSwitchAutoSaveStrokesInPowerPoint_Toggled(object sender, RoutedEventArgs e) {
|
|
|
|
|
if (!isLoaded) return;
|
|
|
|
|
Settings.PowerPointSettings.IsAutoSaveStrokesInPowerPoint = ToggleSwitchAutoSaveStrokesInPowerPoint.IsOn;
|
|
|
|
|
SaveSettingsToFile();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void ToggleSwitchNotifyPreviousPage_Toggled(object sender, RoutedEventArgs e) {
|
|
|
|
|
if (!isLoaded) return;
|
|
|
|
|
Settings.PowerPointSettings.IsNotifyPreviousPage = ToggleSwitchNotifyPreviousPage.IsOn;
|
|
|
|
|
SaveSettingsToFile();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void ToggleSwitchNotifyHiddenPage_Toggled(object sender, RoutedEventArgs e) {
|
|
|
|
|
if (!isLoaded) return;
|
|
|
|
|
Settings.PowerPointSettings.IsNotifyHiddenPage = ToggleSwitchNotifyHiddenPage.IsOn;
|
|
|
|
|
SaveSettingsToFile();
|
|
|
|
|
}
|
|
|
|
|
|
2024-05-04 17:41:34 +08:00
|
|
|
|
private void ToggleSwitchNotifyAutoPlayPresentation_Toggled(object sender, RoutedEventArgs e)
|
|
|
|
|
{
|
|
|
|
|
if (!isLoaded) return;
|
|
|
|
|
Settings.PowerPointSettings.IsNotifyAutoPlayPresentation = ToggleSwitchNotifyAutoPlayPresentation.IsOn;
|
|
|
|
|
SaveSettingsToFile();
|
|
|
|
|
}
|
|
|
|
|
|
2024-05-01 18:23:32 +08:00
|
|
|
|
private void SideControlMinimumAutomationSlider_ValueChanged(object sender, RoutedEventArgs e) {
|
|
|
|
|
if (!isLoaded) return;
|
|
|
|
|
Settings.Automation.MinimumAutomationStrokeNumber = (int)SideControlMinimumAutomationSlider.Value;
|
|
|
|
|
SaveSettingsToFile();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void AutoSavedStrokesLocationTextBox_TextChanged(object sender, RoutedEventArgs e) {
|
|
|
|
|
if (!isLoaded) return;
|
|
|
|
|
Settings.Automation.AutoSavedStrokesLocation = AutoSavedStrokesLocation.Text;
|
|
|
|
|
SaveSettingsToFile();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void AutoSavedStrokesLocationButton_Click(object sender, RoutedEventArgs e) {
|
|
|
|
|
System.Windows.Forms.FolderBrowserDialog folderBrowser = new System.Windows.Forms.FolderBrowserDialog();
|
|
|
|
|
folderBrowser.ShowDialog();
|
|
|
|
|
if (folderBrowser.SelectedPath.Length > 0) AutoSavedStrokesLocation.Text = folderBrowser.SelectedPath;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void SetAutoSavedStrokesLocationToDiskDButton_Click(object sender, RoutedEventArgs e) {
|
|
|
|
|
AutoSavedStrokesLocation.Text = @"D:\Ink Canvas";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void SetAutoSavedStrokesLocationToDocumentFolderButton_Click(object sender, RoutedEventArgs e) {
|
|
|
|
|
AutoSavedStrokesLocation.Text = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\Ink Canvas";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void ToggleSwitchAutoDelSavedFiles_Toggled(object sender, RoutedEventArgs e) {
|
|
|
|
|
if (!isLoaded) return;
|
|
|
|
|
Settings.Automation.AutoDelSavedFiles = ToggleSwitchAutoDelSavedFiles.IsOn;
|
|
|
|
|
SaveSettingsToFile();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void ComboBoxAutoDelSavedFilesDaysThreshold_SelectionChanged(object sender, SelectionChangedEventArgs e) {
|
|
|
|
|
if (!isLoaded) return;
|
|
|
|
|
Settings.Automation.AutoDelSavedFilesDaysThreshold = int.Parse(((ComboBoxItem)ComboBoxAutoDelSavedFilesDaysThreshold.SelectedItem).Content.ToString());
|
|
|
|
|
SaveSettingsToFile();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void ToggleSwitchAutoSaveScreenShotInPowerPoint_Toggled(object sender, RoutedEventArgs e) {
|
|
|
|
|
if (!isLoaded) return;
|
|
|
|
|
Settings.PowerPointSettings.IsAutoSaveScreenShotInPowerPoint = ToggleSwitchAutoSaveScreenShotInPowerPoint.IsOn;
|
|
|
|
|
SaveSettingsToFile();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
#region Gesture
|
|
|
|
|
|
|
|
|
|
private void ToggleSwitchEnableFingerGestureSlideShowControl_Toggled(object sender, RoutedEventArgs e) {
|
|
|
|
|
if (!isLoaded) return;
|
|
|
|
|
Settings.PowerPointSettings.IsEnableFingerGestureSlideShowControl = ToggleSwitchEnableFingerGestureSlideShowControl.IsOn;
|
|
|
|
|
SaveSettingsToFile();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void ToggleSwitchAutoSwitchTwoFingerGesture_Toggled(object sender, RoutedEventArgs e) {
|
|
|
|
|
if (!isLoaded) return;
|
|
|
|
|
Settings.Gesture.AutoSwitchTwoFingerGesture = ToggleSwitchAutoSwitchTwoFingerGesture.IsOn;
|
|
|
|
|
SaveSettingsToFile();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void ToggleSwitchEnableTwoFingerZoom_Toggled(object sender, RoutedEventArgs e) {
|
|
|
|
|
if (!isLoaded) return;
|
|
|
|
|
if (sender == ToggleSwitchEnableTwoFingerZoom) {
|
|
|
|
|
BoardToggleSwitchEnableTwoFingerZoom.IsOn = ToggleSwitchEnableTwoFingerZoom.IsOn;
|
|
|
|
|
} else {
|
|
|
|
|
ToggleSwitchEnableTwoFingerZoom.IsOn = BoardToggleSwitchEnableTwoFingerZoom.IsOn;
|
|
|
|
|
}
|
|
|
|
|
Settings.Gesture.IsEnableTwoFingerZoom = ToggleSwitchEnableTwoFingerZoom.IsOn;
|
|
|
|
|
CheckEnableTwoFingerGestureBtnColorPrompt();
|
|
|
|
|
SaveSettingsToFile();
|
|
|
|
|
}
|
|
|
|
|
|
2024-05-01 22:48:28 +08:00
|
|
|
|
private void ToggleSwitchEnableMultiTouchMode_Toggled(object sender, RoutedEventArgs e) {
|
2024-05-02 00:05:12 +08:00
|
|
|
|
//if (!isLoaded) return;
|
2024-05-01 22:48:28 +08:00
|
|
|
|
if (sender == ToggleSwitchEnableMultiTouchMode) {
|
|
|
|
|
BoardToggleSwitchEnableMultiTouchMode.IsOn = ToggleSwitchEnableMultiTouchMode.IsOn;
|
|
|
|
|
} else {
|
|
|
|
|
ToggleSwitchEnableMultiTouchMode.IsOn = BoardToggleSwitchEnableMultiTouchMode.IsOn;
|
|
|
|
|
}
|
|
|
|
|
if (ToggleSwitchEnableMultiTouchMode.IsOn) {
|
|
|
|
|
if (!isInMultiTouchMode) BorderMultiTouchMode_MouseUp(null, null);
|
|
|
|
|
} else {
|
|
|
|
|
if (isInMultiTouchMode) BorderMultiTouchMode_MouseUp(null, null);
|
|
|
|
|
}
|
|
|
|
|
Settings.Gesture.IsEnableMultiTouchMode = ToggleSwitchEnableMultiTouchMode.IsOn;
|
|
|
|
|
CheckEnableTwoFingerGestureBtnColorPrompt();
|
|
|
|
|
SaveSettingsToFile();
|
|
|
|
|
}
|
|
|
|
|
|
2024-05-01 18:23:32 +08:00
|
|
|
|
private void ToggleSwitchEnableTwoFingerTranslate_Toggled(object sender, RoutedEventArgs e) {
|
|
|
|
|
if (!isLoaded) return;
|
|
|
|
|
if (sender == ToggleSwitchEnableTwoFingerTranslate) {
|
|
|
|
|
BoardToggleSwitchEnableTwoFingerTranslate.IsOn = ToggleSwitchEnableTwoFingerTranslate.IsOn;
|
|
|
|
|
} else {
|
|
|
|
|
ToggleSwitchEnableTwoFingerTranslate.IsOn = BoardToggleSwitchEnableTwoFingerTranslate.IsOn;
|
|
|
|
|
}
|
|
|
|
|
Settings.Gesture.IsEnableTwoFingerTranslate = ToggleSwitchEnableTwoFingerTranslate.IsOn;
|
|
|
|
|
CheckEnableTwoFingerGestureBtnColorPrompt();
|
|
|
|
|
SaveSettingsToFile();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void ToggleSwitchEnableTwoFingerRotation_Toggled(object sender, RoutedEventArgs e) {
|
|
|
|
|
if (!isLoaded) return;
|
|
|
|
|
|
|
|
|
|
if (sender == ToggleSwitchEnableTwoFingerRotation) {
|
|
|
|
|
BoardToggleSwitchEnableTwoFingerRotation.IsOn = ToggleSwitchEnableTwoFingerRotation.IsOn;
|
|
|
|
|
} else {
|
|
|
|
|
ToggleSwitchEnableTwoFingerRotation.IsOn = BoardToggleSwitchEnableTwoFingerRotation.IsOn;
|
|
|
|
|
}
|
|
|
|
|
Settings.Gesture.IsEnableTwoFingerRotation = ToggleSwitchEnableTwoFingerRotation.IsOn;
|
|
|
|
|
Settings.Gesture.IsEnableTwoFingerRotationOnSelection = ToggleSwitchEnableTwoFingerRotationOnSelection.IsOn;
|
|
|
|
|
CheckEnableTwoFingerGestureBtnColorPrompt();
|
|
|
|
|
SaveSettingsToFile();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void ToggleSwitchEnableTwoFingerGestureInPresentationMode_Toggled(object sender, RoutedEventArgs e) {
|
|
|
|
|
if (!isLoaded) return;
|
|
|
|
|
Settings.PowerPointSettings.IsEnableTwoFingerGestureInPresentationMode = ToggleSwitchEnableTwoFingerGestureInPresentationMode.IsOn;
|
|
|
|
|
SaveSettingsToFile();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
#region Reset
|
|
|
|
|
|
|
|
|
|
public static void SetSettingsToRecommendation() {
|
|
|
|
|
bool AutoDelSavedFilesDays = Settings.Automation.AutoDelSavedFiles;
|
|
|
|
|
int AutoDelSavedFilesDaysThreshold = Settings.Automation.AutoDelSavedFilesDaysThreshold;
|
|
|
|
|
Settings = new Settings();
|
|
|
|
|
Settings.Advanced.IsSpecialScreen = true;
|
|
|
|
|
Settings.Advanced.IsQuadIR = false;
|
|
|
|
|
Settings.Advanced.TouchMultiplier = 0.3;
|
|
|
|
|
Settings.Advanced.NibModeBoundsWidth = 5;
|
|
|
|
|
Settings.Advanced.FingerModeBoundsWidth = 20;
|
|
|
|
|
Settings.Advanced.EraserBindTouchMultiplier = true;
|
|
|
|
|
Settings.Advanced.IsLogEnabled = true;
|
|
|
|
|
Settings.Advanced.IsSecondConfimeWhenShutdownApp = false;
|
|
|
|
|
|
|
|
|
|
Settings.Appearance.IsEnableDisPlayNibModeToggler = false;
|
|
|
|
|
Settings.Appearance.IsColorfulViewboxFloatingBar = false;
|
|
|
|
|
Settings.Appearance.EnableViewboxFloatingBarScaleTransform = true;
|
|
|
|
|
Settings.Appearance.EnableViewboxBlackBoardScaleTransform = false;
|
|
|
|
|
Settings.Appearance.IsTransparentButtonBackground = true;
|
|
|
|
|
Settings.Appearance.IsShowExitButton = true;
|
|
|
|
|
Settings.Appearance.IsShowEraserButton = true;
|
|
|
|
|
Settings.Appearance.IsShowHideControlButton = false;
|
|
|
|
|
Settings.Appearance.IsShowLRSwitchButton = false;
|
|
|
|
|
Settings.Appearance.IsShowModeFingerToggleSwitch = true;
|
|
|
|
|
Settings.Appearance.Theme = 0;
|
|
|
|
|
|
|
|
|
|
Settings.Automation.IsAutoFoldInEasiNote = true;
|
|
|
|
|
Settings.Automation.IsAutoFoldInEasiNoteIgnoreDesktopAnno = true;
|
|
|
|
|
Settings.Automation.IsAutoFoldInEasiCamera = true;
|
|
|
|
|
Settings.Automation.IsAutoFoldInEasiNote3C = false;
|
2024-05-03 19:07:46 +08:00
|
|
|
|
Settings.Automation.IsAutoFoldInEasiNote5C = true;
|
2024-05-01 18:23:32 +08:00
|
|
|
|
Settings.Automation.IsAutoFoldInSeewoPincoTeacher = false;
|
|
|
|
|
Settings.Automation.IsAutoFoldInHiteTouchPro = false;
|
|
|
|
|
Settings.Automation.IsAutoFoldInHiteCamera = false;
|
|
|
|
|
Settings.Automation.IsAutoFoldInWxBoardMain = false;
|
|
|
|
|
Settings.Automation.IsAutoFoldInOldZyBoard = false;
|
|
|
|
|
Settings.Automation.IsAutoFoldInMSWhiteboard = false;
|
|
|
|
|
Settings.Automation.IsAutoFoldInPPTSlideShow = false;
|
|
|
|
|
Settings.Automation.IsAutoKillPptService = false;
|
|
|
|
|
Settings.Automation.IsAutoKillEasiNote = false;
|
|
|
|
|
Settings.Automation.IsSaveScreenshotsInDateFolders = false;
|
|
|
|
|
Settings.Automation.IsAutoSaveStrokesAtScreenshot = true;
|
|
|
|
|
Settings.Automation.IsAutoSaveStrokesAtClear = true;
|
|
|
|
|
Settings.Automation.IsAutoClearWhenExitingWritingMode = false;
|
|
|
|
|
Settings.Automation.MinimumAutomationStrokeNumber = 0;
|
|
|
|
|
Settings.Automation.AutoDelSavedFiles = AutoDelSavedFilesDays;
|
|
|
|
|
Settings.Automation.AutoDelSavedFilesDaysThreshold = AutoDelSavedFilesDaysThreshold;
|
|
|
|
|
|
|
|
|
|
Settings.PowerPointSettings.IsShowPPTNavigation = true;
|
|
|
|
|
Settings.PowerPointSettings.IsShowBottomPPTNavigationPanel = false;
|
|
|
|
|
Settings.PowerPointSettings.IsShowSidePPTNavigationPanel = true;
|
|
|
|
|
Settings.PowerPointSettings.PowerPointSupport = true;
|
|
|
|
|
Settings.PowerPointSettings.IsShowCanvasAtNewSlideShow = false;
|
|
|
|
|
Settings.PowerPointSettings.IsNoClearStrokeOnSelectWhenInPowerPoint = true;
|
|
|
|
|
Settings.PowerPointSettings.IsShowStrokeOnSelectInPowerPoint = false;
|
|
|
|
|
Settings.PowerPointSettings.IsAutoSaveStrokesInPowerPoint = true;
|
|
|
|
|
Settings.PowerPointSettings.IsAutoSaveScreenShotInPowerPoint = true;
|
|
|
|
|
Settings.PowerPointSettings.IsNotifyPreviousPage = false;
|
|
|
|
|
Settings.PowerPointSettings.IsNotifyHiddenPage = false;
|
|
|
|
|
Settings.PowerPointSettings.IsEnableTwoFingerGestureInPresentationMode = false;
|
|
|
|
|
Settings.PowerPointSettings.IsEnableFingerGestureSlideShowControl = false;
|
|
|
|
|
Settings.PowerPointSettings.IsSupportWPS = true;
|
|
|
|
|
|
|
|
|
|
Settings.Canvas.InkWidth = 2.5;
|
|
|
|
|
Settings.Canvas.IsShowCursor = false;
|
|
|
|
|
Settings.Canvas.InkStyle = 0;
|
|
|
|
|
Settings.Canvas.EraserSize = 1;
|
|
|
|
|
Settings.Canvas.EraserType = 0;
|
|
|
|
|
Settings.Canvas.HideStrokeWhenSelecting = false;
|
2024-05-04 01:01:16 +08:00
|
|
|
|
Settings.Canvas.FitToCurve = true;
|
2024-05-01 18:23:32 +08:00
|
|
|
|
Settings.Canvas.UsingWhiteboard = false;
|
|
|
|
|
Settings.Canvas.HyperbolaAsymptoteOption = 0;
|
|
|
|
|
|
|
|
|
|
Settings.Gesture.AutoSwitchTwoFingerGesture = true;
|
|
|
|
|
Settings.Gesture.IsEnableTwoFingerTranslate = true;
|
|
|
|
|
Settings.Gesture.IsEnableTwoFingerZoom = false;
|
|
|
|
|
Settings.Gesture.IsEnableTwoFingerRotation = false;
|
|
|
|
|
Settings.Gesture.IsEnableTwoFingerRotationOnSelection = false;
|
|
|
|
|
|
|
|
|
|
Settings.InkToShape.IsInkToShapeEnabled = true;
|
|
|
|
|
|
|
|
|
|
Settings.Startup.IsEnableNibMode = false;
|
|
|
|
|
Settings.Startup.IsAutoUpdate = true;
|
|
|
|
|
Settings.Startup.IsAutoUpdateWithSilence = true;
|
|
|
|
|
Settings.Startup.AutoUpdateWithSilenceStartTime = "18:20";
|
|
|
|
|
Settings.Startup.AutoUpdateWithSilenceEndTime = "07:40";
|
|
|
|
|
Settings.Startup.IsFoldAtStartup = false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void BtnResetToSuggestion_Click(object sender, RoutedEventArgs e) {
|
|
|
|
|
try {
|
|
|
|
|
isLoaded = false;
|
|
|
|
|
SetSettingsToRecommendation();
|
|
|
|
|
SaveSettingsToFile();
|
|
|
|
|
LoadSettings();
|
|
|
|
|
isLoaded = true;
|
|
|
|
|
|
|
|
|
|
ToggleSwitchRunAtStartup.IsOn = true;
|
|
|
|
|
} catch { }
|
|
|
|
|
ShowNotification("设置已重置为默认推荐设置~");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private async void SpecialVersionResetToSuggestion_Click() {
|
|
|
|
|
await Task.Delay(1000);
|
|
|
|
|
try {
|
|
|
|
|
isLoaded = false;
|
|
|
|
|
SetSettingsToRecommendation();
|
|
|
|
|
Settings.Automation.AutoDelSavedFiles = true;
|
|
|
|
|
Settings.Automation.AutoDelSavedFilesDaysThreshold = 15;
|
|
|
|
|
SetAutoSavedStrokesLocationToDiskDButton_Click(null, null);
|
|
|
|
|
SaveSettingsToFile();
|
|
|
|
|
LoadSettings();
|
|
|
|
|
isLoaded = true;
|
|
|
|
|
} catch { }
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
#region Ink To Shape
|
|
|
|
|
|
|
|
|
|
private void ToggleSwitchEnableInkToShape_Toggled(object sender, RoutedEventArgs e) {
|
|
|
|
|
if (!isLoaded) return;
|
|
|
|
|
Settings.InkToShape.IsInkToShapeEnabled = ToggleSwitchEnableInkToShape.IsOn;
|
|
|
|
|
SaveSettingsToFile();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
#region Advanced
|
|
|
|
|
|
|
|
|
|
private void ToggleSwitchIsSpecialScreen_OnToggled(object sender, RoutedEventArgs e) {
|
|
|
|
|
if (!isLoaded) return;
|
|
|
|
|
Settings.Advanced.IsSpecialScreen = ToggleSwitchIsSpecialScreen.IsOn;
|
|
|
|
|
TouchMultiplierSlider.Visibility = ToggleSwitchIsSpecialScreen.IsOn ? Visibility.Visible : Visibility.Collapsed;
|
|
|
|
|
SaveSettingsToFile();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void TouchMultiplierSlider_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e) {
|
|
|
|
|
if (!isLoaded) return;
|
|
|
|
|
Settings.Advanced.TouchMultiplier = e.NewValue;
|
|
|
|
|
SaveSettingsToFile();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void BorderCalculateMultiplier_TouchDown(object sender, TouchEventArgs e) {
|
|
|
|
|
var args = e.GetTouchPoint(null).Bounds;
|
|
|
|
|
double value;
|
|
|
|
|
if (!Settings.Advanced.IsQuadIR) value = args.Width;
|
|
|
|
|
else value = Math.Sqrt(args.Width * args.Height); //四边红外
|
|
|
|
|
|
|
|
|
|
TextBlockShowCalculatedMultiplier.Text = (5 / (value * 1.1)).ToString();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void ToggleSwitchEraserBindTouchMultiplier_Toggled(object sender, RoutedEventArgs e) {
|
|
|
|
|
if (!isLoaded) return;
|
|
|
|
|
Settings.Advanced.EraserBindTouchMultiplier = ToggleSwitchEraserBindTouchMultiplier.IsOn;
|
|
|
|
|
SaveSettingsToFile();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void NibModeBoundsWidthSlider_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e) {
|
|
|
|
|
if (!isLoaded) return;
|
|
|
|
|
Settings.Advanced.NibModeBoundsWidth = (int)e.NewValue;
|
|
|
|
|
|
|
|
|
|
if (Settings.Startup.IsEnableNibMode) {
|
|
|
|
|
BoundsWidth = Settings.Advanced.NibModeBoundsWidth;
|
|
|
|
|
} else {
|
|
|
|
|
BoundsWidth = Settings.Advanced.FingerModeBoundsWidth;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
SaveSettingsToFile();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void FingerModeBoundsWidthSlider_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e) {
|
|
|
|
|
if (!isLoaded) return;
|
|
|
|
|
Settings.Advanced.FingerModeBoundsWidth = (int)e.NewValue;
|
|
|
|
|
|
|
|
|
|
if (Settings.Startup.IsEnableNibMode) {
|
|
|
|
|
BoundsWidth = Settings.Advanced.NibModeBoundsWidth;
|
|
|
|
|
} else {
|
|
|
|
|
BoundsWidth = Settings.Advanced.FingerModeBoundsWidth;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
SaveSettingsToFile();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void ToggleSwitchIsQuadIR_Toggled(object sender, RoutedEventArgs e) {
|
|
|
|
|
if (!isLoaded) return;
|
|
|
|
|
Settings.Advanced.IsQuadIR = ToggleSwitchIsQuadIR.IsOn;
|
|
|
|
|
SaveSettingsToFile();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void ToggleSwitchIsLogEnabled_Toggled(object sender, RoutedEventArgs e) {
|
|
|
|
|
if (!isLoaded) return;
|
|
|
|
|
Settings.Advanced.IsLogEnabled = ToggleSwitchIsLogEnabled.IsOn;
|
|
|
|
|
SaveSettingsToFile();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void ToggleSwitchIsSecondConfimeWhenShutdownApp_Toggled(object sender, RoutedEventArgs e) {
|
|
|
|
|
if (!isLoaded) return;
|
|
|
|
|
Settings.Advanced.IsSecondConfimeWhenShutdownApp = ToggleSwitchIsSecondConfimeWhenShutdownApp.IsOn;
|
|
|
|
|
SaveSettingsToFile();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
public static void SaveSettingsToFile() {
|
|
|
|
|
string text = JsonConvert.SerializeObject(Settings, Formatting.Indented);
|
|
|
|
|
try {
|
|
|
|
|
File.WriteAllText(App.RootPath + settingsFileName, text);
|
|
|
|
|
} catch { }
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void SCManipulationBoundaryFeedback(object sender, ManipulationBoundaryFeedbackEventArgs e) {
|
|
|
|
|
e.Handled = true;
|
|
|
|
|
}
|
|
|
|
|
|
2024-05-03 19:07:46 +08:00
|
|
|
|
private void HyperlinkSourceToICCRepository_Click(object sender, RoutedEventArgs e)
|
|
|
|
|
{
|
|
|
|
|
Process.Start("https://gitea.bliemhax.com/kriastans/InkCanvasForClass");
|
|
|
|
|
HideSubPanels();
|
|
|
|
|
}
|
|
|
|
|
|
2024-05-01 18:23:32 +08:00
|
|
|
|
private void HyperlinkSourceToPresentRepository_Click(object sender, RoutedEventArgs e) {
|
|
|
|
|
Process.Start("https://github.com/ChangSakura/Ink-Canvas");
|
|
|
|
|
HideSubPanels();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void HyperlinkSourceToOringinalRepository_Click(object sender, RoutedEventArgs e) {
|
|
|
|
|
Process.Start("https://github.com/WXRIW/Ink-Canvas");
|
|
|
|
|
HideSubPanels();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|