<!--
// /***************************************************************************
// 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/>.
//
// ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
// Copyright © 2011-2026 Natalia Portillo
// ****************************************************************************/
-->
<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"
             xmlns:panels="clr-namespace:Aaru.Gui.ViewModels.Panels"
             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"
             mc:Ignorable="d"
             d:DesignWidth="800"
             d:DesignHeight="450"
             x:DataType="panels:ImageInfoViewModel"
             x:Class="Aaru.Gui.Views.Panels.ImageInfo">
    <Design.DataContext>
        <panels:ImageInfoViewModel />
    </Design.DataContext>
    <UserControl.Styles>
        <Style Selector="DataGridRow:nth-child(2n)">
            <Setter Property="Background">
                <SolidColorBrush Color="#15FFFFFF" />
            </Setter>
        </Style>
        <Style Selector="DataGridRow:nth-child(2n):pointerover">
            <Setter Property="Background"
                    Value="{DynamicResource SystemControlHighlightListLowBrush}" />
        </Style>
        <Style Selector="DataGridRow:nth-child(2n):selected">
            <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">
            <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 !!FluxInfo, Mode=OneWay}">
                <TabItem.Header>
                    <controls:SpectreTextBlock Text="Flux Captures" />
                </TabItem.Header>
                <ContentControl Content="{Binding FluxInfo, 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>