Files
Better-Seewo/Better-EN5/UI/SettingsWindow.xaml
2026-06-28 01:43:01 +08:00

169 lines
10 KiB
XML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<Window x:Class="BetterEN5.UI.SettingsWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Better-Seewo 设置"
Height="520" Width="680"
ResizeMode="CanResize"
WindowStyle="SingleBorderWindow"
FontSize="14">
<Window.Resources>
<Style x:Key="TabHeaderStyle" TargetType="TabItem">
<Setter Property="FontSize" Value="15"/>
<Setter Property="Padding" Value="16,8"/>
<Setter Property="Background" Value="Transparent"/>
</Style>
<Style x:Key="ActionButton" TargetType="Button">
<Setter Property="Padding" Value="16,8"/>
<Setter Property="Margin" Value="8"/>
<Setter Property="FontSize" Value="14"/>
<Setter Property="Cursor" Value="Hand"/>
</Style>
<Style x:Key="GroupBoxStyle" TargetType="GroupBox">
<Setter Property="Margin" Value="8"/>
<Setter Property="Padding" Value="12"/>
<Setter Property="FontSize" Value="14"/>
</Style>
</Window.Resources>
<Grid Margin="12">
<TabControl>
<TabItem Header="墨迹管理" Style="{StaticResource TabHeaderStyle}">
<ScrollViewer VerticalScrollBarVisibility="Auto">
<StackPanel Margin="8">
<GroupBox Header="墨迹导出" Style="{StaticResource GroupBoxStyle}">
<StackPanel>
<TextBlock TextWrapping="Wrap" Margin="0,0,0,12">
将当前课件中的所有墨迹(笔迹、标注)导出为 JSON 文件,方便备份和迁移。
</TextBlock>
<UniformGrid Columns="2" HorizontalAlignment="Left">
<Button Content="导出墨迹..." Style="{StaticResource ActionButton}"
Click="ExportInk_Click"/>
<Button Content="导入墨迹..." Style="{StaticResource ActionButton}"
Click="ImportInk_Click"/>
</UniformGrid>
</StackPanel>
</GroupBox>
<GroupBox Header="墨迹设置" Style="{StaticResource GroupBoxStyle}">
<StackPanel>
<CheckBox x:Name="AutoSaveInkCheckBox" Margin="4" Content="关闭课件时自动备份墨迹"/>
<CheckBox x:Name="IncludeShapeInkCheckBox" Margin="4" Content="导出包含形状上的笔迹"/>
<Button Content="保存设置" Style="{StaticResource ActionButton}"
HorizontalAlignment="Left" Click="SaveInkSettings_Click"/>
</StackPanel>
</GroupBox>
<GroupBox Header="状态" Style="{StaticResource GroupBoxStyle}">
<TextBlock x:Name="InkStatusText" Text="就绪" Foreground="Gray"/>
</GroupBox>
</StackPanel>
</ScrollViewer>
</TabItem>
<TabItem Header="文件转换" Style="{StaticResource TabHeaderStyle}">
<ScrollViewer VerticalScrollBarVisibility="Auto">
<StackPanel Margin="8">
<GroupBox Header="PPT 转 ENBX" Style="{StaticResource GroupBoxStyle}">
<StackPanel>
<TextBlock TextWrapping="Wrap" Margin="0,0,0,12">
将 PowerPoint 文件(.pptx转换为希沃白板课件格式.enbx
保留更多原始格式和排版。
</TextBlock>
<Button Content="选择并转换 PPT..." Style="{StaticResource ActionButton}"
HorizontalAlignment="Left" Click="ConvertPptx_Click"/>
</StackPanel>
</GroupBox>
<GroupBox Header="ENBX 转 PPT" Style="{StaticResource GroupBoxStyle}">
<StackPanel>
<TextBlock TextWrapping="Wrap" Margin="0,0,0,12">
将希沃白板课件(.enbx导出为 PowerPoint 格式(.pptx
</TextBlock>
<Button Content="选择并转换 ENBX..." Style="{StaticResource ActionButton}"
HorizontalAlignment="Left" Click="ConvertEnbx_Click"/>
</StackPanel>
</GroupBox>
<GroupBox Header="转换修复" Style="{StaticResource GroupBoxStyle}">
<StackPanel>
<TextBlock TextWrapping="Wrap" Margin="0,0,0,12">
清除转换缓存和临时文件,修复可能的转换失败问题。
</TextBlock>
<UniformGrid Columns="2" HorizontalAlignment="Left">
<Button Content="清理转换缓存" Style="{StaticResource ActionButton}"
Click="ClearConversionCache_Click"/>
<Button Content="强制重新注册转换器" Style="{StaticResource ActionButton}"
Click="ReRegisterConverter_Click"/>
</UniformGrid>
</StackPanel>
</GroupBox>
<GroupBox Header="状态" Style="{StaticResource GroupBoxStyle}">
<TextBlock x:Name="ConversionStatusText" Text="就绪" Foreground="Gray"/>
</GroupBox>
</StackPanel>
</ScrollViewer>
</TabItem>
<TabItem Header="触摸修复" Style="{StaticResource TabHeaderStyle}">
<ScrollViewer VerticalScrollBarVisibility="Auto">
<StackPanel Margin="8">
<GroupBox Header="触摸检测状态" Style="{StaticResource GroupBoxStyle}">
<StackPanel>
<TextBlock x:Name="TouchStatusText" TextWrapping="Wrap" Margin="0,0,0,12">
正在检测触摸状态...
</TextBlock>
<UniformGrid Columns="2" HorizontalAlignment="Left">
<Button Content="检测触摸状态" Style="{StaticResource ActionButton}"
Click="CheckTouch_Click"/>
<Button Content="应用修复" Style="{StaticResource ActionButton}"
Click="ApplyTouchFix_Click"/>
</UniformGrid>
</StackPanel>
</GroupBox>
<GroupBox Header="修复选项" Style="{StaticResource GroupBoxStyle}">
<StackPanel>
<CheckBox x:Name="ForceIWBModeCheckBox" Margin="4" Content="强制启用 IWB 模式(白板模式)" IsChecked="True"/>
<CheckBox x:Name="SkipTouchCheckCheckBox" Margin="4" Content="跳过启动时的触摸检测" IsChecked="True"/>
<CheckBox x:Name="SuppressTouchErrorsCheckBox" Margin="4" Content="抑制触摸相关错误提示" IsChecked="True"/>
<CheckBox x:Name="EnableFallbackModeCheckBox" Margin="4" Content="启用鼠标回退模式(触摸失效时自动切换)" IsChecked="True"/>
<Button Content="保存触摸设置" Style="{StaticResource ActionButton}"
HorizontalAlignment="Left" Click="SaveTouchSettings_Click"/>
</StackPanel>
</GroupBox>
<GroupBox Header="说明" Style="{StaticResource GroupBoxStyle}">
<TextBlock TextWrapping="Wrap">
• 部分学校电脑的触摸硬件本身没有故障,但希沃白板的触摸检测逻辑存在兼容性问题。&#10;
• 本功能通过配置注册表和配置文件,强制启用触摸支持,跳过有问题的检测步骤。&#10;
• 如果修复后触摸仍不工作,请尝试重启希沃白板。&#10;
• 如遇到更严重的触摸问题,可使用"还原"功能恢复默认设置。
</TextBlock>
</GroupBox>
</StackPanel>
</ScrollViewer>
</TabItem>
<TabItem Header="关于" Style="{StaticResource TabHeaderStyle}">
<StackPanel Margin="24" VerticalAlignment="Center" HorizontalAlignment="Center">
<TextBlock Text="Better-Seewo" FontSize="24" FontWeight="Bold"
HorizontalAlignment="Center" Margin="0,0,0,8"/>
<TextBlock Text="希沃白板功能增强插件" FontSize="16"
HorizontalAlignment="Center" Margin="0,0,0,4"/>
<TextBlock x:Name="VersionText" Text="版本 1.0.0"
HorizontalAlignment="Center" Foreground="Gray" Margin="0,0,0,24"/>
<Separator Margin="0,0,0,16"/>
<TextBlock TextWrapping="Wrap" HorizontalAlignment="Center">
Better-EN5 模块提供以下增强功能:&#10;
• 墨迹(笔迹/标注)的独立导出和导入&#10;
• 增强的 PPT 与 ENBX 文件转换&#10;
• 触摸检测逻辑修复与错误抑制&#10;&#10;
项目地址https://github.com/anomalyco/opencode
</TextBlock>
</StackPanel>
</TabItem>
</TabControl>
</Grid>
</Window>