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;