diff --git a/Ink Canvas/Helpers/PPTUIManager.cs b/Ink Canvas/Helpers/PPTUIManager.cs index 854d2e85..7b6c355d 100644 --- a/Ink Canvas/Helpers/PPTUIManager.cs +++ b/Ink Canvas/Helpers/PPTUIManager.cs @@ -23,6 +23,10 @@ namespace Ink_Canvas.Helpers public int PPTRBButtonPosition { get; set; } = 0; public bool EnablePPTButtonPageClickable { get; set; } = true; public bool EnablePPTButtonLongPressPageTurn { get; set; } = true; + public double PPTLSButtonOpacity { get; set; } = 0.5; + public double PPTRSButtonOpacity { get; set; } = 0.5; + public double PPTLBButtonOpacity { get; set; } = 0.5; + public double PPTRBButtonOpacity { get; set; } = 0.5; #endregion #region Private Fields @@ -381,10 +385,9 @@ namespace Ink_Canvas.Helpers _mainWindow.PPTLSPageButton.Visibility = pageButtonVisibility; _mainWindow.PPTRSPageButton.Visibility = pageButtonVisibility; - // 透明度设置 - var opacity = options[1] == '2' ? 0.5 : 1.0; - _mainWindow.PPTBtnLSBorder.Opacity = opacity; - _mainWindow.PPTBtnRSBorder.Opacity = opacity; + // 透明度设置 - 直接使用用户设置的透明度值 + _mainWindow.PPTBtnLSBorder.Opacity = PPTLSButtonOpacity; + _mainWindow.PPTBtnRSBorder.Opacity = PPTRSButtonOpacity; // 颜色主题 bool isDarkTheme = options[2] == '2'; @@ -410,10 +413,9 @@ namespace Ink_Canvas.Helpers _mainWindow.PPTLBPageButton.Visibility = pageButtonVisibility; _mainWindow.PPTRBPageButton.Visibility = pageButtonVisibility; - // 透明度设置 - var opacity = options[1] == '2' ? 0.5 : 1.0; - _mainWindow.PPTBtnLBBorder.Opacity = opacity; - _mainWindow.PPTBtnRBBorder.Opacity = opacity; + // 透明度设置 - 直接使用用户设置的透明度值 + _mainWindow.PPTBtnLBBorder.Opacity = PPTLBButtonOpacity; + _mainWindow.PPTBtnRBBorder.Opacity = PPTRBButtonOpacity; // 颜色主题 bool isDarkTheme = options[2] == '2'; diff --git a/Ink Canvas/MainWindow.xaml b/Ink Canvas/MainWindow.xaml index 5f0d9dd8..32293a00 100644 --- a/Ink Canvas/MainWindow.xaml +++ b/Ink Canvas/MainWindow.xaml @@ -1643,6 +1643,82 @@ VerticalAlignment="Center" FontSize="13" Margin="8,0,8,0" /> + + + + + + + + + @@ -1717,6 +1793,82 @@ VerticalAlignment="Center" FontSize="13" Margin="8,0,16,0" /> + + + + + + + + + @@ -1796,6 +1948,82 @@ VerticalAlignment="Center" FontSize="13" Margin="8,0,8,0" /> + + + + + + + + + @@ -1872,6 +2100,82 @@ VerticalAlignment="Center" FontSize="13" Margin="8,0,16,0" /> + + + + + + + + + diff --git a/Ink Canvas/MainWindow.xaml.cs b/Ink Canvas/MainWindow.xaml.cs index edc286b2..f60406c3 100644 --- a/Ink Canvas/MainWindow.xaml.cs +++ b/Ink Canvas/MainWindow.xaml.cs @@ -2731,6 +2731,10 @@ namespace Ink_Canvas PPTButtonRightPositionValueSlider, PPTButtonLBPositionValueSlider, PPTButtonRBPositionValueSlider, + PPTLSButtonOpacityValueSlider, + PPTRSButtonOpacityValueSlider, + PPTLBButtonOpacityValueSlider, + PPTRBButtonOpacityValueSlider, TouchMultiplierSlider, NibModeBoundsWidthSlider, FingerModeBoundsWidthSlider, diff --git a/Ink Canvas/MainWindow_cs/MW_PPT.cs b/Ink Canvas/MainWindow_cs/MW_PPT.cs index 8dcda193..666b492e 100644 --- a/Ink Canvas/MainWindow_cs/MW_PPT.cs +++ b/Ink Canvas/MainWindow_cs/MW_PPT.cs @@ -152,6 +152,10 @@ namespace Ink_Canvas _pptUIManager.PPTRBButtonPosition = Settings.PowerPointSettings.PPTRBButtonPosition; _pptUIManager.EnablePPTButtonPageClickable = Settings.PowerPointSettings.EnablePPTButtonPageClickable; _pptUIManager.EnablePPTButtonLongPressPageTurn = Settings.PowerPointSettings.EnablePPTButtonLongPressPageTurn; + _pptUIManager.PPTLSButtonOpacity = Settings.PowerPointSettings.PPTLSButtonOpacity; + _pptUIManager.PPTRSButtonOpacity = Settings.PowerPointSettings.PPTRSButtonOpacity; + _pptUIManager.PPTLBButtonOpacity = Settings.PowerPointSettings.PPTLBButtonOpacity; + _pptUIManager.PPTRBButtonOpacity = Settings.PowerPointSettings.PPTRBButtonOpacity; LogHelper.WriteLogToFile("PPT管理器初始化完成", LogHelper.LogType.Event); } diff --git a/Ink Canvas/MainWindow_cs/MW_Settings.cs b/Ink Canvas/MainWindow_cs/MW_Settings.cs index 6ff38b59..d8b688b4 100644 --- a/Ink Canvas/MainWindow_cs/MW_Settings.cs +++ b/Ink Canvas/MainWindow_cs/MW_Settings.cs @@ -646,6 +646,298 @@ namespace Ink_Canvas SaveSettingsToFile(); } + private void PPTLSButtonOpacityValueSlider_ValueChanged(object sender, RoutedEventArgs e) + { + if (!isLoaded) return; + double roundedValue = Math.Round(PPTLSButtonOpacityValueSlider.Value, 1); + PPTLSButtonOpacityValueSlider.Value = roundedValue; + Settings.PowerPointSettings.PPTLSButtonOpacity = roundedValue; + SaveSettingsToFile(); + // 更新PPT UI管理器设置 + if (_pptUIManager != null) + { + _pptUIManager.PPTLSButtonOpacity = roundedValue; + _pptUIManager.UpdateNavigationButtonStyles(); + } + UpdatePPTBtnPreview(); + } + + private void PPTRSButtonOpacityValueSlider_ValueChanged(object sender, RoutedEventArgs e) + { + if (!isLoaded) return; + double roundedValue = Math.Round(PPTRSButtonOpacityValueSlider.Value, 1); + PPTRSButtonOpacityValueSlider.Value = roundedValue; + Settings.PowerPointSettings.PPTRSButtonOpacity = roundedValue; + SaveSettingsToFile(); + // 更新PPT UI管理器设置 + if (_pptUIManager != null) + { + _pptUIManager.PPTRSButtonOpacity = roundedValue; + _pptUIManager.UpdateNavigationButtonStyles(); + } + UpdatePPTBtnPreview(); + } + + private void PPTLBButtonOpacityValueSlider_ValueChanged(object sender, RoutedEventArgs e) + { + if (!isLoaded) return; + double roundedValue = Math.Round(PPTLBButtonOpacityValueSlider.Value, 1); + PPTLBButtonOpacityValueSlider.Value = roundedValue; + Settings.PowerPointSettings.PPTLBButtonOpacity = roundedValue; + SaveSettingsToFile(); + // 更新PPT UI管理器设置 + if (_pptUIManager != null) + { + _pptUIManager.PPTLBButtonOpacity = roundedValue; + _pptUIManager.UpdateNavigationButtonStyles(); + } + UpdatePPTBtnPreview(); + } + + private void PPTRBButtonOpacityValueSlider_ValueChanged(object sender, RoutedEventArgs e) + { + if (!isLoaded) return; + double roundedValue = Math.Round(PPTRBButtonOpacityValueSlider.Value, 1); + PPTRBButtonOpacityValueSlider.Value = roundedValue; + Settings.PowerPointSettings.PPTRBButtonOpacity = roundedValue; + SaveSettingsToFile(); + // 更新PPT UI管理器设置 + if (_pptUIManager != null) + { + _pptUIManager.PPTRBButtonOpacity = roundedValue; + _pptUIManager.UpdateNavigationButtonStyles(); + } + UpdatePPTBtnPreview(); + } + + // 左侧透明度按钮 + private void PPTLSOpacityPlusBtn_Clicked(object sender, RoutedEventArgs e) + { + if (!isLoaded) return; + PPTLSButtonOpacityValueSlider.Value = Math.Min(1.0, PPTLSButtonOpacityValueSlider.Value + 0.1); + Settings.PowerPointSettings.PPTLSButtonOpacity = PPTLSButtonOpacityValueSlider.Value; + SaveSettingsToFile(); + if (_pptUIManager != null) + { + _pptUIManager.PPTLSButtonOpacity = Settings.PowerPointSettings.PPTLSButtonOpacity; + _pptUIManager.UpdateNavigationButtonStyles(); + } + UpdatePPTBtnPreview(); + } + + private void PPTLSOpacityMinusBtn_Clicked(object sender, RoutedEventArgs e) + { + if (!isLoaded) return; + PPTLSButtonOpacityValueSlider.Value = Math.Max(0.1, PPTLSButtonOpacityValueSlider.Value - 0.1); + Settings.PowerPointSettings.PPTLSButtonOpacity = PPTLSButtonOpacityValueSlider.Value; + SaveSettingsToFile(); + if (_pptUIManager != null) + { + _pptUIManager.PPTLSButtonOpacity = Settings.PowerPointSettings.PPTLSButtonOpacity; + _pptUIManager.UpdateNavigationButtonStyles(); + } + UpdatePPTBtnPreview(); + } + + private void PPTLSOpacitySyncBtn_Clicked(object sender, RoutedEventArgs e) + { + if (!isLoaded) return; + PPTRSButtonOpacityValueSlider.Value = PPTLSButtonOpacityValueSlider.Value; + Settings.PowerPointSettings.PPTRSButtonOpacity = PPTLSButtonOpacityValueSlider.Value; + SaveSettingsToFile(); + if (_pptUIManager != null) + { + _pptUIManager.PPTRSButtonOpacity = Settings.PowerPointSettings.PPTRSButtonOpacity; + _pptUIManager.UpdateNavigationButtonStyles(); + } + UpdatePPTBtnPreview(); + } + + // 右侧透明度按钮 + private void PPTRSOpacityPlusBtn_Clicked(object sender, RoutedEventArgs e) + { + if (!isLoaded) return; + PPTRSButtonOpacityValueSlider.Value = Math.Min(1.0, PPTRSButtonOpacityValueSlider.Value + 0.1); + Settings.PowerPointSettings.PPTRSButtonOpacity = PPTRSButtonOpacityValueSlider.Value; + SaveSettingsToFile(); + if (_pptUIManager != null) + { + _pptUIManager.PPTRSButtonOpacity = Settings.PowerPointSettings.PPTRSButtonOpacity; + _pptUIManager.UpdateNavigationButtonStyles(); + } + UpdatePPTBtnPreview(); + } + + private void PPTRSOpacityMinusBtn_Clicked(object sender, RoutedEventArgs e) + { + if (!isLoaded) return; + PPTRSButtonOpacityValueSlider.Value = Math.Max(0.1, PPTRSButtonOpacityValueSlider.Value - 0.1); + Settings.PowerPointSettings.PPTRSButtonOpacity = PPTRSButtonOpacityValueSlider.Value; + SaveSettingsToFile(); + if (_pptUIManager != null) + { + _pptUIManager.PPTRSButtonOpacity = Settings.PowerPointSettings.PPTRSButtonOpacity; + _pptUIManager.UpdateNavigationButtonStyles(); + } + UpdatePPTBtnPreview(); + } + + private void PPTRSOpacitySyncBtn_Clicked(object sender, RoutedEventArgs e) + { + if (!isLoaded) return; + PPTLSButtonOpacityValueSlider.Value = PPTRSButtonOpacityValueSlider.Value; + Settings.PowerPointSettings.PPTLSButtonOpacity = PPTRSButtonOpacityValueSlider.Value; + SaveSettingsToFile(); + if (_pptUIManager != null) + { + _pptUIManager.PPTLSButtonOpacity = Settings.PowerPointSettings.PPTLSButtonOpacity; + _pptUIManager.UpdateNavigationButtonStyles(); + } + UpdatePPTBtnPreview(); + } + + // 左下透明度按钮 + private void PPTLBOpacityPlusBtn_Clicked(object sender, RoutedEventArgs e) + { + if (!isLoaded) return; + PPTLBButtonOpacityValueSlider.Value = Math.Min(1.0, PPTLBButtonOpacityValueSlider.Value + 0.1); + Settings.PowerPointSettings.PPTLBButtonOpacity = PPTLBButtonOpacityValueSlider.Value; + SaveSettingsToFile(); + if (_pptUIManager != null) + { + _pptUIManager.PPTLBButtonOpacity = Settings.PowerPointSettings.PPTLBButtonOpacity; + _pptUIManager.UpdateNavigationButtonStyles(); + } + UpdatePPTBtnPreview(); + } + + private void PPTLBOpacityMinusBtn_Clicked(object sender, RoutedEventArgs e) + { + if (!isLoaded) return; + PPTLBButtonOpacityValueSlider.Value = Math.Max(0.1, PPTLBButtonOpacityValueSlider.Value - 0.1); + Settings.PowerPointSettings.PPTLBButtonOpacity = PPTLBButtonOpacityValueSlider.Value; + SaveSettingsToFile(); + if (_pptUIManager != null) + { + _pptUIManager.PPTLBButtonOpacity = Settings.PowerPointSettings.PPTLBButtonOpacity; + _pptUIManager.UpdateNavigationButtonStyles(); + } + UpdatePPTBtnPreview(); + } + + private void PPTLBOpacitySyncBtn_Clicked(object sender, RoutedEventArgs e) + { + if (!isLoaded) return; + PPTRBButtonOpacityValueSlider.Value = PPTLBButtonOpacityValueSlider.Value; + Settings.PowerPointSettings.PPTRBButtonOpacity = PPTLBButtonOpacityValueSlider.Value; + SaveSettingsToFile(); + if (_pptUIManager != null) + { + _pptUIManager.PPTRBButtonOpacity = Settings.PowerPointSettings.PPTRBButtonOpacity; + _pptUIManager.UpdateNavigationButtonStyles(); + } + UpdatePPTBtnPreview(); + } + + // 右下透明度按钮 + private void PPTRBOpacityPlusBtn_Clicked(object sender, RoutedEventArgs e) + { + if (!isLoaded) return; + PPTRBButtonOpacityValueSlider.Value = Math.Min(1.0, PPTRBButtonOpacityValueSlider.Value + 0.1); + Settings.PowerPointSettings.PPTRBButtonOpacity = PPTRBButtonOpacityValueSlider.Value; + SaveSettingsToFile(); + if (_pptUIManager != null) + { + _pptUIManager.PPTRBButtonOpacity = Settings.PowerPointSettings.PPTRBButtonOpacity; + _pptUIManager.UpdateNavigationButtonStyles(); + } + UpdatePPTBtnPreview(); + } + + private void PPTRBOpacityMinusBtn_Clicked(object sender, RoutedEventArgs e) + { + if (!isLoaded) return; + PPTRBButtonOpacityValueSlider.Value = Math.Max(0.1, PPTRBButtonOpacityValueSlider.Value - 0.1); + Settings.PowerPointSettings.PPTRBButtonOpacity = PPTRBButtonOpacityValueSlider.Value; + SaveSettingsToFile(); + if (_pptUIManager != null) + { + _pptUIManager.PPTRBButtonOpacity = Settings.PowerPointSettings.PPTRBButtonOpacity; + _pptUIManager.UpdateNavigationButtonStyles(); + } + UpdatePPTBtnPreview(); + } + + private void PPTRBOpacitySyncBtn_Clicked(object sender, RoutedEventArgs e) + { + if (!isLoaded) return; + PPTLBButtonOpacityValueSlider.Value = PPTRBButtonOpacityValueSlider.Value; + Settings.PowerPointSettings.PPTLBButtonOpacity = PPTRBButtonOpacityValueSlider.Value; + SaveSettingsToFile(); + if (_pptUIManager != null) + { + _pptUIManager.PPTLBButtonOpacity = Settings.PowerPointSettings.PPTLBButtonOpacity; + _pptUIManager.UpdateNavigationButtonStyles(); + } + UpdatePPTBtnPreview(); + } + + private void PPTLSOpacityResetBtn_Clicked(object sender, RoutedEventArgs e) + { + if (!isLoaded) return; + PPTLSButtonOpacityValueSlider.Value = 0.5; + Settings.PowerPointSettings.PPTLSButtonOpacity = 0.5; + SaveSettingsToFile(); + if (_pptUIManager != null) + { + _pptUIManager.PPTLSButtonOpacity = 0.5; + _pptUIManager.UpdateNavigationButtonStyles(); + } + UpdatePPTBtnPreview(); + } + + private void PPTRSOpacityResetBtn_Clicked(object sender, RoutedEventArgs e) + { + if (!isLoaded) return; + PPTRSButtonOpacityValueSlider.Value = 0.5; + Settings.PowerPointSettings.PPTRSButtonOpacity = 0.5; + SaveSettingsToFile(); + if (_pptUIManager != null) + { + _pptUIManager.PPTRSButtonOpacity = 0.5; + _pptUIManager.UpdateNavigationButtonStyles(); + } + UpdatePPTBtnPreview(); + } + + private void PPTLBOpacityResetBtn_Clicked(object sender, RoutedEventArgs e) + { + if (!isLoaded) return; + PPTLBButtonOpacityValueSlider.Value = 0.5; + Settings.PowerPointSettings.PPTLBButtonOpacity = 0.5; + SaveSettingsToFile(); + if (_pptUIManager != null) + { + _pptUIManager.PPTLBButtonOpacity = 0.5; + _pptUIManager.UpdateNavigationButtonStyles(); + } + UpdatePPTBtnPreview(); + } + + private void PPTRBOpacityResetBtn_Clicked(object sender, RoutedEventArgs e) + { + if (!isLoaded) return; + PPTRBButtonOpacityValueSlider.Value = 0.5; + Settings.PowerPointSettings.PPTRBButtonOpacity = 0.5; + SaveSettingsToFile(); + if (_pptUIManager != null) + { + _pptUIManager.PPTRBButtonOpacity = 0.5; + _pptUIManager.UpdateNavigationButtonStyles(); + } + UpdatePPTBtnPreview(); + } + private void CheckboxEnableLBPPTButton_IsCheckChanged(object sender, RoutedEventArgs e) { if (!isLoaded) return; @@ -736,13 +1028,37 @@ namespace Ink_Canvas if (!isLoaded) return; var str = Settings.PowerPointSettings.PPTSButtonsOption.ToString(); char[] c = str.ToCharArray(); - c[1] = (bool)((CheckBox)sender).IsChecked ? '2' : '1'; + bool isHalfOpacity = (bool)((CheckBox)sender).IsChecked; + c[1] = isHalfOpacity ? '2' : '1'; Settings.PowerPointSettings.PPTSButtonsOption = int.Parse(new string(c)); + + // 如果开启半透明选项,设置默认透明度为0.5;否则为1.0 + if (isHalfOpacity) + { + if (Settings.PowerPointSettings.PPTLSButtonOpacity == 1.0) + Settings.PowerPointSettings.PPTLSButtonOpacity = 0.5; + if (Settings.PowerPointSettings.PPTRSButtonOpacity == 1.0) + Settings.PowerPointSettings.PPTRSButtonOpacity = 0.5; + PPTLSButtonOpacityValueSlider.Value = Settings.PowerPointSettings.PPTLSButtonOpacity; + PPTRSButtonOpacityValueSlider.Value = Settings.PowerPointSettings.PPTRSButtonOpacity; + } + else + { + if (Settings.PowerPointSettings.PPTLSButtonOpacity == 0.5) + Settings.PowerPointSettings.PPTLSButtonOpacity = 1.0; + if (Settings.PowerPointSettings.PPTRSButtonOpacity == 0.5) + Settings.PowerPointSettings.PPTRSButtonOpacity = 1.0; + PPTLSButtonOpacityValueSlider.Value = Settings.PowerPointSettings.PPTLSButtonOpacity; + PPTRSButtonOpacityValueSlider.Value = Settings.PowerPointSettings.PPTRSButtonOpacity; + } + SaveSettingsToFile(); // 更新PPT UI管理器设置 if (_pptUIManager != null && BtnPPTSlideShowEnd.Visibility == Visibility.Visible) { _pptUIManager.PPTSButtonsOption = Settings.PowerPointSettings.PPTSButtonsOption; + _pptUIManager.PPTLSButtonOpacity = Settings.PowerPointSettings.PPTLSButtonOpacity; + _pptUIManager.PPTRSButtonOpacity = Settings.PowerPointSettings.PPTRSButtonOpacity; _pptUIManager.UpdateNavigationButtonStyles(); } UpdatePPTBtnPreview(); @@ -787,8 +1103,30 @@ namespace Ink_Canvas if (!isLoaded) return; var str = Settings.PowerPointSettings.PPTBButtonsOption.ToString(); char[] c = str.ToCharArray(); - c[1] = (bool)((CheckBox)sender).IsChecked ? '2' : '1'; + bool isHalfOpacity = (bool)((CheckBox)sender).IsChecked; + c[1] = isHalfOpacity ? '2' : '1'; Settings.PowerPointSettings.PPTBButtonsOption = int.Parse(new string(c)); + + // 如果开启半透明选项,设置默认透明度为0.5;否则为1.0 + if (isHalfOpacity) + { + if (Settings.PowerPointSettings.PPTLBButtonOpacity == 1.0) + Settings.PowerPointSettings.PPTLBButtonOpacity = 0.5; + if (Settings.PowerPointSettings.PPTRBButtonOpacity == 1.0) + Settings.PowerPointSettings.PPTRBButtonOpacity = 0.5; + PPTLBButtonOpacityValueSlider.Value = Settings.PowerPointSettings.PPTLBButtonOpacity; + PPTRBButtonOpacityValueSlider.Value = Settings.PowerPointSettings.PPTRBButtonOpacity; + } + else + { + if (Settings.PowerPointSettings.PPTLBButtonOpacity == 0.5) + Settings.PowerPointSettings.PPTLBButtonOpacity = 1.0; + if (Settings.PowerPointSettings.PPTRBButtonOpacity == 0.5) + Settings.PowerPointSettings.PPTRBButtonOpacity = 1.0; + PPTLBButtonOpacityValueSlider.Value = Settings.PowerPointSettings.PPTLBButtonOpacity; + PPTRBButtonOpacityValueSlider.Value = Settings.PowerPointSettings.PPTRBButtonOpacity; + } + SaveSettingsToFile(); UpdatePPTUIManagerSettings(); UpdatePPTBtnPreview(); @@ -1020,6 +1358,10 @@ namespace Ink_Canvas _pptUIManager.PPTRBButtonPosition = Settings.PowerPointSettings.PPTRBButtonPosition; _pptUIManager.EnablePPTButtonPageClickable = Settings.PowerPointSettings.EnablePPTButtonPageClickable; _pptUIManager.EnablePPTButtonLongPressPageTurn = Settings.PowerPointSettings.EnablePPTButtonLongPressPageTurn; + _pptUIManager.PPTLSButtonOpacity = Settings.PowerPointSettings.PPTLSButtonOpacity; + _pptUIManager.PPTRSButtonOpacity = Settings.PowerPointSettings.PPTRSButtonOpacity; + _pptUIManager.PPTLBButtonOpacity = Settings.PowerPointSettings.PPTLBButtonOpacity; + _pptUIManager.PPTRBButtonOpacity = Settings.PowerPointSettings.PPTRBButtonOpacity; _pptUIManager.UpdateNavigationPanelsVisibility(); _pptUIManager.UpdateNavigationButtonStyles(); } @@ -1030,16 +1372,9 @@ namespace Ink_Canvas //new BitmapImage(new Uri("pack://application:,,,/Resources/new-icons/unfold-chevron.png")); var bopt = Settings.PowerPointSettings.PPTBButtonsOption.ToString(); char[] boptc = bopt.ToCharArray(); - if (boptc[1] == '2') - { - PPTBtnPreviewLB.Opacity = 0.5; - PPTBtnPreviewRB.Opacity = 0.5; - } - else - { - PPTBtnPreviewLB.Opacity = 1; - PPTBtnPreviewRB.Opacity = 1; - } + // 使用实际的透明度设置值 + PPTBtnPreviewLB.Opacity = Settings.PowerPointSettings.PPTLBButtonOpacity; + PPTBtnPreviewRB.Opacity = Settings.PowerPointSettings.PPTRBButtonOpacity; if (boptc[2] == '2') { @@ -1060,16 +1395,8 @@ namespace Ink_Canvas var sopt = Settings.PowerPointSettings.PPTSButtonsOption.ToString(); char[] soptc = sopt.ToCharArray(); - if (soptc[1] == '2') - { - PPTBtnPreviewLS.Opacity = 0.5; - PPTBtnPreviewRS.Opacity = 0.5; - } - else - { - PPTBtnPreviewLS.Opacity = 1; - PPTBtnPreviewRS.Opacity = 1; - } + PPTBtnPreviewLS.Opacity = Settings.PowerPointSettings.PPTLSButtonOpacity; + PPTBtnPreviewRS.Opacity = Settings.PowerPointSettings.PPTRSButtonOpacity; if (soptc[2] == '2') { diff --git a/Ink Canvas/MainWindow_cs/MW_SettingsToLoad.cs b/Ink Canvas/MainWindow_cs/MW_SettingsToLoad.cs index 0e9969c2..669226ae 100644 --- a/Ink Canvas/MainWindow_cs/MW_SettingsToLoad.cs +++ b/Ink Canvas/MainWindow_cs/MW_SettingsToLoad.cs @@ -553,6 +553,38 @@ namespace Ink_Canvas PPTButtonRBPositionValueSlider.Value = Settings.PowerPointSettings.PPTRBButtonPosition; + // 初始化PPT翻页按钮透明度滑块值,根据半透明选项设置默认值 + // 重用之前定义的sopsc和bopsc变量 + bool isSideHalfOpacity = sopsc.Length >= 2 && sopsc[1] == '2'; + // 如果透明度为0或未设置,根据半透明选项设置默认值 + if (Settings.PowerPointSettings.PPTLSButtonOpacity == 0.0 || + (Settings.PowerPointSettings.PPTLSButtonOpacity == 1.0 && isSideHalfOpacity)) + { + Settings.PowerPointSettings.PPTLSButtonOpacity = isSideHalfOpacity ? 0.5 : 1.0; + } + if (Settings.PowerPointSettings.PPTRSButtonOpacity == 0.0 || + (Settings.PowerPointSettings.PPTRSButtonOpacity == 1.0 && isSideHalfOpacity)) + { + Settings.PowerPointSettings.PPTRSButtonOpacity = isSideHalfOpacity ? 0.5 : 1.0; + } + PPTLSButtonOpacityValueSlider.Value = Settings.PowerPointSettings.PPTLSButtonOpacity; + PPTRSButtonOpacityValueSlider.Value = Settings.PowerPointSettings.PPTRSButtonOpacity; + + bool isBottomHalfOpacity = bopsc.Length >= 2 && bopsc[1] == '2'; + // 如果透明度为0或未设置,根据半透明选项设置默认值 + if (Settings.PowerPointSettings.PPTLBButtonOpacity == 0.0 || + (Settings.PowerPointSettings.PPTLBButtonOpacity == 1.0 && isBottomHalfOpacity)) + { + Settings.PowerPointSettings.PPTLBButtonOpacity = isBottomHalfOpacity ? 0.5 : 1.0; + } + if (Settings.PowerPointSettings.PPTRBButtonOpacity == 0.0 || + (Settings.PowerPointSettings.PPTRBButtonOpacity == 1.0 && isBottomHalfOpacity)) + { + Settings.PowerPointSettings.PPTRBButtonOpacity = isBottomHalfOpacity ? 0.5 : 1.0; + } + PPTLBButtonOpacityValueSlider.Value = Settings.PowerPointSettings.PPTLBButtonOpacity; + PPTRBButtonOpacityValueSlider.Value = Settings.PowerPointSettings.PPTRBButtonOpacity; + UpdatePPTBtnSlidersStatus(); UpdatePPTBtnPreview(); diff --git a/Ink Canvas/Resources/Settings.cs b/Ink Canvas/Resources/Settings.cs index 44f0618f..d9658b05 100644 --- a/Ink Canvas/Resources/Settings.cs +++ b/Ink Canvas/Resources/Settings.cs @@ -285,6 +285,18 @@ namespace Ink_Canvas [JsonProperty("enablePPTButtonLongPressPageTurn")] public bool EnablePPTButtonLongPressPageTurn { get; set; } = true; + [JsonProperty("pptLSButtonOpacity")] + public double PPTLSButtonOpacity { get; set; } = 0.5; + + [JsonProperty("pptRSButtonOpacity")] + public double PPTRSButtonOpacity { get; set; } = 0.5; + + [JsonProperty("pptLBButtonOpacity")] + public double PPTLBButtonOpacity { get; set; } = 0.5; + + [JsonProperty("pptRBButtonOpacity")] + public double PPTRBButtonOpacity { get; set; } = 0.5; + // -- new -- [JsonProperty("powerPointSupport")]