/
MainWindow.xaml
206 lines (206 loc) · 14.9 KB
/
MainWindow.xaml
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
193
194
195
196
197
198
199
200
201
202
203
204
205
206
<Window x:Class="ChecksumVerifier.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit"
xmlns:dz="http://schemas.devzest.com/presentation"
Title="Checksum Verifier Utility" Height="386" Width="623" MinHeight="356" MinWidth="623" Icon="icon.ico">
<Grid>
<Grid.Background>
<SolidColorBrush Color="{DynamicResource {x:Static SystemColors.ControlLightColorKey}}"/>
</Grid.Background>
<Grid.RowDefinitions>
<RowDefinition Height="45"/>
<RowDefinition Height="120*"/>
<RowDefinition Height="30"/>
</Grid.RowDefinitions>
<Grid Grid.Row="0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="300"/>
<ColumnDefinition Width="300*"/>
</Grid.ColumnDefinitions>
<Label Content="Checksum Verifier" Grid.Column="0" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="5,7,0,0" FontSize="24" FontStyle="Italic" FontWeight="Bold"/>
<Grid Grid.Column="1" VerticalAlignment="Top" Margin="15,10,0,0">
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Label Grid.Column="0" x:Name="lblAlgorithm" Content="Algorithm: " VerticalAlignment="Center" Margin="61,4,20,5"/>
<xctk:CheckComboBox x:Name="ccbListChecksums" ItemsSource="{Binding Algorithms}" SelectedItemsOverride="{Binding SelectedAlgorithms}"
Delimiter="+" Height="25" Margin="130,5,5,5" Grid.ColumnSpan="2" MaxDropDownHeight="150" TabIndex="0"/>
</Grid>
</Grid>
<TabControl Grid.Row="1" Margin="5,7,5,0" Background="#FFE5E5E5">
<TabItem x:Name="tabSF" Header="Single File" TabIndex="1">
<Grid Background="#FFE5E5E5">
<Grid.RowDefinitions>
<RowDefinition Height="32"/>
<RowDefinition Height="32"/>
<RowDefinition Height="32"/>
<RowDefinition Height="130*"/>
</Grid.RowDefinitions>
<Grid Grid.Row="0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="100"/>
<ColumnDefinition Width="420*"/>
<ColumnDefinition Width="80*"/>
</Grid.ColumnDefinitions>
<Label Grid.Column="0" Content="File to Compare: " HorizontalAlignment="Left" VerticalAlignment="Center" Height="26" Margin="0,2,0,3" Width="100"/>
<TextBox Grid.Column="1" Text="{Binding SF_TxtFilePath}" VerticalAlignment="Top" Height="25" Grid.ColumnSpan="2" Margin="0,3,79,0" ForceCursor="True" Cursor="IBeam" TabIndex="4" />
<Button Grid.Column="2" Content="Browse..." HorizontalAlignment="Right" VerticalAlignment="Top" Height="25" Width="74" Command="{Binding SF_CmdBrowse}" Margin="0,3,3,0" TabIndex="5"/>
</Grid>
<Grid Grid.Row="1" Height="31" VerticalAlignment="Top">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="100"/>
<ColumnDefinition Width="420*"/>
<ColumnDefinition Width="80*"/>
</Grid.ColumnDefinitions>
<Label Grid.Column="0" Content="Checksum: " HorizontalAlignment="Left" VerticalAlignment="Center" Height="26" Margin="0,3" Width="100"/>
<TextBox x:Name="SF_txtUserHash" Grid.Column="1" Text="{Binding SF_TxtUserHash}" MinWidth="495" Margin="0,3,79,0" Grid.ColumnSpan="2" Height="25" VerticalAlignment="Top" TextChanged="SF_txtUserHash_TextChanged" Cursor="IBeam" ForceCursor="True" TabIndex="6"/>
<Button x:Name="SF_btnCompare" Content="{Binding SF_BtnCompareText}" Grid.Column="2" VerticalAlignment="Center" HorizontalAlignment="Right" Width="74" Command="{Binding SF_CmdCompare}" Height="25" Margin="0,3,3,0" TabIndex="7" />
</Grid>
<Grid Grid.Row="2">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="300*"/>
</Grid.ColumnDefinitions>
<Label Content="{Binding SF_LblFileSize}" Grid.Column="0" VerticalAlignment="Center" HorizontalAlignment="Left" Height="25" Margin="0" MinWidth="250" />
</Grid>
<Grid Grid.Row="3">
<Grid.RowDefinitions>
<RowDefinition Height="25" />
<RowDefinition Height="100*" />
</Grid.RowDefinitions>
<Label Grid.Row="0" Content="File Checksum(s): " Height="25" VerticalAlignment="Top" HorizontalAlignment="Left" />
<RichTextBox x:Name="SF_rtbFileHash" Grid.Row="1" IsReadOnly="True" Background="#FFE5E5E5" Margin="5,5,0,0" BorderThickness="2,2,1,1" IsReadOnlyCaretVisible="True" ScrollViewer.CanContentScroll="True" VerticalScrollBarVisibility="Auto" Cursor="IBeam" ForceCursor="True" TabIndex="8">
<FlowDocument>
<Paragraph>
<Run Text="{Binding SF_TbFileHash, Mode=TwoWay, NotifyOnTargetUpdated=True}"/>
</Paragraph>
</FlowDocument>
</RichTextBox>
</Grid>
</Grid>
</TabItem>
<TabItem x:Name="tabMF" Header="Multiple Files" TabIndex="2">
<Grid Background="#FFE5E5E5">
<Grid.RowDefinitions>
<RowDefinition Height="35"/>
<RowDefinition Height="200*"/>
</Grid.RowDefinitions>
<Grid Grid.Row="0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="70"/>
<ColumnDefinition Width="530*"/>
</Grid.ColumnDefinitions>
<Label Grid.Column="0" Content="Checksum: " HorizontalAlignment="Left" VerticalAlignment="Center" Height="26" Margin="0,4" Width="70" />
<TextBox x:Name="MF_txtUserHash" Grid.Column="1" Text="{Binding MF_TxtUserHash}" Margin="0,4,4,0" VerticalAlignment="Top" Height="25" MinWidth="515" TextChanged="MF_txtUserHash_TextChanged" ForceCursor="True" Cursor="IBeam" TabIndex="9"/>
</Grid>
<Grid Grid.Row="1">
<Grid.ColumnDefinitions>
<ColumnDefinition MinWidth="150" Width="210"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition MinWidth="280" Width="280*"/>
</Grid.ColumnDefinitions>
<ListBox Grid.Column="0" ItemsSource="{Binding MF_FileList}" MinWidth="150" Margin="5"/>
<GridSplitter Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Stretch" Background="Black" ShowsPreview="True" Width="2" Margin="0,3"/>
<Grid Grid.Column="2">
<Grid.ColumnDefinitions>
<ColumnDefinition MinWidth="85" Width="85*" MaxWidth="85"/>
<ColumnDefinition MinWidth="220" Width="220*"/>
</Grid.ColumnDefinitions>
<Grid Grid.Column="0" Margin="5,5,0,0">
<Grid.RowDefinitions>
<RowDefinition Height="28" MaxHeight="35"/>
<RowDefinition Height="28" MaxHeight="35"/>
<RowDefinition Height="28" MaxHeight="35"/>
<RowDefinition Height="80*"/>
</Grid.RowDefinitions>
<Button Grid.Row="0" Command="{Binding MF_CmdBrowse}" Content="Browse..." Width="75" MinWidth="75" Height="25" HorizontalAlignment="Center" VerticalAlignment="Top" TabIndex="10" />
<Button x:Name="MF_btnCompare" Grid.Row="1" Command="{Binding MF_CmdCompare}" Content="{Binding MF_BtnCompareText}" Width="75" Height="25" HorizontalAlignment="Center" VerticalAlignment="Top" TabIndex="11" />
<Button Grid.Row="2" Command="{Binding MF_CmdExport}" Content="Export..." Width="75" Height="25" HorizontalAlignment="Center" VerticalAlignment="Top" TabIndex="12" />
</Grid>
<ListBox x:Name="MF_LbResults" Grid.Column="1" ItemsSource="{Binding MF_ResultList, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged, NotifyOnTargetUpdated=True}" MinWidth="210" Margin="5" Background="#FFE5E5E5" BorderThickness="2,2,1,1" SelectionChanged="MF_LbResults_SelectionChanged" TabIndex="13" >
<ListBox.ContextMenu>
<ContextMenu>
<MenuItem Header="Copy Selected" Command="{Binding MF_CmdCopySelected}"/>
<MenuItem Header="Copy All" Command="{Binding MF_CmdCopyAll}" />
</ContextMenu>
</ListBox.ContextMenu>
</ListBox>
</Grid>
</Grid>
</Grid>
</TabItem>
<TabItem x:Name="tabSingleText" Header="Text - Single" TabIndex="3">
<Grid Background="#FFE5E5E5">
<Grid.RowDefinitions>
<RowDefinition Height="30"/>
<RowDefinition Height="30"/>
<RowDefinition Height="30"/>
<RowDefinition Height="150*"/>
</Grid.RowDefinitions>
<Grid Grid.Row="0" VerticalAlignment="Center">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="95"/>
<ColumnDefinition Width="504*"/>
</Grid.ColumnDefinitions>
<Label Content="Input String: " Grid.Column="0" VerticalAlignment="Center" HorizontalAlignment="Left" Height="26" Width="94"></Label>
<TextBox Grid.Column="1" Height="26" VerticalAlignment="Center" Text="{Binding TS_TxtUserText}" MinWidth="498" Margin="0,0,1,0" Cursor="IBeam" ForceCursor="True" TabIndex="14"/>
</Grid>
<Grid Grid.Row="1" VerticalAlignment="Center">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="95"/>
<ColumnDefinition Width="504*"/>
</Grid.ColumnDefinitions>
<Label Content="Checksum: " Grid.Column="0" VerticalAlignment="Center" HorizontalAlignment="Left" Height="26" Width="94"></Label>
<TextBox x:Name="TS_txtUserHash" Grid.Column="1" Height="26" VerticalAlignment="Center" Text="{Binding TS_TxtUserHash}" MinWidth="498" Margin="0,0,1,0" Cursor="IBeam" ForceCursor="True" TextChanged="TS_txtUserHash_TextChanged" TabIndex="15"/>
</Grid>
<Grid Grid.Row="2">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="95"/>
<ColumnDefinition Width="204"/>
<ColumnDefinition Width="100"/>
<ColumnDefinition Width="50*"/>
</Grid.ColumnDefinitions>
<Label Grid.Column="0" Content="Encoding Type: " VerticalAlignment="Center" HorizontalAlignment="Left" Height="26" Width="94"></Label>
<ComboBox x:Name="TS_cbEncodingType" Grid.Column="1" Height="26" HorizontalAlignment="Left" Width="200" ItemsSource="{Binding EncodingTypes}" DisplayMemberPath="Name" SelectedValuePath="Type" SelectedItem="{Binding SelectedEncodingType}" MaxDropDownHeight="150" TabIndex="16" />
<Button x:Name="TS_btnCompare" Content="{Binding TS_BtnCompareText}" Grid.Column="2" VerticalAlignment="Center" HorizontalAlignment="Center" Width="90" Command="{Binding TS_CmdCompare}" Height="26" TabIndex="17"/>
</Grid>
<RichTextBox x:Name="TS_rtbFileHash" Grid.Row="3" IsReadOnly="True" Background="#FFE5E5E5" Margin="5" BorderThickness="2,2,1,1" IsReadOnlyCaretVisible="True" ScrollViewer.CanContentScroll="True" VerticalScrollBarVisibility="Auto">
<FlowDocument>
<Paragraph>
<Run Text="{Binding TS_TbResultHash, Mode=TwoWay, NotifyOnTargetUpdated=True}"/>
</Paragraph>
</FlowDocument>
</RichTextBox>
</Grid>
</TabItem>
</TabControl>
<StatusBar Grid.Row="2" VerticalAlignment="Top" Height="30" BorderThickness="0,1,0,0" BorderBrush="Black">
<StatusBar.ItemsPanel>
<ItemsPanelTemplate>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="25"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="150*"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="115"/>
</Grid.ColumnDefinitions>
</Grid>
</ItemsPanelTemplate>
</StatusBar.ItemsPanel>
<StatusBarItem Grid.Column="0">
<Image Source="{Binding StatusImage}" HorizontalAlignment="Right" VerticalAlignment="Center" Height="16" Width="16" ToolTip="{Binding LblResult}" Margin="0" />
<!--<Label x:Name="lblResult" Grid.Column="0" Content="{Binding LblResult, NotifyOnTargetUpdated=True}" HorizontalAlignment="Left" VerticalAlignment="Center" Height="30" />-->
</StatusBarItem>
<Separator Grid.Column="1"/>
<StatusBarItem Grid.Column="2">
<Label Content="{Binding ElapsedTime}" HorizontalAlignment="Left" VerticalAlignment="Center" Height="30"/>
</StatusBarItem>
<Separator Grid.Column="3"/>
<StatusBarItem Grid.Column="4">
<ProgressBar Grid.Column="1" Value="{Binding ProcessingProgress}" HorizontalAlignment="Right" VerticalAlignment="Center" Width="100" Height="15" Margin="3,0" />
</StatusBarItem>
</StatusBar>
</Grid>
</Window>