feat(工具栏设置): 添加工具栏配置页面及功能实现

实现工具栏配置页面,允许用户调整工具栏按钮的顺序和可见性
包含主工具栏、画布控制和尾部按钮三个区域的配置
支持恢复默认布局功能
This commit is contained in:
PrefacedCorg
2026-05-02 13:41:02 +08:00
parent 7736d88657
commit 723c0b9cdc
18 changed files with 714 additions and 206 deletions
@@ -45,6 +45,7 @@ namespace Ink_Canvas.Windows.SettingsViews
{ "WindowPage", typeof(WindowPage) },
{ "AppearancePage", typeof(AppearancePage) },
{ "HotkeyPage", typeof(HotkeyPage) },
{ "ToolbarPage", typeof(ToolbarPage) },
{ "UpdatePage", typeof(UpdatePage) },
{ "ExperimentalPage", typeof(ExperimentalPage) },
{ "AdvancedPage", typeof(AdvancedPage) },
@@ -312,8 +313,10 @@ namespace Ink_Canvas.Windows.SettingsViews
if (!_pages.TryGetValue(pageTag, out var cachedPage))
{
Ink_Canvas.Helpers.LogHelper.WriteLogToFile($"SettingsWindow: 创建页面实例 {pageTag} ({pageType.Name})", Ink_Canvas.Helpers.LogHelper.LogType.Info);
cachedPage = Activator.CreateInstance(pageType);
_pages.Add(pageTag, cachedPage);
Ink_Canvas.Helpers.LogHelper.WriteLogToFile($"SettingsWindow: 页面实例 {pageTag} 创建成功", Ink_Canvas.Helpers.LogHelper.LogType.Info);
}
if (cachedPage is PluginSettingsPage pluginSettingsPage && pluginInfo != null)
@@ -325,6 +328,7 @@ namespace Ink_Canvas.Windows.SettingsViews
}
catch (Exception ex)
{
Ink_Canvas.Helpers.LogHelper.WriteLogToFile($"SettingsWindow: 导航到 {pageTag} 异常: {ex.GetType().Name}: {ex.Message}\n{ex.StackTrace}", Ink_Canvas.Helpers.LogHelper.LogType.Error);
MessageBox.Show($"导航到页面时出错: {ex.Message}", "错误", MessageBoxButton.OK, MessageBoxImage.Error);
}
finally