撤销新设置部分修改
This commit is contained in:
@@ -1,6 +1,4 @@
|
|||||||
using Ink_Canvas.Helpers;
|
using Ink_Canvas.Helpers;
|
||||||
using Ink_Canvas.Windows;
|
|
||||||
using Ink_Canvas.Windows.SettingsViews;
|
|
||||||
using iNKORE.UI.WPF.Modern;
|
using iNKORE.UI.WPF.Modern;
|
||||||
using System;
|
using System;
|
||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
@@ -2872,67 +2870,51 @@ namespace Ink_Canvas
|
|||||||
}
|
}
|
||||||
|
|
||||||
private bool isOpeningOrHidingSettingsPane;
|
private bool isOpeningOrHidingSettingsPane;
|
||||||
|
private bool wasNoFocusModeBeforeSettings;
|
||||||
|
private bool userChangedNoFocusModeInSettings;
|
||||||
|
|
||||||
private void BtnSettings_Click(object sender, RoutedEventArgs e)
|
private void BtnSettings_Click(object sender, RoutedEventArgs e)
|
||||||
{
|
{
|
||||||
if (isOpeningOrHidingSettingsPane) return;
|
if (BorderSettings.Visibility == Visibility.Visible)
|
||||||
HideSubPanels();
|
|
||||||
{
|
{
|
||||||
var settingsWindow = new SettingsWindow();
|
HideSubPanels();
|
||||||
settingsWindow.Owner = this;
|
|
||||||
settingsWindow.ShowDialog();
|
|
||||||
}
|
}
|
||||||
}
|
else
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 显示老设置面板
|
|
||||||
/// </summary>
|
|
||||||
public void ShowOldSettingsPanel()
|
|
||||||
{
|
|
||||||
if (isOpeningOrHidingSettingsPane) return;
|
|
||||||
HideSubPanels();
|
|
||||||
|
|
||||||
// 关闭新设置窗口
|
|
||||||
foreach (Window window in Application.Current.Windows)
|
|
||||||
{
|
{
|
||||||
if (window is SettingsWindow)
|
|
||||||
{
|
|
||||||
window.Close();
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// 显示老设置面板
|
|
||||||
if (BorderSettings.Visibility != Visibility.Visible)
|
|
||||||
{
|
|
||||||
isOpeningOrHidingSettingsPane = true;
|
|
||||||
BorderSettings.Visibility = Visibility.Visible;
|
BorderSettings.Visibility = Visibility.Visible;
|
||||||
BorderSettingsMask.Visibility = Visibility.Visible;
|
wasNoFocusModeBeforeSettings = Settings.Advanced.IsNoFocusMode;
|
||||||
|
userChangedNoFocusModeInSettings = false; // 重置用户修改标志
|
||||||
|
if (wasNoFocusModeBeforeSettings)
|
||||||
|
{
|
||||||
|
isTemporarilyDisablingNoFocusMode = true;
|
||||||
|
ApplyNoFocusMode();
|
||||||
|
}
|
||||||
|
|
||||||
|
// 设置蒙版为可点击,并添加半透明背景
|
||||||
BorderSettingsMask.IsHitTestVisible = true;
|
BorderSettingsMask.IsHitTestVisible = true;
|
||||||
BorderSettingsMask.Background = new SolidColorBrush(Color.FromArgb(128, 0, 0, 0));
|
BorderSettingsMask.Background = new SolidColorBrush(Color.FromArgb(1, 0, 0, 0));
|
||||||
|
SettingsPanelScrollViewer.ScrollToTop();
|
||||||
// 设置初始位置
|
|
||||||
BorderSettings.RenderTransform = new TranslateTransform(490, 0);
|
|
||||||
|
|
||||||
var sb = new Storyboard();
|
var sb = new Storyboard();
|
||||||
|
|
||||||
|
// 滑动动画
|
||||||
var slideAnimation = new DoubleAnimation
|
var slideAnimation = new DoubleAnimation
|
||||||
{
|
{
|
||||||
From = 490,
|
From = BorderSettings.RenderTransform.Value.OffsetX - 490, // 滑动距离
|
||||||
To = 0,
|
To = 0,
|
||||||
Duration = TimeSpan.FromSeconds(0.6),
|
Duration = TimeSpan.FromSeconds(0.6),
|
||||||
EasingFunction = new CubicEase { EasingMode = EasingMode.EaseOut }
|
EasingFunction = new CubicEase { EasingMode = EasingMode.EaseOut }
|
||||||
};
|
};
|
||||||
Storyboard.SetTargetProperty(slideAnimation,
|
Storyboard.SetTargetProperty(slideAnimation,
|
||||||
new PropertyPath("(UIElement.RenderTransform).(TranslateTransform.X)"));
|
new PropertyPath("(UIElement.RenderTransform).(TranslateTransform.X)"));
|
||||||
Storyboard.SetTarget(slideAnimation, BorderSettings);
|
|
||||||
|
|
||||||
sb.Children.Add(slideAnimation);
|
sb.Children.Add(slideAnimation);
|
||||||
sb.Completed += (s, _) =>
|
|
||||||
{
|
sb.Completed += (s, _) => { isOpeningOrHidingSettingsPane = false; };
|
||||||
isOpeningOrHidingSettingsPane = false;
|
|
||||||
};
|
BorderSettings.RenderTransform = new TranslateTransform();
|
||||||
|
|
||||||
sb.Begin();
|
isOpeningOrHidingSettingsPane = true;
|
||||||
|
sb.Begin(BorderSettings);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -4016,4 +3998,4 @@ namespace Ink_Canvas
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1232,12 +1232,6 @@ namespace Ink_Canvas.Windows
|
|||||||
{
|
{
|
||||||
// 关闭新设置窗口
|
// 关闭新设置窗口
|
||||||
Close();
|
Close();
|
||||||
|
|
||||||
// 调用主窗口的显示老设置面板方法
|
|
||||||
if (_mainWindow != null)
|
|
||||||
{
|
|
||||||
_mainWindow.ShowOldSettingsPanel();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void ToggleSwitch_Click(object sender, MouseButtonEventArgs e)
|
private void ToggleSwitch_Click(object sender, MouseButtonEventArgs e)
|
||||||
|
|||||||
Reference in New Issue
Block a user