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

891 lines
56 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!--
// /***************************************************************************
// 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-2025 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="#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">
<Border Grid.Column="0"
Width="160"
Height="160"
HorizontalAlignment="Left"
VerticalAlignment="Top"
Background="LightGray"
CornerRadius="80"
Padding="16">
<Image Width="128"
Height="128"
Source="{Binding MediaLogo, Mode=OneWay}" />
</Border>
<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>