709 lines
33 KiB
C#
709 lines
33 KiB
C#
using Ink_Canvas.Helpers;
|
|
using Ink_Canvas.Windows.SettingsViews.Helpers;
|
|
using System;
|
|
using System.Windows;
|
|
using System.Windows.Controls;
|
|
using Page = iNKORE.UI.WPF.Modern.Controls.Page;
|
|
|
|
namespace Ink_Canvas.Windows.SettingsViews.Pages
|
|
{
|
|
public partial class PowerPointPage : Page
|
|
{
|
|
private bool _isLoaded = false;
|
|
private DelayAction _sliderDelayAction = new DelayAction();
|
|
|
|
public PowerPointPage()
|
|
{
|
|
InitializeComponent();
|
|
Loaded += PowerPointPage_Loaded;
|
|
Unloaded += PowerPointPage_Unloaded;
|
|
}
|
|
|
|
private void PowerPointPage_Loaded(object sender, RoutedEventArgs e)
|
|
{
|
|
LoadSettings();
|
|
_isLoaded = true;
|
|
}
|
|
|
|
private void PowerPointPage_Unloaded(object sender, RoutedEventArgs e)
|
|
{
|
|
_isLoaded = false;
|
|
}
|
|
|
|
private MainWindow GetMainWindow() => Application.Current.MainWindow as MainWindow;
|
|
|
|
private void LoadSettings()
|
|
{
|
|
_isLoaded = false;
|
|
var ppt = SettingsManager.Settings.PowerPointSettings;
|
|
|
|
CardSupportPowerPoint.IsOn = ppt.PowerPointSupport;
|
|
CardPowerPointEnhancement.IsOn = ppt.EnablePowerPointEnhancement;
|
|
CardSkipAnimationsWhenGoNext.IsOn = ppt.SkipAnimationsWhenGoNext;
|
|
CardUseRotPptLink.IsOn = ppt.UseRotPptLink;
|
|
CardSupportWPS.IsOn = ppt.IsSupportWPS;
|
|
CardEnableWppProcessKill.IsOn = ppt.EnableWppProcessKill;
|
|
|
|
CardShowPPTButton.IsOn = ppt.ShowPPTButton;
|
|
var displayOpt = ppt.PPTButtonsDisplayOption.ToString();
|
|
CheckboxEnableLBPPTButton.IsChecked = displayOpt.Length > 0 && displayOpt[0] == '2';
|
|
CheckboxEnableRBPPTButton.IsChecked = displayOpt.Length > 1 && displayOpt[1] == '2';
|
|
CheckboxEnableLSPPTButton.IsChecked = displayOpt.Length > 2 && displayOpt[2] == '2';
|
|
CheckboxEnableRSPPTButton.IsChecked = displayOpt.Length > 3 && displayOpt[3] == '2';
|
|
|
|
PPTButtonLeftPositionValueSlider.Value = ppt.PPTLSButtonPosition;
|
|
PPTButtonRightPositionValueSlider.Value = ppt.PPTRSButtonPosition;
|
|
PPTButtonLBPositionValueSlider.Value = ppt.PPTLBButtonPosition;
|
|
PPTButtonRBPositionValueSlider.Value = ppt.PPTRBButtonPosition;
|
|
|
|
PPTLSButtonOpacityValueSlider.Value = ppt.PPTLSButtonOpacity;
|
|
PPTRSButtonOpacityValueSlider.Value = ppt.PPTRSButtonOpacity;
|
|
PPTLBButtonOpacityValueSlider.Value = ppt.PPTLBButtonOpacity;
|
|
PPTRBButtonOpacityValueSlider.Value = ppt.PPTRBButtonOpacity;
|
|
|
|
var sOpt = ppt.PPTSButtonsOption.ToString();
|
|
CheckboxSPPTDisplayPage.IsChecked = sOpt.Length > 0 && sOpt[0] == '2';
|
|
CheckboxSPPTHalfOpacity.IsChecked = sOpt.Length > 1 && sOpt[1] == '2';
|
|
CheckboxSPPTBlackBackground.IsChecked = sOpt.Length > 2 && sOpt[2] == '2';
|
|
|
|
var bOpt = ppt.PPTBButtonsOption.ToString();
|
|
CheckboxBPPTDisplayPage.IsChecked = bOpt.Length > 0 && bOpt[0] == '2';
|
|
CheckboxBPPTHalfOpacity.IsChecked = bOpt.Length > 1 && bOpt[1] == '2';
|
|
CheckboxBPPTBlackBackground.IsChecked = bOpt.Length > 2 && bOpt[2] == '2';
|
|
|
|
CardEnablePPTButtonPageClickable.IsOn = ppt.EnablePPTButtonPageClickable;
|
|
CardEnablePPTButtonEnhancedPreview.IsOn = ppt.EnablePPTButtonEnhancedPreview;
|
|
CardEnablePPTButtonLongPressPageTurn.IsOn = ppt.EnablePPTButtonLongPressPageTurn;
|
|
|
|
CardShowCanvasAtNewSlideShow.IsOn = ppt.IsShowCanvasAtNewSlideShow;
|
|
|
|
CardEnableTwoFingerGestureInPresentationMode.IsOn = ppt.IsEnableTwoFingerGestureInPresentationMode;
|
|
CardEnableFingerGestureSlideShowControl.IsOn = ppt.IsEnableFingerGestureSlideShowControl;
|
|
CardShowGestureButtonInSlideShow.IsOn = ppt.ShowGestureButtonInSlideShow;
|
|
CardEnablePPTTimeCapsule.IsOn = ppt.EnablePPTTimeCapsule;
|
|
ComboBoxPPTTimeCapsulePosition.SelectedIndex = ppt.PPTTimeCapsulePosition;
|
|
CardShowPPTSidebarByDefault.IsOn = ppt.ShowPPTSidebarByDefault;
|
|
|
|
CardAutoSaveScreenShotInPowerPoint.IsOn = ppt.IsAutoSaveScreenShotInPowerPoint;
|
|
CardAutoSaveStrokesInPowerPoint.IsOn = ppt.IsAutoSaveStrokesInPowerPoint;
|
|
|
|
CardNotifyPreviousPage.IsOn = ppt.IsNotifyPreviousPage;
|
|
CardAlwaysGoToFirstPageOnReenter.IsOn = ppt.IsAlwaysGoToFirstPageOnReenter;
|
|
CardNotifyHiddenPage.IsOn = ppt.IsNotifyHiddenPage;
|
|
CardNotifyAutoPlayPresentation.IsOn = ppt.IsNotifyAutoPlayPresentation;
|
|
|
|
_isLoaded = true;
|
|
}
|
|
|
|
#region PPT Basic
|
|
|
|
private void ToggleSwitchSupportPowerPoint_Toggled(object sender, RoutedEventArgs e)
|
|
{
|
|
if (!_isLoaded) return;
|
|
var mw = GetMainWindow();
|
|
var ppt = SettingsManager.Settings.PowerPointSettings;
|
|
ppt.PowerPointSupport = CardSupportPowerPoint.IsOn;
|
|
if (!ppt.PowerPointSupport && ppt.IsSupportWPS)
|
|
{
|
|
ppt.IsSupportWPS = false;
|
|
CardSupportWPS.IsOn = false;
|
|
if (mw?.PPTManager != null) mw.PPTManager.IsSupportWPS = false;
|
|
}
|
|
SettingsManager.SaveSettingsToFile();
|
|
if (mw != null)
|
|
{
|
|
if (ppt.PowerPointSupport)
|
|
{
|
|
if (mw.PPTManager == null) mw.InitializePPTManagers();
|
|
mw.StartPPTMonitoring();
|
|
}
|
|
else mw.StopPPTMonitoring();
|
|
}
|
|
}
|
|
|
|
private void ToggleSwitchPowerPointEnhancement_Toggled(object sender, RoutedEventArgs e)
|
|
{
|
|
if (!_isLoaded) return;
|
|
var mw = GetMainWindow();
|
|
var ppt = SettingsManager.Settings.PowerPointSettings;
|
|
ppt.EnablePowerPointEnhancement = CardPowerPointEnhancement.IsOn;
|
|
if (ppt.EnablePowerPointEnhancement)
|
|
{
|
|
ppt.IsSupportWPS = false;
|
|
CardSupportWPS.IsOn = false;
|
|
if (mw?.PPTManager != null) mw.PPTManager.IsSupportWPS = false;
|
|
}
|
|
SettingsManager.SaveSettingsToFile();
|
|
if (mw != null)
|
|
{
|
|
if (ppt.EnablePowerPointEnhancement)
|
|
mw.StartPowerPointProcessMonitoring();
|
|
else
|
|
mw.StopPowerPointProcessMonitoring();
|
|
}
|
|
}
|
|
|
|
private void ToggleSwitchSkipAnimationsWhenGoNext_Toggled(object sender, RoutedEventArgs e)
|
|
{
|
|
if (!_isLoaded) return;
|
|
var mw = GetMainWindow();
|
|
SettingsManager.Settings.PowerPointSettings.SkipAnimationsWhenGoNext = CardSkipAnimationsWhenGoNext.IsOn;
|
|
if (mw?.PPTManager != null)
|
|
mw.PPTManager.SkipAnimationsWhenNavigating = CardSkipAnimationsWhenGoNext.IsOn;
|
|
SettingsManager.SaveSettingsToFile();
|
|
}
|
|
|
|
private void ToggleSwitchUseRotPptLink_Toggled(object sender, RoutedEventArgs e)
|
|
{
|
|
if (!_isLoaded) return;
|
|
var mw = GetMainWindow();
|
|
var ppt = SettingsManager.Settings.PowerPointSettings;
|
|
ppt.UseRotPptLink = CardUseRotPptLink.IsOn;
|
|
SettingsManager.SaveSettingsToFile();
|
|
try
|
|
{
|
|
if (mw != null)
|
|
{
|
|
mw.StopPPTMonitoring();
|
|
if (ppt.UseRotPptLink && ppt.EnablePowerPointEnhancement)
|
|
{
|
|
ppt.EnablePowerPointEnhancement = false;
|
|
CardPowerPointEnhancement.IsOn = false;
|
|
mw.StopPowerPointProcessMonitoring();
|
|
SettingsManager.SaveSettingsToFile();
|
|
}
|
|
mw.InitializePPTManagers();
|
|
if (ppt.PowerPointSupport) mw.StartPPTMonitoring();
|
|
LogHelper.WriteLogToFile($"已切换 PPT 联动架构为 {(ppt.UseRotPptLink ? "ROT" : "COM")}", LogHelper.LogType.Event);
|
|
}
|
|
}
|
|
catch (Exception ex) { LogHelper.WriteLogToFile($"切换 PPT 联动架构失败: {ex}", LogHelper.LogType.Error); }
|
|
}
|
|
|
|
private void ToggleSwitchSupportWPS_Toggled(object sender, RoutedEventArgs e)
|
|
{
|
|
if (!_isLoaded) return;
|
|
var mw = GetMainWindow();
|
|
var ppt = SettingsManager.Settings.PowerPointSettings;
|
|
ppt.IsSupportWPS = CardSupportWPS.IsOn;
|
|
if (ppt.IsSupportWPS)
|
|
{
|
|
if (!ppt.PowerPointSupport)
|
|
{
|
|
ppt.PowerPointSupport = true;
|
|
CardSupportPowerPoint.IsOn = true;
|
|
if (mw != null)
|
|
{
|
|
if (mw.PPTManager == null) mw.InitializePPTManagers();
|
|
mw.StartPPTMonitoring();
|
|
}
|
|
}
|
|
if (ppt.EnablePowerPointEnhancement)
|
|
{
|
|
ppt.EnablePowerPointEnhancement = false;
|
|
CardPowerPointEnhancement.IsOn = false;
|
|
mw?.StopPowerPointProcessMonitoring();
|
|
}
|
|
}
|
|
if (mw?.PPTManager != null)
|
|
{
|
|
mw.PPTManager.IsSupportWPS = ppt.IsSupportWPS;
|
|
mw.PPTManager.SkipAnimationsWhenNavigating = ppt.SkipAnimationsWhenGoNext;
|
|
}
|
|
SettingsManager.SaveSettingsToFile();
|
|
}
|
|
|
|
private void ToggleSwitchEnableWppProcessKill_Toggled(object sender, RoutedEventArgs e)
|
|
{
|
|
if (!_isLoaded) return;
|
|
SettingsManager.Settings.PowerPointSettings.EnableWppProcessKill = CardEnableWppProcessKill.IsOn;
|
|
SettingsManager.SaveSettingsToFile();
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region PPT Flip Buttons
|
|
|
|
private void ToggleSwitchShowPPTButton_OnToggled(object sender, RoutedEventArgs e)
|
|
{
|
|
if (!_isLoaded) return;
|
|
var mw = GetMainWindow();
|
|
SettingsManager.Settings.PowerPointSettings.ShowPPTButton = CardShowPPTButton.IsOn;
|
|
SettingsManager.SaveSettingsToFile();
|
|
if (mw?.PPTUIManager != null)
|
|
{
|
|
mw.PPTUIManager.ShowPPTButton = CardShowPPTButton.IsOn;
|
|
mw.PPTUIManager.UpdateNavigationPanelsVisibility();
|
|
}
|
|
mw?.UpdatePPTBtnPreview();
|
|
}
|
|
|
|
private void ToggleSwitchShowPPTSidebarByDefault_Toggled(object sender, RoutedEventArgs e)
|
|
{
|
|
if (!_isLoaded) return;
|
|
var mw = GetMainWindow();
|
|
SettingsManager.Settings.PowerPointSettings.ShowPPTSidebarByDefault = CardShowPPTSidebarByDefault.IsOn;
|
|
SettingsManager.SaveSettingsToFile();
|
|
if (mw != null && mw.BtnPPTSlideShowEnd?.Visibility == Visibility.Visible)
|
|
mw.UpdatePPTQuickPanelVisibility();
|
|
}
|
|
|
|
private void ToggleSwitchEnablePPTButtonPageClickable_OnToggled(object sender, RoutedEventArgs e)
|
|
{
|
|
if (!_isLoaded) return;
|
|
SettingsManager.Settings.PowerPointSettings.EnablePPTButtonPageClickable = CardEnablePPTButtonPageClickable.IsOn;
|
|
SettingsManager.SaveSettingsToFile();
|
|
}
|
|
|
|
private void ToggleSwitchEnablePPTButtonEnhancedPreview_OnToggled(object sender, RoutedEventArgs e)
|
|
{
|
|
if (!_isLoaded) return;
|
|
SettingsManager.Settings.PowerPointSettings.EnablePPTButtonEnhancedPreview = CardEnablePPTButtonEnhancedPreview.IsOn;
|
|
SettingsManager.SaveSettingsToFile();
|
|
}
|
|
|
|
private void ToggleSwitchEnablePPTButtonLongPressPageTurn_OnToggled(object sender, RoutedEventArgs e)
|
|
{
|
|
if (!_isLoaded) return;
|
|
SettingsManager.Settings.PowerPointSettings.EnablePPTButtonLongPressPageTurn = CardEnablePPTButtonLongPressPageTurn.IsOn;
|
|
SettingsManager.SaveSettingsToFile();
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region PPT Button Position & Opacity Sliders
|
|
|
|
private void PPTButtonLeftPositionValueSlider_ValueChanged(object sender, RoutedEventArgs e)
|
|
{
|
|
if (!_isLoaded) return;
|
|
var mw = GetMainWindow();
|
|
SettingsManager.Settings.PowerPointSettings.PPTLSButtonPosition = (int)PPTButtonLeftPositionValueSlider.Value;
|
|
mw?.UpdatePPTBtnSlidersStatus();
|
|
mw?.UpdatePPTUIManagerSettings();
|
|
_sliderDelayAction.DebounceAction(2000, null, () => SettingsManager.SaveSettingsToFile());
|
|
mw?.UpdatePPTBtnPreview();
|
|
}
|
|
|
|
private void PPTButtonRightPositionValueSlider_ValueChanged(object sender, RoutedEventArgs e)
|
|
{
|
|
if (!_isLoaded) return;
|
|
var mw = GetMainWindow();
|
|
SettingsManager.Settings.PowerPointSettings.PPTRSButtonPosition = (int)PPTButtonRightPositionValueSlider.Value;
|
|
mw?.UpdatePPTBtnSlidersStatus();
|
|
mw?.UpdatePPTUIManagerSettings();
|
|
_sliderDelayAction.DebounceAction(2000, null, () => SettingsManager.SaveSettingsToFile());
|
|
mw?.UpdatePPTBtnPreview();
|
|
}
|
|
|
|
private void PPTButtonLBPositionValueSlider_ValueChanged(object sender, RoutedEventArgs e)
|
|
{
|
|
if (!_isLoaded) return;
|
|
var mw = GetMainWindow();
|
|
SettingsManager.Settings.PowerPointSettings.PPTLBButtonPosition = (int)PPTButtonLBPositionValueSlider.Value;
|
|
mw?.UpdatePPTBtnSlidersStatus();
|
|
mw?.UpdatePPTUIManagerSettings();
|
|
_sliderDelayAction.DebounceAction(2000, null, () => SettingsManager.SaveSettingsToFile());
|
|
mw?.UpdatePPTBtnPreview();
|
|
}
|
|
|
|
private void PPTButtonRBPositionValueSlider_ValueChanged(object sender, RoutedEventArgs e)
|
|
{
|
|
if (!_isLoaded) return;
|
|
var mw = GetMainWindow();
|
|
SettingsManager.Settings.PowerPointSettings.PPTRBButtonPosition = (int)PPTButtonRBPositionValueSlider.Value;
|
|
mw?.UpdatePPTBtnSlidersStatus();
|
|
mw?.UpdatePPTUIManagerSettings();
|
|
_sliderDelayAction.DebounceAction(2000, null, () => SettingsManager.SaveSettingsToFile());
|
|
mw?.UpdatePPTBtnPreview();
|
|
}
|
|
|
|
private void PPTLSButtonOpacityValueSlider_ValueChanged(object sender, RoutedEventArgs e)
|
|
{
|
|
if (!_isLoaded) return;
|
|
double roundedValue = Math.Round(PPTLSButtonOpacityValueSlider.Value, 1);
|
|
PPTLSButtonOpacityValueSlider.ValueChanged -= PPTLSButtonOpacityValueSlider_ValueChanged;
|
|
PPTLSButtonOpacityValueSlider.Value = roundedValue;
|
|
PPTLSButtonOpacityValueSlider.ValueChanged += PPTLSButtonOpacityValueSlider_ValueChanged;
|
|
SettingsManager.Settings.PowerPointSettings.PPTLSButtonOpacity = roundedValue;
|
|
SettingsManager.SaveSettingsToFile();
|
|
var mw = GetMainWindow();
|
|
if (mw?.PPTUIManager != null)
|
|
{
|
|
mw.PPTUIManager.PPTLSButtonOpacity = roundedValue;
|
|
mw.PPTUIManager.UpdateNavigationButtonStyles();
|
|
}
|
|
mw?.UpdatePPTBtnPreview();
|
|
}
|
|
|
|
private void PPTRSButtonOpacityValueSlider_ValueChanged(object sender, RoutedEventArgs e)
|
|
{
|
|
if (!_isLoaded) return;
|
|
double roundedValue = Math.Round(PPTRSButtonOpacityValueSlider.Value, 1);
|
|
PPTRSButtonOpacityValueSlider.ValueChanged -= PPTRSButtonOpacityValueSlider_ValueChanged;
|
|
PPTRSButtonOpacityValueSlider.Value = roundedValue;
|
|
PPTRSButtonOpacityValueSlider.ValueChanged += PPTRSButtonOpacityValueSlider_ValueChanged;
|
|
SettingsManager.Settings.PowerPointSettings.PPTRSButtonOpacity = roundedValue;
|
|
SettingsManager.SaveSettingsToFile();
|
|
var mw = GetMainWindow();
|
|
if (mw?.PPTUIManager != null)
|
|
{
|
|
mw.PPTUIManager.PPTRSButtonOpacity = roundedValue;
|
|
mw.PPTUIManager.UpdateNavigationButtonStyles();
|
|
}
|
|
mw?.UpdatePPTBtnPreview();
|
|
}
|
|
|
|
private void PPTLBButtonOpacityValueSlider_ValueChanged(object sender, RoutedEventArgs e)
|
|
{
|
|
if (!_isLoaded) return;
|
|
double roundedValue = Math.Round(PPTLBButtonOpacityValueSlider.Value, 1);
|
|
PPTLBButtonOpacityValueSlider.ValueChanged -= PPTLBButtonOpacityValueSlider_ValueChanged;
|
|
PPTLBButtonOpacityValueSlider.Value = roundedValue;
|
|
PPTLBButtonOpacityValueSlider.ValueChanged += PPTLBButtonOpacityValueSlider_ValueChanged;
|
|
SettingsManager.Settings.PowerPointSettings.PPTLBButtonOpacity = roundedValue;
|
|
SettingsManager.SaveSettingsToFile();
|
|
var mw = GetMainWindow();
|
|
if (mw?.PPTUIManager != null)
|
|
{
|
|
mw.PPTUIManager.PPTLBButtonOpacity = roundedValue;
|
|
mw.PPTUIManager.UpdateNavigationButtonStyles();
|
|
}
|
|
mw?.UpdatePPTBtnPreview();
|
|
}
|
|
|
|
private void PPTRBButtonOpacityValueSlider_ValueChanged(object sender, RoutedEventArgs e)
|
|
{
|
|
if (!_isLoaded) return;
|
|
double roundedValue = Math.Round(PPTRBButtonOpacityValueSlider.Value, 1);
|
|
PPTRBButtonOpacityValueSlider.ValueChanged -= PPTRBButtonOpacityValueSlider_ValueChanged;
|
|
PPTRBButtonOpacityValueSlider.Value = roundedValue;
|
|
PPTRBButtonOpacityValueSlider.ValueChanged += PPTRBButtonOpacityValueSlider_ValueChanged;
|
|
SettingsManager.Settings.PowerPointSettings.PPTRBButtonOpacity = roundedValue;
|
|
SettingsManager.SaveSettingsToFile();
|
|
var mw = GetMainWindow();
|
|
if (mw?.PPTUIManager != null)
|
|
{
|
|
mw.PPTUIManager.PPTRBButtonOpacity = roundedValue;
|
|
mw.PPTUIManager.UpdateNavigationButtonStyles();
|
|
}
|
|
mw?.UpdatePPTBtnPreview();
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region PPT Button Display Checkboxes
|
|
|
|
private void CheckboxEnableLBPPTButton_IsCheckChanged(object sender, RoutedEventArgs e)
|
|
{
|
|
if (!_isLoaded) return;
|
|
var mw = GetMainWindow();
|
|
var str = SettingsManager.Settings.PowerPointSettings.PPTButtonsDisplayOption.ToString();
|
|
char[] c = str.ToCharArray();
|
|
c[0] = CheckboxEnableLBPPTButton.IsChecked == true ? '2' : '1';
|
|
SettingsManager.Settings.PowerPointSettings.PPTButtonsDisplayOption = int.Parse(new string(c));
|
|
SettingsManager.SaveSettingsToFile();
|
|
if (mw?.PPTUIManager != null && mw.BtnPPTSlideShowEnd.Visibility == Visibility.Visible)
|
|
{
|
|
mw.PPTUIManager.PPTButtonsDisplayOption = SettingsManager.Settings.PowerPointSettings.PPTButtonsDisplayOption;
|
|
mw.PPTUIManager.UpdateNavigationPanelsVisibility();
|
|
}
|
|
mw?.UpdatePPTBtnPreview();
|
|
}
|
|
|
|
private void CheckboxEnableRBPPTButton_IsCheckChanged(object sender, RoutedEventArgs e)
|
|
{
|
|
if (!_isLoaded) return;
|
|
var mw = GetMainWindow();
|
|
var str = SettingsManager.Settings.PowerPointSettings.PPTButtonsDisplayOption.ToString();
|
|
char[] c = str.ToCharArray();
|
|
c[1] = CheckboxEnableRBPPTButton.IsChecked == true ? '2' : '1';
|
|
SettingsManager.Settings.PowerPointSettings.PPTButtonsDisplayOption = int.Parse(new string(c));
|
|
SettingsManager.SaveSettingsToFile();
|
|
if (mw?.PPTUIManager != null && mw.BtnPPTSlideShowEnd.Visibility == Visibility.Visible)
|
|
{
|
|
mw.PPTUIManager.PPTButtonsDisplayOption = SettingsManager.Settings.PowerPointSettings.PPTButtonsDisplayOption;
|
|
mw.PPTUIManager.UpdateNavigationPanelsVisibility();
|
|
}
|
|
mw?.UpdatePPTBtnPreview();
|
|
}
|
|
|
|
private void CheckboxEnableLSPPTButton_IsCheckChanged(object sender, RoutedEventArgs e)
|
|
{
|
|
if (!_isLoaded) return;
|
|
var mw = GetMainWindow();
|
|
var str = SettingsManager.Settings.PowerPointSettings.PPTButtonsDisplayOption.ToString();
|
|
char[] c = str.ToCharArray();
|
|
c[2] = CheckboxEnableLSPPTButton.IsChecked == true ? '2' : '1';
|
|
SettingsManager.Settings.PowerPointSettings.PPTButtonsDisplayOption = int.Parse(new string(c));
|
|
SettingsManager.SaveSettingsToFile();
|
|
if (mw?.PPTUIManager != null && mw.BtnPPTSlideShowEnd.Visibility == Visibility.Visible)
|
|
{
|
|
mw.PPTUIManager.PPTButtonsDisplayOption = SettingsManager.Settings.PowerPointSettings.PPTButtonsDisplayOption;
|
|
mw.PPTUIManager.UpdateNavigationPanelsVisibility();
|
|
}
|
|
mw?.UpdatePPTBtnPreview();
|
|
}
|
|
|
|
private void CheckboxEnableRSPPTButton_IsCheckChanged(object sender, RoutedEventArgs e)
|
|
{
|
|
if (!_isLoaded) return;
|
|
var mw = GetMainWindow();
|
|
var str = SettingsManager.Settings.PowerPointSettings.PPTButtonsDisplayOption.ToString();
|
|
char[] c = str.ToCharArray();
|
|
c[3] = CheckboxEnableRSPPTButton.IsChecked == true ? '2' : '1';
|
|
SettingsManager.Settings.PowerPointSettings.PPTButtonsDisplayOption = int.Parse(new string(c));
|
|
SettingsManager.SaveSettingsToFile();
|
|
if (mw?.PPTUIManager != null && mw.BtnPPTSlideShowEnd.Visibility == Visibility.Visible)
|
|
{
|
|
mw.PPTUIManager.PPTButtonsDisplayOption = SettingsManager.Settings.PowerPointSettings.PPTButtonsDisplayOption;
|
|
mw.PPTUIManager.UpdateNavigationPanelsVisibility();
|
|
}
|
|
mw?.UpdatePPTBtnPreview();
|
|
}
|
|
|
|
private void CheckboxSPPTDisplayPage_IsCheckChange(object sender, RoutedEventArgs e)
|
|
{
|
|
if (!_isLoaded) return;
|
|
var mw = GetMainWindow();
|
|
var str = SettingsManager.Settings.PowerPointSettings.PPTSButtonsOption.ToString();
|
|
char[] c = str.ToCharArray();
|
|
c[0] = CheckboxSPPTDisplayPage.IsChecked == true ? '2' : '1';
|
|
SettingsManager.Settings.PowerPointSettings.PPTSButtonsOption = int.Parse(new string(c));
|
|
SettingsManager.SaveSettingsToFile();
|
|
if (mw?.PPTUIManager != null && mw.BtnPPTSlideShowEnd.Visibility == Visibility.Visible)
|
|
{
|
|
mw.PPTUIManager.PPTSButtonsOption = SettingsManager.Settings.PowerPointSettings.PPTSButtonsOption;
|
|
mw.PPTUIManager.UpdateNavigationButtonStyles();
|
|
}
|
|
mw?.UpdatePPTBtnPreview();
|
|
}
|
|
|
|
private void CheckboxSPPTHalfOpacity_IsCheckChange(object sender, RoutedEventArgs e)
|
|
{
|
|
if (!_isLoaded) return;
|
|
var mw = GetMainWindow();
|
|
var ppt = SettingsManager.Settings.PowerPointSettings;
|
|
var str = ppt.PPTSButtonsOption.ToString();
|
|
char[] c = str.ToCharArray();
|
|
bool isHalf = CheckboxSPPTHalfOpacity.IsChecked == true;
|
|
c[1] = isHalf ? '2' : '1';
|
|
ppt.PPTSButtonsOption = int.Parse(new string(c));
|
|
if (isHalf)
|
|
{
|
|
if (ppt.PPTLSButtonOpacity == 1.0) ppt.PPTLSButtonOpacity = 0.5;
|
|
if (ppt.PPTRSButtonOpacity == 1.0) ppt.PPTRSButtonOpacity = 0.5;
|
|
PPTLSButtonOpacityValueSlider.Value = ppt.PPTLSButtonOpacity;
|
|
PPTRSButtonOpacityValueSlider.Value = ppt.PPTRSButtonOpacity;
|
|
}
|
|
else
|
|
{
|
|
if (ppt.PPTLSButtonOpacity == 0.5) ppt.PPTLSButtonOpacity = 1.0;
|
|
if (ppt.PPTRSButtonOpacity == 0.5) ppt.PPTRSButtonOpacity = 1.0;
|
|
PPTLSButtonOpacityValueSlider.Value = ppt.PPTLSButtonOpacity;
|
|
PPTRSButtonOpacityValueSlider.Value = ppt.PPTRSButtonOpacity;
|
|
}
|
|
SettingsManager.SaveSettingsToFile();
|
|
if (mw?.PPTUIManager != null && mw.BtnPPTSlideShowEnd.Visibility == Visibility.Visible)
|
|
{
|
|
mw.PPTUIManager.PPTSButtonsOption = ppt.PPTSButtonsOption;
|
|
mw.PPTUIManager.PPTLSButtonOpacity = ppt.PPTLSButtonOpacity;
|
|
mw.PPTUIManager.PPTRSButtonOpacity = ppt.PPTRSButtonOpacity;
|
|
mw.PPTUIManager.UpdateNavigationButtonStyles();
|
|
}
|
|
mw?.UpdatePPTBtnPreview();
|
|
}
|
|
|
|
private void CheckboxSPPTBlackBackground_IsCheckChange(object sender, RoutedEventArgs e)
|
|
{
|
|
if (!_isLoaded) return;
|
|
var mw = GetMainWindow();
|
|
var str = SettingsManager.Settings.PowerPointSettings.PPTSButtonsOption.ToString();
|
|
char[] c = str.ToCharArray();
|
|
c[2] = CheckboxSPPTBlackBackground.IsChecked == true ? '2' : '1';
|
|
SettingsManager.Settings.PowerPointSettings.PPTSButtonsOption = int.Parse(new string(c));
|
|
SettingsManager.SaveSettingsToFile();
|
|
if (mw?.PPTUIManager != null && mw.BtnPPTSlideShowEnd.Visibility == Visibility.Visible)
|
|
{
|
|
mw.PPTUIManager.PPTSButtonsOption = SettingsManager.Settings.PowerPointSettings.PPTSButtonsOption;
|
|
mw.PPTUIManager.UpdateNavigationButtonStyles();
|
|
}
|
|
mw?.UpdatePPTBtnPreview();
|
|
}
|
|
|
|
private void CheckboxBPPTDisplayPage_IsCheckChange(object sender, RoutedEventArgs e)
|
|
{
|
|
if (!_isLoaded) return;
|
|
var mw = GetMainWindow();
|
|
var str = SettingsManager.Settings.PowerPointSettings.PPTBButtonsOption.ToString();
|
|
char[] c = str.ToCharArray();
|
|
c[0] = CheckboxBPPTDisplayPage.IsChecked == true ? '2' : '1';
|
|
SettingsManager.Settings.PowerPointSettings.PPTBButtonsOption = int.Parse(new string(c));
|
|
SettingsManager.SaveSettingsToFile();
|
|
if (mw?.PPTUIManager != null && mw.BtnPPTSlideShowEnd.Visibility == Visibility.Visible)
|
|
{
|
|
mw.PPTUIManager.PPTBButtonsOption = SettingsManager.Settings.PowerPointSettings.PPTBButtonsOption;
|
|
mw.PPTUIManager.UpdateNavigationButtonStyles();
|
|
}
|
|
mw?.UpdatePPTBtnPreview();
|
|
}
|
|
|
|
private void CheckboxBPPTHalfOpacity_IsCheckChange(object sender, RoutedEventArgs e)
|
|
{
|
|
if (!_isLoaded) return;
|
|
var mw = GetMainWindow();
|
|
var ppt = SettingsManager.Settings.PowerPointSettings;
|
|
var str = ppt.PPTBButtonsOption.ToString();
|
|
char[] c = str.ToCharArray();
|
|
bool isHalf = CheckboxBPPTHalfOpacity.IsChecked == true;
|
|
c[1] = isHalf ? '2' : '1';
|
|
ppt.PPTBButtonsOption = int.Parse(new string(c));
|
|
if (isHalf)
|
|
{
|
|
if (ppt.PPTLBButtonOpacity == 1.0) ppt.PPTLBButtonOpacity = 0.5;
|
|
if (ppt.PPTRBButtonOpacity == 1.0) ppt.PPTRBButtonOpacity = 0.5;
|
|
PPTLBButtonOpacityValueSlider.Value = ppt.PPTLBButtonOpacity;
|
|
PPTRBButtonOpacityValueSlider.Value = ppt.PPTRBButtonOpacity;
|
|
}
|
|
else
|
|
{
|
|
if (ppt.PPTLBButtonOpacity == 0.5) ppt.PPTLBButtonOpacity = 1.0;
|
|
if (ppt.PPTRBButtonOpacity == 0.5) ppt.PPTRBButtonOpacity = 1.0;
|
|
PPTLBButtonOpacityValueSlider.Value = ppt.PPTLBButtonOpacity;
|
|
PPTRBButtonOpacityValueSlider.Value = ppt.PPTRBButtonOpacity;
|
|
}
|
|
SettingsManager.SaveSettingsToFile();
|
|
if (mw?.PPTUIManager != null && mw.BtnPPTSlideShowEnd.Visibility == Visibility.Visible)
|
|
{
|
|
mw.PPTUIManager.PPTBButtonsOption = ppt.PPTBButtonsOption;
|
|
mw.PPTUIManager.PPTLBButtonOpacity = ppt.PPTLBButtonOpacity;
|
|
mw.PPTUIManager.PPTRBButtonOpacity = ppt.PPTRBButtonOpacity;
|
|
mw.PPTUIManager.UpdateNavigationButtonStyles();
|
|
}
|
|
mw?.UpdatePPTBtnPreview();
|
|
}
|
|
|
|
private void CheckboxBPPTBlackBackground_IsCheckChange(object sender, RoutedEventArgs e)
|
|
{
|
|
if (!_isLoaded) return;
|
|
var mw = GetMainWindow();
|
|
var str = SettingsManager.Settings.PowerPointSettings.PPTBButtonsOption.ToString();
|
|
char[] c = str.ToCharArray();
|
|
c[2] = CheckboxBPPTBlackBackground.IsChecked == true ? '2' : '1';
|
|
SettingsManager.Settings.PowerPointSettings.PPTBButtonsOption = int.Parse(new string(c));
|
|
SettingsManager.SaveSettingsToFile();
|
|
if (mw?.PPTUIManager != null && mw.BtnPPTSlideShowEnd.Visibility == Visibility.Visible)
|
|
{
|
|
mw.PPTUIManager.PPTBButtonsOption = SettingsManager.Settings.PowerPointSettings.PPTBButtonsOption;
|
|
mw.PPTUIManager.UpdateNavigationButtonStyles();
|
|
}
|
|
mw?.UpdatePPTBtnPreview();
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region PPT SlideShow Entry & Gesture
|
|
|
|
private void ToggleSwitchShowCanvasAtNewSlideShow_Toggled(object sender, RoutedEventArgs e)
|
|
{
|
|
if (!_isLoaded) return;
|
|
SettingsManager.Settings.PowerPointSettings.IsShowCanvasAtNewSlideShow = CardShowCanvasAtNewSlideShow.IsOn;
|
|
SettingsManager.SaveSettingsToFile();
|
|
}
|
|
|
|
private void ToggleSwitchEnableTwoFingerGestureInPresentationMode_Toggled(object sender, RoutedEventArgs e)
|
|
{
|
|
if (!_isLoaded) return;
|
|
SettingsManager.Settings.PowerPointSettings.IsEnableTwoFingerGestureInPresentationMode = CardEnableTwoFingerGestureInPresentationMode.IsOn;
|
|
SettingsManager.SaveSettingsToFile();
|
|
}
|
|
|
|
private void ToggleSwitchEnableFingerGestureSlideShowControl_Toggled(object sender, RoutedEventArgs e)
|
|
{
|
|
if (!_isLoaded) return;
|
|
SettingsManager.Settings.PowerPointSettings.IsEnableFingerGestureSlideShowControl = CardEnableFingerGestureSlideShowControl.IsOn;
|
|
SettingsManager.SaveSettingsToFile();
|
|
}
|
|
|
|
private void ToggleSwitchShowGestureButtonInSlideShow_Toggled(object sender, RoutedEventArgs e)
|
|
{
|
|
if (!_isLoaded) return;
|
|
var mw = GetMainWindow();
|
|
SettingsManager.Settings.PowerPointSettings.ShowGestureButtonInSlideShow = CardShowGestureButtonInSlideShow.IsOn;
|
|
SettingsManager.SaveSettingsToFile();
|
|
if (mw != null && mw.BtnPPTSlideShowEnd.Visibility == Visibility.Visible)
|
|
mw.UpdateGestureButtonVisibilityInPPTMode();
|
|
}
|
|
|
|
private void ToggleSwitchEnablePPTTimeCapsule_Toggled(object sender, RoutedEventArgs e)
|
|
{
|
|
if (!_isLoaded) return;
|
|
var mw = GetMainWindow();
|
|
SettingsManager.Settings.PowerPointSettings.EnablePPTTimeCapsule = CardEnablePPTTimeCapsule.IsOn;
|
|
SettingsManager.SaveSettingsToFile();
|
|
if (mw != null && mw.BtnPPTSlideShowEnd.Visibility == Visibility.Visible)
|
|
{
|
|
mw.UpdatePPTTimeCapsuleVisibility();
|
|
mw.UpdatePPTQuickPanelVisibility();
|
|
}
|
|
}
|
|
|
|
private void ComboBoxPPTTimeCapsulePosition_SelectionChanged(object sender, SelectionChangedEventArgs e)
|
|
{
|
|
if (!_isLoaded || ComboBoxPPTTimeCapsulePosition == null) return;
|
|
var mw = GetMainWindow();
|
|
SettingsManager.Settings.PowerPointSettings.PPTTimeCapsulePosition = ComboBoxPPTTimeCapsulePosition.SelectedIndex;
|
|
SettingsManager.SaveSettingsToFile();
|
|
if (mw != null && mw.BtnPPTSlideShowEnd.Visibility == Visibility.Visible)
|
|
mw.UpdatePPTTimeCapsulePosition();
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region PPT Auto Save & Notifications
|
|
|
|
private void ToggleSwitchAutoSaveScreenShotInPowerPoint_Toggled(object sender, RoutedEventArgs e)
|
|
{
|
|
if (!_isLoaded) return;
|
|
SettingsManager.Settings.PowerPointSettings.IsAutoSaveScreenShotInPowerPoint = CardAutoSaveScreenShotInPowerPoint.IsOn;
|
|
SettingsManager.SaveSettingsToFile();
|
|
}
|
|
|
|
private void ToggleSwitchAutoSaveStrokesInPowerPoint_Toggled(object sender, RoutedEventArgs e)
|
|
{
|
|
if (!_isLoaded) return;
|
|
SettingsManager.Settings.PowerPointSettings.IsAutoSaveStrokesInPowerPoint = CardAutoSaveStrokesInPowerPoint.IsOn;
|
|
SettingsManager.SaveSettingsToFile();
|
|
}
|
|
|
|
private void ToggleSwitchNotifyPreviousPage_Toggled(object sender, RoutedEventArgs e)
|
|
{
|
|
if (!_isLoaded) return;
|
|
SettingsManager.Settings.PowerPointSettings.IsNotifyPreviousPage = CardNotifyPreviousPage.IsOn;
|
|
SettingsManager.SaveSettingsToFile();
|
|
}
|
|
|
|
private void ToggleSwitchAlwaysGoToFirstPageOnReenter_Toggled(object sender, RoutedEventArgs e)
|
|
{
|
|
if (!_isLoaded) return;
|
|
SettingsManager.Settings.PowerPointSettings.IsAlwaysGoToFirstPageOnReenter = CardAlwaysGoToFirstPageOnReenter.IsOn;
|
|
SettingsManager.SaveSettingsToFile();
|
|
}
|
|
|
|
private void ToggleSwitchNotifyHiddenPage_Toggled(object sender, RoutedEventArgs e)
|
|
{
|
|
if (!_isLoaded) return;
|
|
SettingsManager.Settings.PowerPointSettings.IsNotifyHiddenPage = CardNotifyHiddenPage.IsOn;
|
|
SettingsManager.SaveSettingsToFile();
|
|
}
|
|
|
|
private void ToggleSwitchNotifyAutoPlayPresentation_Toggled(object sender, RoutedEventArgs e)
|
|
{
|
|
if (!_isLoaded) return;
|
|
SettingsManager.Settings.PowerPointSettings.IsNotifyAutoPlayPresentation = CardNotifyAutoPlayPresentation.IsOn;
|
|
SettingsManager.SaveSettingsToFile();
|
|
}
|
|
|
|
#endregion
|
|
}
|
|
}
|