diff --git a/Ink Canvas/Helpers/PPTUIManager.cs b/Ink Canvas/Helpers/PPTUIManager.cs index fd2f5add..dfb4d353 100644 --- a/Ink Canvas/Helpers/PPTUIManager.cs +++ b/Ink Canvas/Helpers/PPTUIManager.cs @@ -19,6 +19,8 @@ namespace Ink_Canvas.Helpers public int PPTBButtonsOption { get; set; } = 121; public int PPTLSButtonPosition { get; set; } = 0; public int PPTRSButtonPosition { get; set; } = 0; + public int PPTLBButtonPosition { get; set; } = 0; + public int PPTRBButtonPosition { get; set; } = 0; public bool EnablePPTButtonPageClickable { get; set; } = true; #endregion @@ -169,6 +171,10 @@ namespace Ink_Canvas.Helpers _mainWindow.LeftSidePanelForPPTNavigation.Margin = new Thickness(0, 0, 0, PPTLSButtonPosition * 2); _mainWindow.RightSidePanelForPPTNavigation.Margin = new Thickness(0, 0, 0, PPTRSButtonPosition * 2); + // 设置底部按钮水平位置 + _mainWindow.LeftBottomPanelForPPTNavigation.Margin = new Thickness(6 + PPTLBButtonPosition, 0, 0, 6); + _mainWindow.RightBottomPanelForPPTNavigation.Margin = new Thickness(0, 0, 6 + PPTRBButtonPosition, 6); + // 根据显示选项设置面板可见性 var displayOption = PPTButtonsDisplayOption.ToString(); if (displayOption.Length >= 4) diff --git a/Ink Canvas/MainWindow.xaml b/Ink Canvas/MainWindow.xaml index ae433f8f..96397e85 100644 --- a/Ink Canvas/MainWindow.xaml +++ b/Ink Canvas/MainWindow.xaml @@ -1618,6 +1618,161 @@ + + + + + + + + + + + + + + + + + + + = 500) + { + if (PPTButtonLBPositionValueSlider.Value >= 500) + { + PPTBtnLBPlusBtn.IsEnabled = false; + PPTBtnLBPlusBtn.Opacity = 0.5; + PPTButtonLBPositionValueSlider.Value = 500; + } + else if (PPTButtonLBPositionValueSlider.Value <= -500) + { + PPTBtnLBMinusBtn.IsEnabled = false; + PPTBtnLBMinusBtn.Opacity = 0.5; + PPTButtonLBPositionValueSlider.Value = -500; + } + } + else + { + PPTBtnLBPlusBtn.IsEnabled = true; + PPTBtnLBPlusBtn.Opacity = 1; + PPTBtnLBMinusBtn.IsEnabled = true; + PPTBtnLBMinusBtn.Opacity = 1; + } + + if (PPTButtonRBPositionValueSlider.Value <= -500 || PPTButtonRBPositionValueSlider.Value >= 500) + { + if (PPTButtonRBPositionValueSlider.Value >= 500) + { + PPTBtnRBPlusBtn.IsEnabled = false; + PPTBtnRBPlusBtn.Opacity = 0.5; + PPTButtonRBPositionValueSlider.Value = 500; + } + else if (PPTButtonRBPositionValueSlider.Value <= -500) + { + PPTBtnRBMinusBtn.IsEnabled = false; + PPTBtnRBMinusBtn.Opacity = 0.5; + PPTButtonRBPositionValueSlider.Value = -500; + } + } + else + { + PPTBtnRBPlusBtn.IsEnabled = true; + PPTBtnRBPlusBtn.Opacity = 1; + PPTBtnRBMinusBtn.IsEnabled = true; + PPTBtnRBMinusBtn.Opacity = 1; + } } private void PPTBtnLSPlusBtn_Clicked(object sender, RoutedEventArgs e) @@ -834,6 +881,8 @@ namespace Ink_Canvas _pptUIManager.PPTBButtonsOption = Settings.PowerPointSettings.PPTBButtonsOption; _pptUIManager.PPTLSButtonPosition = Settings.PowerPointSettings.PPTLSButtonPosition; _pptUIManager.PPTRSButtonPosition = Settings.PowerPointSettings.PPTRSButtonPosition; + _pptUIManager.PPTLBButtonPosition = Settings.PowerPointSettings.PPTLBButtonPosition; + _pptUIManager.PPTRBButtonPosition = Settings.PowerPointSettings.PPTRBButtonPosition; _pptUIManager.UpdateNavigationPanelsVisibility(); _pptUIManager.UpdateNavigationButtonStyles(); } @@ -2798,6 +2847,109 @@ namespace Ink_Canvas SaveSettingsToFile(); } + #region 底部按钮水平位置控制 + + private void PPTButtonLBPositionValueSlider_ValueChanged(object sender, RoutedEventArgs e) + { + if (!isLoaded) return; + Settings.PowerPointSettings.PPTLBButtonPosition = (int)PPTButtonLBPositionValueSlider.Value; + UpdatePPTBtnSlidersStatus(); + UpdatePPTUIManagerSettings(); + SliderDelayAction.DebounceAction(2000, null, SaveSettingsToFile); + UpdatePPTBtnPreview(); + } + + private void PPTButtonRBPositionValueSlider_ValueChanged(object sender, RoutedEventArgs e) + { + if (!isLoaded) return; + Settings.PowerPointSettings.PPTRBButtonPosition = (int)PPTButtonRBPositionValueSlider.Value; + UpdatePPTBtnSlidersStatus(); + UpdatePPTUIManagerSettings(); + SliderDelayAction.DebounceAction(2000, null, SaveSettingsToFile); + UpdatePPTBtnPreview(); + } + + private void PPTBtnLBPlusBtn_Clicked(object sender, RoutedEventArgs e) + { + if (!isLoaded) return; + PPTButtonLBPositionValueSlider.Value++; + UpdatePPTBtnSlidersStatus(); + Settings.PowerPointSettings.PPTLBButtonPosition = (int)PPTButtonLBPositionValueSlider.Value; + SaveSettingsToFile(); + UpdatePPTBtnPreview(); + } + + private void PPTBtnLBMinusBtn_Clicked(object sender, RoutedEventArgs e) + { + if (!isLoaded) return; + PPTButtonLBPositionValueSlider.Value--; + UpdatePPTBtnSlidersStatus(); + Settings.PowerPointSettings.PPTLBButtonPosition = (int)PPTButtonLBPositionValueSlider.Value; + SaveSettingsToFile(); + UpdatePPTBtnPreview(); + } + + private void PPTBtnLBSyncBtn_Clicked(object sender, RoutedEventArgs e) + { + if (!isLoaded) return; + PPTButtonRBPositionValueSlider.Value = PPTButtonLBPositionValueSlider.Value; + UpdatePPTBtnSlidersStatus(); + Settings.PowerPointSettings.PPTRBButtonPosition = (int)PPTButtonLBPositionValueSlider.Value; + SaveSettingsToFile(); + UpdatePPTBtnPreview(); + } + + private void PPTBtnLBResetBtn_Clicked(object sender, RoutedEventArgs e) + { + if (!isLoaded) return; + PPTButtonLBPositionValueSlider.Value = 0; + UpdatePPTBtnSlidersStatus(); + Settings.PowerPointSettings.PPTLBButtonPosition = 0; + SaveSettingsToFile(); + UpdatePPTBtnPreview(); + } + + private void PPTBtnRBPlusBtn_Clicked(object sender, RoutedEventArgs e) + { + if (!isLoaded) return; + PPTButtonRBPositionValueSlider.Value++; + UpdatePPTBtnSlidersStatus(); + Settings.PowerPointSettings.PPTRBButtonPosition = (int)PPTButtonRBPositionValueSlider.Value; + SaveSettingsToFile(); + UpdatePPTBtnPreview(); + } + + private void PPTBtnRBMinusBtn_Clicked(object sender, RoutedEventArgs e) + { + if (!isLoaded) return; + PPTButtonRBPositionValueSlider.Value--; + UpdatePPTBtnSlidersStatus(); + Settings.PowerPointSettings.PPTRBButtonPosition = (int)PPTButtonRBPositionValueSlider.Value; + SaveSettingsToFile(); + UpdatePPTBtnPreview(); + } + + private void PPTBtnRBSyncBtn_Clicked(object sender, RoutedEventArgs e) + { + if (!isLoaded) return; + PPTButtonLBPositionValueSlider.Value = PPTButtonRBPositionValueSlider.Value; + UpdatePPTBtnSlidersStatus(); + Settings.PowerPointSettings.PPTLBButtonPosition = (int)PPTButtonRBPositionValueSlider.Value; + SaveSettingsToFile(); + UpdatePPTBtnPreview(); + } + + private void PPTBtnRBResetBtn_Clicked(object sender, RoutedEventArgs e) + { + if (!isLoaded) return; + PPTButtonRBPositionValueSlider.Value = 0; + Settings.PowerPointSettings.PPTRBButtonPosition = 0; + SaveSettingsToFile(); + UpdatePPTBtnPreview(); + } + + #endregion + } } diff --git a/Ink Canvas/MainWindow_cs/MW_SettingsToLoad.cs b/Ink Canvas/MainWindow_cs/MW_SettingsToLoad.cs index 77e50239..b350d73c 100644 --- a/Ink Canvas/MainWindow_cs/MW_SettingsToLoad.cs +++ b/Ink Canvas/MainWindow_cs/MW_SettingsToLoad.cs @@ -427,6 +427,10 @@ namespace Ink_Canvas PPTButtonRightPositionValueSlider.Value = Settings.PowerPointSettings.PPTRSButtonPosition; + PPTButtonLBPositionValueSlider.Value = Settings.PowerPointSettings.PPTLBButtonPosition; + + PPTButtonRBPositionValueSlider.Value = Settings.PowerPointSettings.PPTRBButtonPosition; + UpdatePPTBtnSlidersStatus(); UpdatePPTBtnPreview(); diff --git a/Ink Canvas/Resources/Settings.cs b/Ink Canvas/Resources/Settings.cs index 3f7546bb..d5c7b5a0 100644 --- a/Ink Canvas/Resources/Settings.cs +++ b/Ink Canvas/Resources/Settings.cs @@ -245,6 +245,14 @@ namespace Ink_Canvas [JsonProperty("pptRSButtonPosition")] public int PPTRSButtonPosition { get; set; } + // 0居中,+就是往右,-就是往左 + [JsonProperty("pptLBButtonPosition")] + public int PPTLBButtonPosition { get; set; } + + // 0居中,+就是往右,-就是往左 + [JsonProperty("pptRBButtonPosition")] + public int PPTRBButtonPosition { get; set; } + [JsonProperty("pptSButtonsOption")] public int PPTSButtonsOption { get; set; } = 221;