-
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathActionInboxWindow.xaml
More file actions
192 lines (184 loc) · 12.7 KB
/
Copy pathActionInboxWindow.xaml
File metadata and controls
192 lines (184 loc) · 12.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
<Window x:Class="TimeTask.ActionInboxWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:loc="clr-namespace:TimeTask"
Title="{loc:Loc ActionInbox_WindowTitle}"
Height="600" Width="720"
WindowStartupLocation="CenterScreen"
ResizeMode="CanResize">
<!--
设计原则(用户反馈:太繁琐 / 概念不懂 / 不知道下一步干嘛):
1) 首屏只回答一件事——「找到了几件事,加不加进任务列表」,一个绿色主按钮收口;
2) 全部高级内容(回放、转写全文、会议纪要)默认折叠,用大白话命名;
3) 不出现 ASR / LLM / 置信度 / 象限这类术语,列头改成「加入 / 事项 / 放到哪 / 提醒我」。
-->
<Grid Margin="16,12,16,12">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<!-- 0. 一句话结论 -->
<StackPanel Grid.Row="0" Orientation="Vertical">
<TextBlock x:Name="TitleText" FontSize="19" FontWeight="Bold" Text="{loc:Loc ActionInbox_TitleDefault}"/>
<TextBlock x:Name="MetaText" Foreground="#666" Margin="0,4,0,0" FontSize="13" TextWrapping="Wrap"/>
</StackPanel>
<!-- 1. 操作引导(有人话的下一步) -->
<TextBlock x:Name="ActionHintText" Grid.Row="1" Margin="0,10,0,4" FontSize="13" Foreground="#333"
Text="{loc:Loc ActionInbox_Hint}"/>
<!-- 2. 行动项卡片 / 空态卡片 -->
<Border x:Name="ActionsCard" Grid.Row="2" Background="#FDFEFD" BorderBrush="#D8E4D8"
BorderThickness="1" CornerRadius="6" Padding="6" ClipToBounds="True">
<DataGrid x:Name="Grid" AutoGenerateColumns="False" CanUserAddRows="False"
CanUserDeleteRows="False" SelectionMode="Single" Background="Transparent"
HeadersVisibility="Column" BorderThickness="0" RowHeight="34"
GridLinesVisibility="Horizontal" HorizontalGridLinesBrush="#EEE">
<DataGrid.Columns>
<DataGridCheckBoxColumn Header="{loc:Loc ActionInbox_ColumnAccept}" Binding="{Binding Accepted, Mode=TwoWay}" Width="46"/>
<DataGridTextColumn Header="{loc:Loc ActionInbox_ColumnItem}" Binding="{Binding Text, Mode=TwoWay}" Width="*"/>
<DataGridComboBoxColumn x:Name="QuadrantColumn" Header="{loc:Loc ActionInbox_ColumnQuadrant}"
SelectedValueBinding="{Binding QuadrantIndex, Mode=TwoWay}"
SelectedValuePath="Index" DisplayMemberPath="Name" Width="128"/>
<DataGridTemplateColumn Header="{loc:Loc ActionInbox_ColumnReminder}" Width="112">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<DatePicker SelectedDate="{Binding Reminder, Mode=TwoWay}" BorderThickness="0"
ToolTip="{loc:Loc ActionInbox_ReminderTooltip}"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
</Border>
<Border x:Name="EmptyCard" Grid.Row="2" Background="#FBF9F2" BorderBrush="#E6DFC8"
BorderThickness="1" CornerRadius="6" Padding="16" Visibility="Collapsed">
<StackPanel>
<TextBlock x:Name="EmptyReasonText" FontSize="13" TextWrapping="Wrap" Foreground="#5A5245" LineHeight="22"/>
<StackPanel Orientation="Horizontal" Margin="0,12,0,0">
<Button x:Name="BtnEmptyListen" Content="{loc:Loc ActionInbox_EmptyListen}" Width="120" Height="32" Margin="0,0,10,0"
Click="BtnEmptyListen_Click" Background="#FFFDF6" BorderBrush="#C9B98A"/>
<Button x:Name="BtnEmptyManual" Content="{loc:Loc ActionInbox_EmptyManual}" Width="140" Height="32"
Click="BtnEmptyManual_Click" Background="#FFFDF6" BorderBrush="#C9B98A"/>
</StackPanel>
</StackPanel>
</Border>
<!-- 3. 主操作:一个绿色按钮收口 -->
<StackPanel Grid.Row="3" Orientation="Horizontal" Margin="0,10,0,0">
<Button x:Name="BtnAcceptAll" Content="{loc:Loc ActionInbox_Accept}" Height="40" MinWidth="230" Padding="14,0"
Click="BtnAcceptAll_Click" Background="#2E7D32" Foreground="White" FontSize="14"
FontWeight="SemiBold" BorderBrush="#256428"/>
<Button x:Name="BtnDismiss" Content="{loc:Loc ActionInbox_Dismiss}" Height="40" Margin="12,0,0,0" Padding="10,0"
Click="BtnDismiss_Click" Background="Transparent" Foreground="#777"
BorderThickness="0" FontSize="13"/>
<TextBlock x:Name="StatusText" VerticalAlignment="Center" Margin="14,0,0,0" Foreground="#888" FontSize="12" TextWrapping="Wrap"/>
</StackPanel>
<!-- 4. 折叠:听录音 / 找文件 -->
<Expander x:Name="AudioExpander" Grid.Row="4" Header="{loc:Loc ActionInbox_AudioHeader}" Margin="0,12,0,0" IsExpanded="False">
<Border Background="#F4FAFE" BorderBrush="#CFE3F2" BorderThickness="1" CornerRadius="4" Padding="10,8" Margin="0,6,0,0">
<StackPanel>
<StackPanel Orientation="Horizontal">
<Button x:Name="BtnPlayMic" Content="{loc:Loc ActionInbox_PlayMic}" Width="150" Height="30" Margin="0,0,8,0" Click="BtnPlayMic_Click"/>
<Button x:Name="BtnPlaySystem" Content="{loc:Loc ActionInbox_PlaySystem}" Width="130" Height="30" Margin="0,0,8,0" Click="BtnPlaySystem_Click"/>
<Button x:Name="BtnStopPlay" Content="{loc:Loc ActionInbox_StopPlay}" Width="76" Height="30" Margin="0,0,8,0" Click="BtnStopPlay_Click" IsEnabled="False"/>
<Button x:Name="BtnOpenFolder" Content="{loc:Loc ActionInbox_OpenFolder}" Width="96" Height="30" Click="BtnOpenFolder_Click"/>
</StackPanel>
<TextBlock x:Name="PlayStatus" Foreground="#555" FontSize="11" Margin="0,4,0,0"/>
<TextBlock x:Name="RetentionNote" Foreground="#999" FontSize="11" Margin="0,6,0,0" TextWrapping="Wrap"/>
</StackPanel>
</Border>
</Expander>
<!-- 5. 折叠:转写全文 + 手动补记兜底 -->
<Expander x:Name="TranscriptExpander" Grid.Row="5" Header="{loc:Loc ActionInbox_TranscriptHeader}" Margin="0,8,0,0" IsExpanded="False">
<StackPanel>
<TextBox x:Name="TranscriptBox" Height="120" IsReadOnly="True" TextWrapping="Wrap"
VerticalScrollBarVisibility="Auto" FontSize="12" Background="#F7F7F7" Margin="0,6,0,4"/>
<!-- 没能自动转成文字时的手动兜底:完全离线、不依赖任何模型 -->
<Expander x:Name="ManualExpander" Header="{loc:Loc ActionInbox_ManualHeader}" Margin="0,2,0,0" IsExpanded="False">
<StackPanel Margin="0,6,0,0">
<TextBox x:Name="ManualTextBox" Height="90" TextWrapping="Wrap" AcceptsReturn="True"
VerticalScrollBarVisibility="Auto" FontSize="12"/>
<StackPanel Orientation="Horizontal" Margin="0,6,0,0">
<Button x:Name="BtnExtractFromText" Content="{loc:Loc ActionInbox_ExtractFromText}" Width="150" Height="32" Click="BtnExtractFromText_Click" Background="#1565C0" Foreground="White"/>
<Button x:Name="BtnClearManual" Content="{loc:Loc ActionInbox_ClearManual}" Width="70" Height="32" Margin="8,0,0,0" Click="BtnClearManual_Click"/>
</StackPanel>
</StackPanel>
</Expander>
</StackPanel>
</Expander>
<!-- 6. 折叠:会议纪要 -->
<Expander x:Name="MinutesExpander" Grid.Row="6" Header="{loc:Loc ActionInbox_MinutesHeader}" Margin="0,8,0,0" IsExpanded="False">
<StackPanel>
<TextBlock x:Name="MinutesSummary" FontSize="12" TextWrapping="Wrap" Foreground="#444" Margin="0,6,0,6"/>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<StackPanel Grid.Column="0" Margin="0,0,8,0">
<TextBlock Text="{loc:Loc ActionInbox_MinConcepts}" FontWeight="SemiBold" Foreground="#0B6E8F" Margin="0,0,0,3"/>
<ItemsControl x:Name="MinConcepts">
<ItemsControl.ItemTemplate>
<DataTemplate>
<StackPanel Margin="0,0,0,4">
<TextBlock Text="{Binding Term}" FontWeight="SemiBold" FontSize="11" TextWrapping="Wrap"/>
<TextBlock Text="{Binding Explanation}" FontSize="10" Foreground="#666" TextWrapping="Wrap"/>
</StackPanel>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</StackPanel>
<StackPanel Grid.Column="1" Margin="0,0,8,0">
<TextBlock Text="{loc:Loc ActionInbox_MinQuestions}" FontWeight="SemiBold" Foreground="#0B6E8F" Margin="0,0,0,3"/>
<ItemsControl x:Name="MinQuestions">
<ItemsControl.ItemTemplate>
<DataTemplate>
<TextBlock FontSize="11" TextWrapping="Wrap" Margin="0,0,0,4">
<TextBlock.Text>
<Binding Path="Question"/>
</TextBlock.Text>
<TextBlock.Style>
<Style TargetType="TextBlock">
<Style.Triggers>
<DataTrigger Binding="{Binding Resolved}" Value="True">
<Setter Property="Foreground" Value="#2E7D32"/>
<Setter Property="TextDecorations" Value="Strikethrough"/>
</DataTrigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</TextBlock>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</StackPanel>
<StackPanel Grid.Column="2" Margin="0,0,8,0">
<TextBlock Text="{loc:Loc ActionInbox_MinDecisions}" FontWeight="SemiBold" Foreground="#0B6E8F" Margin="0,0,0,3"/>
<ItemsControl x:Name="MinDecisions">
<ItemsControl.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding}" FontSize="11" TextWrapping="Wrap" Margin="0,0,0,4"/>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</StackPanel>
<StackPanel Grid.Column="3">
<TextBlock Text="{loc:Loc ActionInbox_MinActions}" FontWeight="SemiBold" Foreground="#0B6E8F" Margin="0,0,0,3"/>
<ItemsControl x:Name="MinActions">
<ItemsControl.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding}" FontSize="11" TextWrapping="Wrap" Margin="0,0,0,4"/>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</StackPanel>
</Grid>
</StackPanel>
</Expander>
</Grid>
</Window>