Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
80 changes: 80 additions & 0 deletions Ink Canvas/Windows/FeedbackPages/FeedbackPage1.xaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
<UserControl
x:Class="Ink_Canvas.Windows.FeedbackPages.FeedbackPage1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:ui="http://schemas.inkore.net/lib/ui/wpf/modern"
xmlns:ikw="http://schemas.inkore.net/lib/ui/wpf"
mc:Ignorable="d"
d:DesignHeight="450" d:DesignWidth="600">
<ScrollViewer VerticalScrollBarVisibility="Auto" IsManipulationEnabled="True" PanningMode="VerticalOnly">
<ikw:SimpleStackPanel Spacing="12">
<TextBlock FontSize="20" FontWeight="SemiBold" Margin="0,0,0,10" Text="选择要包含的信息"/>

<ui:SettingsExpander x:Name="ExpanderSoftware" Header="软件信息"
Description="选择要包含在反馈中的软件版本信息">
<ui:SettingsExpander.HeaderIcon>
<ui:FontIcon Icon="{x:Static ui:SegoeFluentIcons.AppIconDefault}"/>
</ui:SettingsExpander.HeaderIcon>
<ui:SettingsExpander.Items>
<ui:SettingsCard ContentAlignment="Left">
<CheckBox x:Name="CheckAppVersion" IsChecked="True" Content="软件版本"/>
</ui:SettingsCard>
<ui:SettingsCard ContentAlignment="Left">
<CheckBox x:Name="CheckUpdateChannel" IsChecked="True" Content="更新通道"/>
</ui:SettingsCard>
</ui:SettingsExpander.Items>
</ui:SettingsExpander>

<ui:SettingsExpander x:Name="ExpanderSystem" Header="系统信息"
Description="选择要包含在反馈中的系统环境信息">
<ui:SettingsExpander.HeaderIcon>
<ui:FontIcon Icon="{x:Static ui:SegoeFluentIcons.PC1}"/>
</ui:SettingsExpander.HeaderIcon>
<ui:SettingsExpander.Items>
<ui:SettingsCard ContentAlignment="Left">
<CheckBox x:Name="CheckOSVersion" IsChecked="True" Content="操作系统版本"/>
</ui:SettingsCard>
<ui:SettingsCard ContentAlignment="Left">
<CheckBox x:Name="CheckNetVersion" IsChecked="True" Content=".NET Framework 版本"/>
</ui:SettingsCard>
<ui:SettingsCard ContentAlignment="Left">
<CheckBox x:Name="CheckTouchSupport" IsChecked="True" Content="触控支持"/>
</ui:SettingsCard>
</ui:SettingsExpander.Items>
</ui:SettingsExpander>

<ui:SettingsExpander x:Name="ExpanderDevice" Header="设备信息"
Description="选择要包含在反馈中的设备标识信息">
<ui:SettingsExpander.HeaderIcon>
<ui:FontIcon Icon="{x:Static ui:SegoeFluentIcons.Devices2}"/>
</ui:SettingsExpander.HeaderIcon>
<ui:SettingsExpander.Items>
<ui:SettingsCard ContentAlignment="Left">
<CheckBox x:Name="CheckDeviceId" IsChecked="False" Content="设备 ID"/>
</ui:SettingsCard>
<ui:SettingsCard x:Name="CardFanceId" ContentAlignment="Left">
<CheckBox x:Name="CheckFanceId" IsChecked="False" Content="遥测 ID" ToolTipService.ShowOnDisabled="True">
</CheckBox>
</ui:SettingsCard>
</ui:SettingsExpander.Items>
</ui:SettingsExpander>

<ui:SettingsExpander x:Name="ExpanderConfiguration" Header="软件配置"
Description="选择要包含在反馈中的软件配置信息">
<ui:SettingsExpander.HeaderIcon>
<ui:FontIcon Icon="{x:Static ui:SegoeFluentIcons.Settings}"/>
</ui:SettingsExpander.HeaderIcon>
<ui:SettingsExpander.Items>
<ui:SettingsCard ContentAlignment="Left">
<CheckBox x:Name="CheckPPTLinkage" IsChecked="True" Content="PPT 联动设置"/>
</ui:SettingsCard>
<ui:SettingsCard ContentAlignment="Left">
<CheckBox x:Name="CheckInkRecognition" IsChecked="True" Content="墨迹识别设置"/>
</ui:SettingsCard>
</ui:SettingsExpander.Items>
</ui:SettingsExpander>
</ikw:SimpleStackPanel>
</ScrollViewer>
</UserControl>
24 changes: 24 additions & 0 deletions Ink Canvas/Windows/FeedbackPages/FeedbackPage1.xaml.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
using System.Windows;
using System.Windows.Controls;

namespace Ink_Canvas.Windows.FeedbackPages
{
/// <summary>
/// 反馈页面1:环境信息选择页面。
/// 允许用户选择要包含在反馈中的系统环境信息。
/// </summary>
/// <remarks>
/// 用户可以选择包含以下信息:
/// - 软件版本和更新通道
/// - 操作系统版本、.NET版本和触控支持
/// - 设备ID和遥测ID
/// - PPT联动设置和墨迹识别设置
/// </remarks>
public partial class FeedbackPage1 : UserControl
{
public FeedbackPage1()
{
InitializeComponent();
}
}
}
57 changes: 57 additions & 0 deletions Ink Canvas/Windows/FeedbackPages/FeedbackPage2.xaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
<UserControl
x:Class="Ink_Canvas.Windows.FeedbackPages.FeedbackPage2"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:ui="http://schemas.inkore.net/lib/ui/wpf/modern"
xmlns:ikw="http://schemas.inkore.net/lib/ui/wpf"
mc:Ignorable="d"
d:DesignHeight="450" d:DesignWidth="600">
<ScrollViewer VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Disabled" IsManipulationEnabled="True" PanningMode="VerticalOnly">
<ikw:SimpleStackPanel Spacing="12" Margin="0,0,0,20">
<TextBlock FontSize="20" FontWeight="SemiBold" Margin="0,0,0,10" Text="确认要发送的信息"/>

<ui:SettingsCard Header="软件信息"
Description="将要包含在反馈中的软件版本信息">
<ui:SettingsCard.HeaderIcon>
<ui:FontIcon Icon="{x:Static ui:SegoeFluentIcons.AppIconDefault}"/>
</ui:SettingsCard.HeaderIcon>
<ikw:SimpleStackPanel Spacing="8">
<TextBlock x:Name="TextAppVersionInfo" Text="" FontSize="14" TextWrapping="Wrap"/>
</ikw:SimpleStackPanel>
</ui:SettingsCard>

<ui:SettingsCard Header="系统信息"
Description="将要包含在反馈中的系统环境信息">
<ui:SettingsCard.HeaderIcon>
<ui:FontIcon Icon="{x:Static ui:SegoeFluentIcons.PC1}"/>
</ui:SettingsCard.HeaderIcon>
<ikw:SimpleStackPanel Spacing="8">
<TextBlock x:Name="TextSystemInfo" Text="" FontSize="14" TextWrapping="Wrap"/>
</ikw:SimpleStackPanel>
</ui:SettingsCard>

<ui:SettingsCard Header="设备信息"
Description="将要包含在反馈中的设备标识信息">
<ui:SettingsCard.HeaderIcon>
<ui:FontIcon Icon="{x:Static ui:SegoeFluentIcons.Devices2}"/>
</ui:SettingsCard.HeaderIcon>
<ikw:SimpleStackPanel Spacing="8">
<TextBlock x:Name="TextDeviceInfo" Text="" FontSize="14" TextWrapping="Wrap"/>
<TextBlock x:Name="TextTelemetryInfo" Text="" FontSize="14" TextWrapping="Wrap" Visibility="Collapsed"/>
</ikw:SimpleStackPanel>
</ui:SettingsCard>

<ui:SettingsCard x:Name="CardConfiguration" Header="软件配置"
Description="将要包含在反馈中的软件配置信息">
<ui:SettingsCard.HeaderIcon>
<ui:FontIcon Icon="{x:Static ui:SegoeFluentIcons.Settings}"/>
</ui:SettingsCard.HeaderIcon>
<ikw:SimpleStackPanel Spacing="8">
<TextBlock x:Name="TextConfigurationInfo" Text="" FontSize="14" TextWrapping="Wrap"/>
</ikw:SimpleStackPanel>
</ui:SettingsCard>
</ikw:SimpleStackPanel>
</ScrollViewer>
</UserControl>
24 changes: 24 additions & 0 deletions Ink Canvas/Windows/FeedbackPages/FeedbackPage2.xaml.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
using System.Windows;
using System.Windows.Controls;

namespace Ink_Canvas.Windows.FeedbackPages
{
/// <summary>
/// 反馈页面2:环境信息预览页面。
/// 展示用户选择要包含在反馈中的系统环境信息。
/// </summary>
/// <remarks>
/// 显示以下信息:
/// - 软件版本信息
/// - 系统信息(操作系统、.NET版本、触控支持)
/// - 设备信息(设备ID、遥测ID)
/// - 软件配置信息(PPT联动设置、墨迹识别设置)
/// </remarks>
public partial class FeedbackPage2 : UserControl
{
public FeedbackPage2()
{
InitializeComponent();
}
}
}
62 changes: 62 additions & 0 deletions Ink Canvas/Windows/FeedbackPages/FeedbackPage3.xaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
<UserControl
x:Class="Ink_Canvas.Windows.FeedbackPages.FeedbackPage3"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:ui="http://schemas.inkore.net/lib/ui/wpf/modern"
xmlns:ikw="http://schemas.inkore.net/lib/ui/wpf"
mc:Ignorable="d"
d:DesignHeight="450" d:DesignWidth="600">
<ScrollViewer VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Disabled" IsManipulationEnabled="True" PanningMode="VerticalOnly">
<ikw:SimpleStackPanel Spacing="12" Margin="0,0,0,20">
<TextBlock FontSize="20" FontWeight="SemiBold" Margin="0,0,0,10" Text="选择反馈方式"/>

<ui:SettingsExpander x:Name="ExpanderGitHubFeedback" Header="GitHub 问题反馈"
Description="在 GitHub 上提交问题反馈">
<ui:SettingsExpander.HeaderIcon>
<ui:FontIcon Icon="{x:Static ui:SegoeFluentIcons.Mail}"/>
</ui:SettingsExpander.HeaderIcon>
<Button x:Name="BtnOpenGitHubIssue" Content="跳转到 GitHub 反馈">
<Button.Style>
<Style TargetType="Button" BasedOn="{StaticResource {x:Static ui:ThemeKeys.AccentButtonStyleKey}}"/>
</Button.Style>
</Button>
<ui:SettingsExpander.Items>
<ui:SettingsCard x:Name="CardCopyIssueUrl" Header="复制反馈链接" IsClickEnabled="True">
<ui:SettingsCard.ActionIcon>
<ui:FontIcon Icon="{x:Static ui:SegoeFluentIcons.Copy}"/>
</ui:SettingsCard.ActionIcon>
</ui:SettingsCard>
</ui:SettingsExpander.Items>
</ui:SettingsExpander>

<ui:SettingsExpander x:Name="ExpanderMarkdownTemplate" Header="反馈模板 (Markdown)"
Description="复制以下 Markdown 模板进行反馈">
<ui:SettingsExpander.HeaderIcon>
<ui:FontIcon Icon="{x:Static ui:SegoeFluentIcons.Code}"/>
</ui:SettingsExpander.HeaderIcon>
<Button x:Name="BtnCopyMarkdown" Content="复制模板">
<Button.Style>
<Style TargetType="Button" BasedOn="{StaticResource {x:Static ui:ThemeKeys.DefaultButtonStyleKey}}"/>
</Button.Style>
</Button>
<ui:SettingsExpander.Items>
<ui:SettingsCard ContentAlignment="Left">
<TextBox x:Name="TextBoxMarkdownTemplate"
MinHeight="200"
IsReadOnly="True"
BorderThickness="0"
Background="Transparent"
FontFamily="Consolas"
FontSize="12"
TextWrapping="Wrap"
AcceptsReturn="True"
VerticalScrollBarVisibility="Auto"
Text="# 问题描述&#x0a;请描述您遇到的问题...&#x0a;&#x0a;# 重现步骤&#x0a;1. &#x0a;2. &#x0a;3. &#x0a;&#x0a;# 预期行为&#x0a;请描述您期望的行为...&#x0a;&#x0a;# 实际行为&#x0a;请描述实际发生的...&#x0a;&#x0a;# 环境信息&#x0a;- 版本: &#x0a;- 系统: &#x0a;"/>
</ui:SettingsCard>
</ui:SettingsExpander.Items>
</ui:SettingsExpander>
</ikw:SimpleStackPanel>
</ScrollViewer>
</UserControl>
34 changes: 34 additions & 0 deletions Ink Canvas/Windows/FeedbackPages/FeedbackPage3.xaml.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
using System;
using System.Windows;
using System.Windows.Controls;

namespace Ink_Canvas.Windows.FeedbackPages
{
/// <summary>
/// 反馈页面3:反馈提交页面。
/// 提供Markdown模板并允许用户复制或直接打开GitHub Issue页面。
/// </summary>
/// <remarks>
/// 页面提供以下功能:
/// - 显示生成的Markdown格式环境信息模板
/// - 复制Markdown模板到剪贴板
/// - 复制预填的GitHub Issue URL到剪贴板
/// - 直接在浏览器中打开GitHub Issue创建页面
/// </remarks>
public partial class FeedbackPage3 : UserControl
{
public event EventHandler<RoutedEventArgs> BtnOpenGitHubIssueClick;
public event EventHandler<RoutedEventArgs> CardCopyIssueUrlClick;
public event EventHandler<RoutedEventArgs> BtnCopyMarkdownClick;

public string MarkdownTemplate => TextBoxMarkdownTemplate.Text;

public FeedbackPage3()
{
InitializeComponent();
BtnOpenGitHubIssue.Click += (s, e) => BtnOpenGitHubIssueClick?.Invoke(this, e);
CardCopyIssueUrl.Click += (s, e) => CardCopyIssueUrlClick?.Invoke(this, e);
BtnCopyMarkdown.Click += (s, e) => BtnCopyMarkdownClick?.Invoke(this, e);
}
}
}
56 changes: 56 additions & 0 deletions Ink Canvas/Windows/FeedbackWindow.xaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
<Window x:Class="Ink_Canvas.FeedbackWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:Ink_Canvas"
xmlns:ui="http://schemas.inkore.net/lib/ui/wpf/modern"
xmlns:ikw="http://schemas.inkore.net/lib/ui/wpf"
xmlns:feedbackPages="clr-namespace:Ink_Canvas.Windows.FeedbackPages"
mc:Ignorable="d" Topmost="True" WindowStartupLocation="CenterScreen" ui:WindowHelper.UseModernWindowStyle="True"
ResizeMode="NoResize" ui:ThemeManager.RequestedTheme="Light"
Title="反馈问题 - Ink Canvas For Class CE" Height="550" Width="650" FontFamily="Microsoft YaHei UI">
<Grid Margin="30">
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>

<ui:Frame x:Name="ContentFrame" Grid.Row="0">
<ui:Frame.ContentTransitions>
<ui:TransitionCollection>
<ui:NavigationThemeTransition />
</ui:TransitionCollection>
</ui:Frame.ContentTransitions>
</ui:Frame>

<Grid Grid.Row="1" VerticalAlignment="Bottom" Margin="0,20,0,0">
<ikw:SimpleStackPanel HorizontalAlignment="Right" VerticalAlignment="Center" Orientation="Horizontal" Spacing="12">
<Button x:Name="ButtonCancel" Content="取消" Width="100" Height="36" FontFamily="Microsoft YaHei UI" FontSize="14" Click="ButtonCancel_Click">
<Button.Style>
<Style TargetType="Button" BasedOn="{StaticResource {x:Static ui:ThemeKeys.DefaultButtonStyleKey}}">
<Setter Property="Foreground" Value="{DynamicResource {x:Static ui:ThemeKeys.TextFillColorPrimaryBrushKey}}"/>
</Style>
</Button.Style>
</Button>
<Button x:Name="ButtonNext" Content="下一步" Width="120" Height="36" FontFamily="Microsoft YaHei UI" FontSize="14" FontWeight="SemiBold" Click="ButtonNext_Click">
<Button.Style>
<Style TargetType="Button" BasedOn="{StaticResource {x:Static ui:ThemeKeys.AccentButtonStyleKey}}"/>
</Button.Style>
</Button>
<Button x:Name="ButtonBack" Content="上一页" Width="100" Height="36" FontFamily="Microsoft YaHei UI" FontSize="14" Click="ButtonBack_Click" Visibility="Collapsed">
<Button.Style>
<Style TargetType="Button" BasedOn="{StaticResource {x:Static ui:ThemeKeys.DefaultButtonStyleKey}}">
<Setter Property="Foreground" Value="{DynamicResource {x:Static ui:ThemeKeys.TextFillColorPrimaryBrushKey}}"/>
</Style>
</Button.Style>
</Button>
<Button x:Name="ButtonConfirm" Content="确认" Width="120" Height="36" FontFamily="Microsoft YaHei UI" FontSize="14" FontWeight="SemiBold" Click="ButtonConfirm_Click" Visibility="Collapsed">
<Button.Style>
<Style TargetType="Button" BasedOn="{StaticResource {x:Static ui:ThemeKeys.AccentButtonStyleKey}}"/>
</Button.Style>
</Button>
</ikw:SimpleStackPanel>
</Grid>
</Grid>
</Window>
Loading
Loading