Files
Aaru/Aaru.Gui/Views/Panels/ImageInfo.xaml

882 lines
56 KiB
Plaintext
Raw Normal View History

2020-04-17 21:45:50 +01:00
<!--
// /***************************************************************************
// Aaru Data Preservation Suite
//
//
// Filename : ImageInfo.xaml
// Author(s) : Natalia Portillo <claunia@claunia.com>
//
// Component : GUI panel.
//
// [ Description ]
//
// Image information panel.
//
// [ License ]
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General public License as
// published by the Free Software Foundation, either version 3 of the
// License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General public License for more details.
//
// You should have received a copy of the GNU General public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
//
//
2024-12-19 10:45:18 +00:00
// Copyright © 2011-2025 Natalia Portillo
2020-04-17 21:45:50 +01:00
// ****************************************************************************/
-->
2024-05-01 04:05:22 +01:00
<UserControl xmlns="https://github.com/avaloniaui"
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"
2024-05-01 04:05:22 +01:00
xmlns:panels="clr-namespace:Aaru.Gui.ViewModels.Panels"
2025-10-25 12:53:52 +01:00
xmlns:localization="clr-namespace:Aaru.Localization;assembly=Aaru.Localization"
xmlns:controls="clr-namespace:Aaru.Gui.Controls"
xmlns:ic="clr-namespace:FluentIcons.Avalonia;assembly=FluentIcons.Avalonia"
2024-05-01 04:05:22 +01:00
mc:Ignorable="d"
d:DesignWidth="800"
d:DesignHeight="450"
2025-11-19 05:26:14 +00:00
x:DataType="panels:ImageInfoViewModel"
2024-05-01 04:05:22 +01:00
x:Class="Aaru.Gui.Views.Panels.ImageInfo">
<Design.DataContext>
2020-04-16 20:40:25 +01:00
<panels:ImageInfoViewModel />
</Design.DataContext>
<UserControl.Styles>
<Style Selector="DataGridRow:nth-child(2n)">
<Setter Property="Background">
<SolidColorBrush Color="#0CFFFFFF" />
</Setter>
</Style>
<Style Selector="DataGridRow:nth-child(2n) DataGridCell">
<Setter Property="Background">
<SolidColorBrush Color="#0CFFFFFF" />
</Setter>
</Style>
<Style Selector="DataGridRow:nth-child(2n):pointerover">
<Setter Property="Background"
Value="{DynamicResource SystemControlHighlightListLowBrush}" />
</Style>
<Style Selector="DataGridRow:nth-child(2n):pointerover DataGridCell">
<Setter Property="Background"
Value="{DynamicResource SystemControlHighlightListLowBrush}" />
</Style>
<Style Selector="DataGridRow:nth-child(2n):selected">
<Setter Property="Background"
Value="{DynamicResource SystemControlHighlightAccentBrush}" />
</Style>
<Style Selector="DataGridRow:nth-child(2n):selected DataGridCell">
<Setter Property="Background"
Value="{DynamicResource SystemControlHighlightAccentBrush}" />
</Style>
</UserControl.Styles>
<Grid RowDefinitions="Auto,*,Auto"
Margin="12"
RowSpacing="8">
<Grid Grid.Row="0"
ColumnDefinitions="Auto,*"
ColumnSpacing="16">
2025-12-15 14:49:30 +00:00
<Image Width="128"
Height="128"
Source="{Binding MediaLogo, Mode=OneWay}" />
<StackPanel Grid.Column="1"
Spacing="8"
VerticalAlignment="Center">
<controls:SpectreTextBlock Text="{x:Static localization:UI.Title_Image_information}"
FontWeight="Bold" />
<controls:SpectreTextBlock Text="{Binding ImagePathText, Mode=OneWay}"
TextWrapping="Wrap" />
<controls:SpectreTextBlock Text="{Binding FilterText, Mode=OneWay}"
TextWrapping="Wrap" />
<controls:SpectreTextBlock Text="{Binding ImageIdentifiedText, Mode=OneWay}"
TextWrapping="Wrap" />
</StackPanel>
</Grid>
<TabControl Grid.Row="1">
<TabItem>
<TabItem.Header>
<StackPanel Orientation="Horizontal"
Spacing="4">
<Svg MaxHeight="24"
Path="{Binding $parent[UserControl].ActualThemeVariant, Converter={StaticResource ThemeToSvgPathConverter}, ConverterParameter='/Assets/Icons/entypo/InfoWithCircle.svg', Mode=OneWay}"
VerticalAlignment="Center" />
<TextBlock Text="{x:Static localization:UI.Title_General}"
VerticalAlignment="Center" />
</StackPanel>
</TabItem.Header>
<ScrollViewer HorizontalScrollBarVisibility="Disabled"
VerticalScrollBarVisibility="Auto">
<StackPanel Spacing="8"
Margin="8">
<controls:SpectreTextBlock Text="{Binding ImageFormatText, Mode=OneWay}"
IsVisible="{Binding !!ImageFormatText, Mode=OneWay}"
TextWrapping="Wrap" />
<controls:SpectreTextBlock Text="{Binding ApplicationText, Mode=OneWay}"
IsVisible="{Binding !!ApplicationText, Mode=OneWay}"
TextWrapping="Wrap" />
<controls:SpectreTextBlock Text="{Binding ImageSizeText, Mode=OneWay}"
IsVisible="{Binding !!ImageSizeText, Mode=OneWay}"
TextWrapping="Wrap" />
<controls:SpectreTextBlock Text="{Binding SectorsText, Mode=OneWay}"
IsVisible="{Binding !!SectorsText, Mode=OneWay}"
TextWrapping="Wrap" />
<controls:SpectreTextBlock Text="{Binding CreatorText, Mode=OneWay}"
IsVisible="{Binding !!CreatorText, Mode=OneWay}"
TextWrapping="Wrap" />
<controls:SpectreTextBlock Text="{Binding CreationTimeText, Mode=OneWay}"
IsVisible="{Binding !!CreationTimeText, Mode=OneWay}"
TextWrapping="Wrap" />
<controls:SpectreTextBlock Text="{Binding LastModificationTimeText, Mode=OneWay}"
IsVisible="{Binding !!LastModificationTimeText, Mode=OneWay}"
TextWrapping="Wrap" />
<controls:SpectreTextBlock Text="{Binding MediaTypeText, Mode=OneWay}"
IsVisible="{Binding !!MediaTypeText, Mode=OneWay}"
TextWrapping="Wrap" />
<controls:SpectreTextBlock Text="{Binding HasPartitionsText, Mode=OneWay}"
IsVisible="{Binding !!HasPartitionsText, Mode=OneWay}"
TextWrapping="Wrap" />
<controls:SpectreTextBlock Text="{Binding HasSessionsText, Mode=OneWay}"
IsVisible="{Binding !!HasSessionsText, Mode=OneWay}"
TextWrapping="Wrap" />
<controls:SpectreTextBlock Text="{x:Static localization:UI.Title_Comments}"
IsVisible="{Binding !!CommentsText, Mode=OneWay}"
FontWeight="Bold"
TextWrapping="Wrap" />
<TextBox IsReadOnly="True"
TextWrapping="Wrap"
Text="{Binding CommentsText, Mode=OneWay}"
IsVisible="{Binding !!CommentsText, Mode=OneWay}"
Background="Transparent"
BorderThickness="0"
Padding="0"
Cursor="Arrow" />
<controls:SpectreTextBlock Text="{x:Static localization:UI.Title_Media_information}"
FontWeight="Bold"
IsVisible="{Binding MediaInformationVisible, Mode=OneWay}"
TextWrapping="Wrap" />
<controls:SpectreTextBlock Text="{Binding MediaSequenceText, Mode=OneWay}"
IsVisible="{Binding !!MediaSequenceText, Mode=OneWay}"
TextWrapping="Wrap" />
<controls:SpectreTextBlock Text="{Binding MediaTitleText, Mode=OneWay}"
IsVisible="{Binding !!MediaTitleText, Mode=OneWay}"
TextWrapping="Wrap" />
<controls:SpectreTextBlock Text="{Binding MediaManufacturerText, Mode=OneWay}"
IsVisible="{Binding !!MediaManufacturerText, Mode=OneWay}"
TextWrapping="Wrap" />
<controls:SpectreTextBlock Text="{Binding MediaModelText, Mode=OneWay}"
IsVisible="{Binding !!MediaModelText, Mode=OneWay}"
TextWrapping="Wrap" />
<controls:SpectreTextBlock Text="{Binding MediaSerialNumberText, Mode=OneWay}"
IsVisible="{Binding !!MediaSerialNumberText, Mode=OneWay}"
TextWrapping="Wrap" />
<controls:SpectreTextBlock Text="{Binding MediaBarcodeText, Mode=OneWay}"
IsVisible="{Binding !!MediaBarcodeText, Mode=OneWay}"
TextWrapping="Wrap" />
<controls:SpectreTextBlock Text="{Binding MediaPartNumberText, Mode=OneWay}"
IsVisible="{Binding !!MediaPartNumberText, Mode=OneWay}"
TextWrapping="Wrap" />
<controls:SpectreTextBlock Text="{x:Static localization:UI.Title_Drive_information}"
FontWeight="Bold"
IsVisible="{Binding DriveInformationVisible, Mode=OneWay}"
TextWrapping="Wrap" />
<controls:SpectreTextBlock Text="{Binding DriveManufacturerText, Mode=OneWay}"
IsVisible="{Binding !!DriveManufacturerText, Mode=OneWay}"
TextWrapping="Wrap" />
<controls:SpectreTextBlock Text="{Binding DriveModelText, Mode=OneWay}"
IsVisible="{Binding !!DriveModelText, Mode=OneWay}"
TextWrapping="Wrap" />
<controls:SpectreTextBlock Text="{Binding DriveSerialNumberText, Mode=OneWay}"
IsVisible="{Binding !!DriveSerialNumberText, Mode=OneWay}"
TextWrapping="Wrap" />
<controls:SpectreTextBlock Text="{Binding DriveFirmwareRevisionText, Mode=OneWay}"
IsVisible="{Binding !!DriveFirmwareRevisionText, Mode=OneWay}"
TextWrapping="Wrap" />
<controls:SpectreTextBlock Text="{Binding MediaGeometryText, Mode=OneWay}"
IsVisible="{Binding !!MediaGeometryText, Mode=OneWay}"
TextWrapping="Wrap" />
<controls:SpectreTextBlock Text="{x:Static localization:UI.Title_Readable_media_tags}"
FontWeight="Bold"
IsVisible="{Binding !!MediaTagsList.Count, Mode=OneWay}"
TextWrapping="Wrap" />
<ListBox ItemsSource="{Binding MediaTagsList, Mode=OneWay}"
IsVisible="{Binding !!MediaTagsList.Count, Mode=OneWay}"
MaxHeight="300"
BorderThickness="1"
BorderBrush="LightGray"
CornerRadius="4"
Padding="4">
<ListBox.Styles>
<Style Selector="ListBoxItem">
<Setter Property="Padding"
Value="8,6" />
<Setter Property="Margin"
Value="2" />
<Setter Property="CornerRadius"
Value="3" />
</Style>
<Style Selector="ListBoxItem:pointerover /template/ ContentPresenter">
<Setter Property="Background"
Value="{DynamicResource SystemAccentColorLight2}" />
<Setter Property="Foreground"
Value="Black" />
</Style>
<Style Selector="ListBoxItem:selected /template/ ContentPresenter">
<Setter Property="Background"
Value="{DynamicResource SystemAccentColor}" />
<Setter Property="Foreground"
Value="White" />
</Style>
</ListBox.Styles>
<ListBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding ., Mode=OneWay}"
VerticalAlignment="Center" />
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
<controls:SpectreTextBlock Text="{x:Static localization:UI.Title_Readable_sector_tags}"
FontWeight="Bold"
IsVisible="{Binding !!SectorTagsList.Count, Mode=OneWay}"
TextWrapping="Wrap" />
<ListBox ItemsSource="{Binding SectorTagsList, Mode=OneWay}"
IsVisible="{Binding !!SectorTagsList.Count, Mode=OneWay}"
MaxHeight="300"
BorderThickness="1"
BorderBrush="LightGray"
CornerRadius="4"
Padding="4">
<ListBox.Styles>
<Style Selector="ListBoxItem">
<Setter Property="Padding"
Value="8,6" />
<Setter Property="Margin"
Value="2" />
<Setter Property="CornerRadius"
Value="3" />
</Style>
<Style Selector="ListBoxItem:pointerover /template/ ContentPresenter">
<Setter Property="Background"
Value="{DynamicResource SystemAccentColorLight2}" />
<Setter Property="Foreground"
Value="Black" />
</Style>
<Style Selector="ListBoxItem:selected /template/ ContentPresenter">
<Setter Property="Background"
Value="{DynamicResource SystemAccentColor}" />
<Setter Property="Foreground"
Value="White" />
</Style>
</ListBox.Styles>
<ListBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding ., Mode=OneWay}"
VerticalAlignment="Center" />
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</StackPanel>
</ScrollViewer>
</TabItem>
<TabItem IsVisible="{Binding !!Sessions.Count, Mode=OneWay}">
<TabItem.Header>
<StackPanel Orientation="Horizontal"
Spacing="4">
<Svg MaxHeight="24"
Path="{Binding $parent[UserControl].ActualThemeVariant, Converter={StaticResource ThemeToSvgPathConverter}, ConverterParameter='/Assets/Icons/phosphor/VinylRecord.svg', Mode=OneWay}"
VerticalAlignment="Center" />
<TextBlock Text="{x:Static localization:UI.Title_Sessions}"
VerticalAlignment="Center" />
</StackPanel>
</TabItem.Header>
<DataGrid ItemsSource="{Binding Sessions, Mode=OneWay}"
IsVisible="{Binding !!Sessions.Count, Mode=OneWay}"
IsReadOnly="True"
VerticalAlignment="Stretch"
HorizontalAlignment="Stretch"
Margin="8">
<DataGrid.Columns>
<DataGridTemplateColumn Width="Auto">
<DataGridTemplateColumn.HeaderTemplate>
<DataTemplate>
<controls:SpectreTextBlock Text="{x:Static localization:Core.Title_Session}"
Padding="5"
VerticalAlignment="Center" />
</DataTemplate>
</DataGridTemplateColumn.HeaderTemplate>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Sequence, Mode=OneWay}"
Padding="5"
VerticalAlignment="Center" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Width="Auto">
<DataGridTemplateColumn.HeaderTemplate>
<DataTemplate>
<controls:SpectreTextBlock Text="{x:Static localization:Core.Title_First_track}"
Padding="5"
VerticalAlignment="Center" />
</DataTemplate>
</DataGridTemplateColumn.HeaderTemplate>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding StartTrack, Mode=OneWay}"
Padding="5"
VerticalAlignment="Center" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Width="Auto">
<DataGridTemplateColumn.HeaderTemplate>
<DataTemplate>
<controls:SpectreTextBlock Text="{x:Static localization:Core.Title_Last_track}"
Padding="5"
VerticalAlignment="Center" />
</DataTemplate>
</DataGridTemplateColumn.HeaderTemplate>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding EndTrack, Mode=OneWay}"
Padding="5"
VerticalAlignment="Center" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Width="*">
<DataGridTemplateColumn.HeaderTemplate>
<DataTemplate>
<controls:SpectreTextBlock Text="{x:Static localization:Core.Title_Start}"
Padding="5"
VerticalAlignment="Center" />
</DataTemplate>
</DataGridTemplateColumn.HeaderTemplate>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding StartSector, Mode=OneWay}"
Padding="5"
VerticalAlignment="Center" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Width="*">
<DataGridTemplateColumn.HeaderTemplate>
<DataTemplate>
<controls:SpectreTextBlock Text="{x:Static localization:Core.Title_End}"
Padding="5"
VerticalAlignment="Center" />
</DataTemplate>
</DataGridTemplateColumn.HeaderTemplate>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding EndSector, Mode=OneWay}"
Padding="5"
VerticalAlignment="Center" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
</TabItem>
<TabItem IsVisible="{Binding !!Tracks.Count, Mode=OneWay}">
<TabItem.Header>
<StackPanel Orientation="Horizontal"
Spacing="4">
<Svg MaxHeight="24"
Path="{Binding $parent[UserControl].ActualThemeVariant, Converter={StaticResource ThemeToSvgPathConverter}, ConverterParameter='/Assets/Icons/phosphor/Disc.svg', Mode=OneWay}"
VerticalAlignment="Center" />
<TextBlock Text="{x:Static localization:UI.Title_Tracks}"
VerticalAlignment="Center" />
</StackPanel>
</TabItem.Header>
<DataGrid ItemsSource="{Binding Tracks, Mode=OneWay}"
IsVisible="{Binding !!Tracks.Count, Mode=OneWay}"
IsReadOnly="True"
VerticalAlignment="Stretch"
HorizontalAlignment="Stretch"
Margin="8">
<DataGrid.Columns>
<DataGridTemplateColumn Width="Auto">
<DataGridTemplateColumn.HeaderTemplate>
<DataTemplate>
<controls:SpectreTextBlock Text="{x:Static localization:Core.Title_Track}"
Padding="5"
VerticalAlignment="Center" />
</DataTemplate>
</DataGridTemplateColumn.HeaderTemplate>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Sequence, Mode=OneWay}"
Padding="5"
VerticalAlignment="Center" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Width="*">
<DataGridTemplateColumn.HeaderTemplate>
<DataTemplate>
<controls:SpectreTextBlock Text="{x:Static localization:UI.Title_Type}"
Padding="5"
VerticalAlignment="Center" />
</DataTemplate>
</DataGridTemplateColumn.HeaderTemplate>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Type, Mode=OneWay}"
Padding="5"
VerticalAlignment="Center" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Width="Auto">
<DataGridTemplateColumn.HeaderTemplate>
<DataTemplate>
<controls:SpectreTextBlock Text="{x:Static localization:Core.Title_Bps}"
Padding="5"
VerticalAlignment="Center" />
</DataTemplate>
</DataGridTemplateColumn.HeaderTemplate>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding BytesPerSector, Mode=OneWay}"
Padding="5"
VerticalAlignment="Center" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Width="Auto">
<DataGridTemplateColumn.HeaderTemplate>
<DataTemplate>
<controls:SpectreTextBlock Text="{x:Static localization:Core.Title_Raw_bps}"
Padding="5"
VerticalAlignment="Center" />
</DataTemplate>
</DataGridTemplateColumn.HeaderTemplate>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding RawBytesPerSector, Mode=OneWay}"
Padding="5"
VerticalAlignment="Center" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Width="*">
<DataGridTemplateColumn.HeaderTemplate>
<DataTemplate>
<controls:SpectreTextBlock Text="{x:Static localization:Core.Title_Subchannel}"
Padding="5"
VerticalAlignment="Center" />
</DataTemplate>
</DataGridTemplateColumn.HeaderTemplate>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding SubchannelType, Mode=OneWay}"
Padding="5"
VerticalAlignment="Center" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Width="Auto">
<DataGridTemplateColumn.HeaderTemplate>
<DataTemplate>
<controls:SpectreTextBlock Text="{x:Static localization:Core.Title_Pregap}"
Padding="5"
VerticalAlignment="Center" />
</DataTemplate>
</DataGridTemplateColumn.HeaderTemplate>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Pregap, Mode=OneWay}"
Padding="5"
VerticalAlignment="Center" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Width="*">
<DataGridTemplateColumn.HeaderTemplate>
<DataTemplate>
<controls:SpectreTextBlock Text="{x:Static localization:Core.Title_Start}"
Padding="5"
VerticalAlignment="Center" />
</DataTemplate>
</DataGridTemplateColumn.HeaderTemplate>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding StartSector, Mode=OneWay}"
Padding="5"
VerticalAlignment="Center" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Width="*">
<DataGridTemplateColumn.HeaderTemplate>
<DataTemplate>
<controls:SpectreTextBlock Text="{x:Static localization:Core.Title_End}"
Padding="5"
VerticalAlignment="Center" />
</DataTemplate>
</DataGridTemplateColumn.HeaderTemplate>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding EndSector, Mode=OneWay}"
Padding="5"
VerticalAlignment="Center" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
</TabItem>
<TabItem IsVisible="{Binding !!DumpHardwareList.Count, Mode=OneWay}">
<TabItem.Header>
<StackPanel Orientation="Horizontal"
Spacing="4">
<Svg MaxHeight="24"
Path="{Binding $parent[UserControl].ActualThemeVariant, Converter={StaticResource ThemeToSvgPathConverter}, ConverterParameter='/Assets/Icons/phosphor/Toolbox.svg', Mode=OneWay}"
VerticalAlignment="Center" />
<TextBlock Text="{x:Static localization:UI.Title_Dump_hardware}"
VerticalAlignment="Center" />
</StackPanel>
</TabItem.Header>
<DataGrid ItemsSource="{Binding DumpHardwareList, Mode=OneWay}"
IsVisible="{Binding !!DumpHardwareList.Count, Mode=OneWay}"
IsReadOnly="True"
Margin="8">
<DataGrid.Columns>
<DataGridTemplateColumn Width="1.5*">
<DataGridTemplateColumn.HeaderTemplate>
<DataTemplate>
<controls:SpectreTextBlock Text="{x:Static localization:UI.Title_Manufacturer}"
Padding="5"
VerticalAlignment="Center" />
</DataTemplate>
</DataGridTemplateColumn.HeaderTemplate>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Manufacturer, Mode=OneWay}"
Padding="5"
VerticalAlignment="Center" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Width="2*">
<DataGridTemplateColumn.HeaderTemplate>
<DataTemplate>
<controls:SpectreTextBlock Text="{x:Static localization:UI.Title_Model}"
Padding="5"
VerticalAlignment="Center" />
</DataTemplate>
</DataGridTemplateColumn.HeaderTemplate>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Model, Mode=OneWay}"
Padding="5"
VerticalAlignment="Center" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Width="Auto">
<DataGridTemplateColumn.HeaderTemplate>
<DataTemplate>
<controls:SpectreTextBlock Text="{x:Static localization:UI.Title_Revision}"
Padding="5"
VerticalAlignment="Center" />
</DataTemplate>
</DataGridTemplateColumn.HeaderTemplate>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Revision, Mode=OneWay}"
Padding="5"
VerticalAlignment="Center" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Width="1.5*">
<DataGridTemplateColumn.HeaderTemplate>
<DataTemplate>
<controls:SpectreTextBlock Text="{x:Static localization:UI.Serial}"
Padding="5"
VerticalAlignment="Center" />
</DataTemplate>
</DataGridTemplateColumn.HeaderTemplate>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Serial, Mode=OneWay}"
Padding="5"
VerticalAlignment="Center" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Width="1.5*">
<DataGridTemplateColumn.HeaderTemplate>
<DataTemplate>
<controls:SpectreTextBlock Text="{x:Static localization:UI.Title_Software}"
Padding="5"
VerticalAlignment="Center" />
</DataTemplate>
</DataGridTemplateColumn.HeaderTemplate>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding SoftwareName, Mode=OneWay}"
Padding="5"
VerticalAlignment="Center" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Width="Auto">
<DataGridTemplateColumn.HeaderTemplate>
<DataTemplate>
<controls:SpectreTextBlock Text="{x:Static localization:UI.Title_Version}"
Padding="5"
VerticalAlignment="Center" />
</DataTemplate>
</DataGridTemplateColumn.HeaderTemplate>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding SoftwareVersion, Mode=OneWay}"
Padding="5"
VerticalAlignment="Center" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Width="2*">
<DataGridTemplateColumn.HeaderTemplate>
<DataTemplate>
<controls:SpectreTextBlock Text="{x:Static localization:UI.Title_Operating_system}"
Padding="5"
VerticalAlignment="Center" />
</DataTemplate>
</DataGridTemplateColumn.HeaderTemplate>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding OperatingSystem, Mode=OneWay}"
Padding="5"
VerticalAlignment="Center" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Width="1.5*">
<DataGridTemplateColumn.HeaderTemplate>
<DataTemplate>
<controls:SpectreTextBlock Text="{x:Static localization:Core.Title_Start}"
Padding="5"
VerticalAlignment="Center" />
</DataTemplate>
</DataGridTemplateColumn.HeaderTemplate>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Start, Mode=OneWay}"
Padding="5"
VerticalAlignment="Center" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Width="1.5*">
<DataGridTemplateColumn.HeaderTemplate>
<DataTemplate>
<controls:SpectreTextBlock Text="{x:Static localization:Core.Title_End}"
Padding="5"
VerticalAlignment="Center" />
</DataTemplate>
</DataGridTemplateColumn.HeaderTemplate>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding End, Mode=OneWay}"
Padding="5"
VerticalAlignment="Center" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
</TabItem>
<TabItem IsVisible="{Binding !!ScsiInfo, Mode=OneWay}">
<TabItem.Header>
<StackPanel Orientation="Horizontal"
Spacing="4">
<Svg MaxHeight="24"
Path="{Binding $parent[UserControl].ActualThemeVariant, Converter={StaticResource ThemeToSvgPathConverter}, ConverterParameter='/Assets/Logos/Buses/SCSI.svg', Mode=OneWay}" />
<TextBlock Text="{x:Static localization:UI.Title_SCSI}"
VerticalAlignment="Center" />
</StackPanel>
</TabItem.Header>
<ContentControl Content="{Binding ScsiInfo, Mode=OneWay}"
Margin="8" />
</TabItem>
<TabItem IsVisible="{Binding !!AtaInfo, Mode=OneWay}">
<TabItem.Header>
<StackPanel Orientation="Horizontal"
Spacing="4">
<Svg MaxHeight="24"
Path="{Binding $parent[UserControl].ActualThemeVariant, Converter={StaticResource ThemeToSvgPathConverter}, ConverterParameter='/Assets/Logos/Buses/SATA.svg', Mode=OneWay}" />
<TextBlock Text="{x:Static localization:UI.Title_ATA_ATAPI}"
VerticalAlignment="Center" />
</StackPanel>
</TabItem.Header>
<ContentControl Content="{Binding AtaInfo, Mode=OneWay}"
Margin="8" />
</TabItem>
<TabItem IsVisible="{Binding !!CompactDiscInfo, Mode=OneWay}">
<TabItem.Header>
<StackPanel Orientation="Horizontal"
Spacing="4">
<Svg MaxHeight="24"
Path="{Binding $parent[UserControl].ActualThemeVariant, Converter={StaticResource ThemeToSvgPathConverter}, ConverterParameter='/Assets/Logos/Media/CD.svg', Mode=OneWay}" />
<TextBlock Text="{x:Static localization:Core.Title_CompactDisc}"
VerticalAlignment="Center" />
</StackPanel>
</TabItem.Header>
<ContentControl Content="{Binding CompactDiscInfo, Mode=OneWay}"
Margin="8" />
</TabItem>
<TabItem IsVisible="{Binding !!DvdInfo, Mode=OneWay}">
<TabItem.Header>
<StackPanel Orientation="Horizontal"
Spacing="4">
<Svg MaxHeight="24"
Path="{Binding $parent[UserControl].ActualThemeVariant, Converter={StaticResource ThemeToSvgPathConverter}, ConverterParameter='/Assets/Logos/Media/DVDDownload.svg', Mode=OneWay}" />
<TextBlock Text="{x:Static localization:Core.Title_DVD_HD_DVD}"
VerticalAlignment="Center" />
</StackPanel>
</TabItem.Header>
<ContentControl Content="{Binding DvdInfo, Mode=OneWay}"
Margin="8" />
</TabItem>
<TabItem IsVisible="{Binding !!DvdWritableInfo, Mode=OneWay}">
<TabItem.Header>
<StackPanel Orientation="Horizontal"
Spacing="4">
<Svg MaxHeight="24"
Path="{Binding $parent[UserControl].ActualThemeVariant, Converter={StaticResource ThemeToSvgPathConverter}, ConverterParameter='/Assets/Logos/Media/DVDRW.svg', Mode=OneWay}" />
<TextBlock Text="{x:Static localization:Core.Title_DVD_Plus_Dash_R_W}"
VerticalAlignment="Center" />
</StackPanel>
</TabItem.Header>
<ContentControl Content="{Binding DvdWritableInfo, Mode=OneWay}"
Margin="8" />
</TabItem>
<TabItem IsVisible="{Binding !!BlurayInfo, Mode=OneWay}">
<TabItem.Header>
<StackPanel Orientation="Horizontal"
Spacing="4">
<Svg MaxHeight="24"
Path="{Binding $parent[UserControl].ActualThemeVariant, Converter={StaticResource ThemeToSvgPathConverter}, ConverterParameter='/Assets/Logos/Media/BDROM.svg', Mode=OneWay}" />
<TextBlock Text="{x:Static localization:Core.Title_Blu_ray}"
VerticalAlignment="Center" />
</StackPanel>
</TabItem.Header>
<ContentControl Content="{Binding BlurayInfo, Mode=OneWay}"
Margin="8" />
</TabItem>
<TabItem IsVisible="{Binding !!PcmciaInfo, Mode=OneWay}">
<TabItem.Header>
<StackPanel Orientation="Horizontal"
Spacing="4">
<TextBlock Text="{x:Static localization:UI.Title_PCMCIA}"
VerticalAlignment="Center" />
</StackPanel>
</TabItem.Header>
<ContentControl Content="{Binding PcmciaInfo, Mode=OneWay}"
Margin="8" />
</TabItem>
<TabItem IsVisible="{Binding !!SdMmcInfo, Mode=OneWay}">
<TabItem.Header>
<StackPanel Orientation="Horizontal"
Spacing="4">
<Svg MaxHeight="24"
Path="{Binding $parent[UserControl].ActualThemeVariant, Converter={StaticResource ThemeToSvgPathConverter}, ConverterParameter='/Assets/Logos/Media/SecureDigital.svg', Mode=OneWay}" />
<TextBlock Text="{x:Static localization:UI.Title_SD_MMC}"
VerticalAlignment="Center" />
</StackPanel>
</TabItem.Header>
<ContentControl Content="{Binding SdMmcInfo, Mode=OneWay}"
Margin="8" />
</TabItem>
<TabItem IsVisible="{Binding !!XboxInfo, Mode=OneWay}">
<TabItem.Header>
<StackPanel Orientation="Horizontal"
Spacing="4">
<Svg MaxHeight="24"
Path="{Binding $parent[UserControl].ActualThemeVariant, Converter={StaticResource ThemeToSvgPathConverter}, ConverterParameter='/Assets/Logos/Media/XGD.svg', Mode=OneWay}" />
<TextBlock Text="{x:Static localization:Core.Title_Xbox}"
VerticalAlignment="Center" />
</StackPanel>
</TabItem.Header>
<ContentControl Content="{Binding XboxInfo, Mode=OneWay}"
Margin="8" />
</TabItem>
</TabControl>
<WrapPanel Grid.Row="2"
HorizontalAlignment="Left"
VerticalAlignment="Bottom">
<Button Command="{Binding EntropyCommand, Mode=OneWay}"
Margin="4">
<StackPanel Orientation="Horizontal"
Spacing="4">
<ic:FluentIcon Icon="CalculatorArrowClockwise" />
<TextBlock Text="{x:Static localization:UI.ButtonLabel_Calculate_entropy}"
VerticalAlignment="Center" />
</StackPanel>
</Button>
<Button Command="{Binding VerifyCommand, Mode=OneWay}"
Margin="4">
<StackPanel Orientation="Horizontal"
Spacing="4">
<ic:FluentIcon Icon="Stethoscope" />
<TextBlock Text="{x:Static localization:UI.ButtonLabel_Verify}"
VerticalAlignment="Center" />
</StackPanel>
</Button>
<Button Command="{Binding ChecksumCommand, Mode=OneWay}"
Margin="4">
<StackPanel Orientation="Horizontal"
Spacing="4">
<ic:FluentIcon Icon="ShieldAdd" />
<TextBlock Text="{x:Static localization:UI.ButtonLabel_Checksum}"
VerticalAlignment="Center" />
</StackPanel>
</Button>
<Button Command="{Binding ConvertCommand, Mode=OneWay}"
Margin="4">
<StackPanel Orientation="Horizontal"
Spacing="4">
<ic:FluentIcon Icon="ArrowSwap" />
<TextBlock Text="{x:Static localization:UI.ButtonLabel_Convert_to}"
VerticalAlignment="Center" />
</StackPanel>
</Button>
<Button Command="{Binding CreateSidecarCommand, Mode=OneWay}"
Margin="4">
<StackPanel Orientation="Horizontal"
Spacing="4">
<ic:FluentIcon Icon="DocumentBulletListMultiple" />
<TextBlock Text="{x:Static localization:UI.ButtonLabel_Create_Aaru_Metadata_sidecar}"
VerticalAlignment="Center" />
</StackPanel>
</Button>
<Button Command="{Binding ViewSectorsCommand, Mode=OneWay}"
Margin="4">
<StackPanel Orientation="Horizontal"
Spacing="4">
<ic:FluentIcon Icon="TableSearch" />
<TextBlock Text="{x:Static localization:UI.ButtonLabel_View_sectors}"
VerticalAlignment="Center" />
</StackPanel>
</Button>
<Button Command="{Binding DecodeMediaTagCommand, Mode=OneWay}"
Margin="4">
<StackPanel Orientation="Horizontal"
Spacing="4">
<ic:FluentIcon Icon="SaveSearch" />
<TextBlock Text="{x:Static localization:UI.ButtonLabel_Decode_media_tags}"
VerticalAlignment="Center" />
</StackPanel>
</Button>
</WrapPanel>
</Grid>
</UserControl>