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