2020-04-17 21:45:50 +01:00
|
|
|
|
<!--
|
|
|
|
|
|
// /***************************************************************************
|
|
|
|
|
|
// Aaru Data Preservation Suite
|
|
|
|
|
|
// ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
|
|
|
|
|
|
//
|
|
|
|
|
|
// Filename : ImageVerify.xaml
|
|
|
|
|
|
// Author(s) : Natalia Portillo <claunia@claunia.com>
|
|
|
|
|
|
//
|
|
|
|
|
|
// Component : GUI windows.
|
|
|
|
|
|
//
|
|
|
|
|
|
// ‐‐[ Description ] ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
|
|
|
|
|
|
//
|
|
|
|
|
|
// Image verification window.
|
|
|
|
|
|
//
|
|
|
|
|
|
// ‐‐[ 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
|
|
|
|
<Window xmlns="https://github.com/avaloniaui"
|
|
|
|
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
2020-04-13 01:19:55 +01:00
|
|
|
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
2020-04-16 20:40:25 +01:00
|
|
|
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
2024-05-01 04:05:22 +01:00
|
|
|
|
xmlns:windows="clr-namespace:Aaru.Gui.ViewModels.Windows"
|
2025-10-25 12:53:52 +01:00
|
|
|
|
xmlns:localization="clr-namespace:Aaru.Localization;assembly=Aaru.Localization"
|
2025-10-26 18:04:26 +00:00
|
|
|
|
xmlns:controls="clr-namespace:Aaru.Gui.Controls"
|
2024-05-01 04:05:22 +01:00
|
|
|
|
mc:Ignorable="d"
|
|
|
|
|
|
d:DesignWidth="800"
|
|
|
|
|
|
d:DesignHeight="450"
|
2025-10-26 18:04:26 +00:00
|
|
|
|
Width="640"
|
|
|
|
|
|
Height="400"
|
2024-05-01 04:05:22 +01:00
|
|
|
|
x:Class="Aaru.Gui.Views.Windows.ImageVerify"
|
|
|
|
|
|
Icon="/Assets/aaru-logo.png"
|
2025-10-26 18:04:26 +00:00
|
|
|
|
Title="{x:Static localization:UI.Title_Verify_image}">
|
2020-04-13 01:19:55 +01:00
|
|
|
|
<Design.DataContext>
|
2020-04-16 20:40:25 +01:00
|
|
|
|
<windows:ImageVerifyViewModel />
|
2020-04-13 01:19:55 +01:00
|
|
|
|
</Design.DataContext>
|
2025-10-26 18:04:26 +00:00
|
|
|
|
<Grid RowDefinitions="Auto,*,Auto"
|
|
|
|
|
|
RowSpacing="8"
|
|
|
|
|
|
Margin="12">
|
|
|
|
|
|
<Grid Grid.Row="0"
|
|
|
|
|
|
RowDefinitions="Auto,Auto"
|
|
|
|
|
|
RowSpacing="8"
|
|
|
|
|
|
IsVisible="{Binding OptionsVisible, Mode=OneWay}">
|
|
|
|
|
|
<CheckBox Grid.Row="0"
|
|
|
|
|
|
IsChecked="{Binding VerifyImageChecked, Mode=TwoWay}"
|
|
|
|
|
|
IsEnabled="{Binding VerifyImageEnabled, Mode=OneWay}">
|
2025-10-25 12:53:52 +01:00
|
|
|
|
<TextBlock Text="{x:Static localization:UI.Verify_media_image_if_supported}" />
|
2020-04-13 01:19:55 +01:00
|
|
|
|
</CheckBox>
|
2025-10-26 18:04:26 +00:00
|
|
|
|
<CheckBox Grid.Row="1"
|
|
|
|
|
|
IsChecked="{Binding VerifySectorsChecked, Mode=TwoWay}"
|
|
|
|
|
|
IsEnabled="{Binding VerifySectorsEnabled, Mode=OneWay}"
|
|
|
|
|
|
IsVisible="{Binding VerifySectorsVisible, Mode=OneWay}">
|
2025-10-25 12:53:52 +01:00
|
|
|
|
<TextBlock Text="{x:Static localization:UI.Verify_all_sectors_if_supported}" />
|
2020-04-13 01:19:55 +01:00
|
|
|
|
</CheckBox>
|
2025-10-26 18:04:26 +00:00
|
|
|
|
</Grid>
|
|
|
|
|
|
<Grid Grid.Row="1"
|
|
|
|
|
|
RowDefinitions="*, Auto"
|
|
|
|
|
|
RowSpacing="8"
|
|
|
|
|
|
IsVisible="{Binding ResultsVisible, Mode=OneWay}">
|
|
|
|
|
|
<Grid Grid.Row="0"
|
|
|
|
|
|
RowDefinitions="*, *"
|
|
|
|
|
|
RowSpacing="8">
|
|
|
|
|
|
<Grid Grid.Row="0"
|
|
|
|
|
|
RowDefinitions="Auto, *"
|
|
|
|
|
|
RowSpacing="8"
|
|
|
|
|
|
IsVisible="{Binding SectorErrorsVisible, Mode=OneWay}">
|
|
|
|
|
|
<controls:SpectreTextBlock Grid.Row="0"
|
|
|
|
|
|
Text="{x:Static localization:UI.LBAs_with_error}" />
|
|
|
|
|
|
<DataGrid Grid.Row="1"
|
|
|
|
|
|
ItemsSource="{Binding ErrorList, Mode=OneWay}">
|
2020-04-13 01:19:55 +01:00
|
|
|
|
<DataGrid.Columns>
|
2025-10-25 12:53:52 +01:00
|
|
|
|
<DataGridTextColumn Header="{x:Static localization:UI.Title_LBA}"
|
2025-10-26 18:04:26 +00:00
|
|
|
|
Binding="{Binding Lba, Mode=OneWay}" />
|
2020-04-13 01:19:55 +01:00
|
|
|
|
</DataGrid.Columns>
|
|
|
|
|
|
</DataGrid>
|
2025-10-26 18:04:26 +00:00
|
|
|
|
</Grid>
|
|
|
|
|
|
<Grid Grid.Row="1"
|
|
|
|
|
|
RowDefinitions="Auto, *"
|
|
|
|
|
|
RowSpacing="8"
|
|
|
|
|
|
IsVisible="{Binding SectorsUnknownsVisible, Mode=OneWay}">
|
|
|
|
|
|
<controls:SpectreTextBlock Grid.Row="0"
|
|
|
|
|
|
Text="{x:Static localization:UI.Unknown_LBAs}" />
|
|
|
|
|
|
<DataGrid Grid.Row="1"
|
|
|
|
|
|
ItemsSource="{Binding UnknownList, Mode=OneWay}">
|
2020-04-13 01:19:55 +01:00
|
|
|
|
<DataGrid.Columns>
|
2025-10-25 12:53:52 +01:00
|
|
|
|
<DataGridTextColumn Header="{x:Static localization:UI.Title_LBA}"
|
2025-10-26 18:04:26 +00:00
|
|
|
|
Binding="{Binding Lba, Mode=OneWay}" />
|
2020-04-13 01:19:55 +01:00
|
|
|
|
</DataGrid.Columns>
|
|
|
|
|
|
</DataGrid>
|
2025-10-26 18:04:26 +00:00
|
|
|
|
</Grid>
|
|
|
|
|
|
</Grid>
|
|
|
|
|
|
<Grid Grid.Row="1"
|
|
|
|
|
|
RowDefinitions="Auto,Auto,Auto,Auto,Auto,Auto,Auto"
|
|
|
|
|
|
IsVisible="{Binding SectorSummaryVisible,Mode=OneWay}">
|
|
|
|
|
|
<controls:SpectreTextBlock Grid.Row="0"
|
|
|
|
|
|
Text="{Binding ImageResultText, Mode=OneWay}"
|
|
|
|
|
|
IsVisible="{Binding ImageResultVisible, Mode=OneWay}" />
|
|
|
|
|
|
<controls:SpectreTextBlock Grid.Row="1"
|
|
|
|
|
|
Text="{x:Static localization:UI.All_sectors_contain_errors}"
|
|
|
|
|
|
IsVisible="{Binding SectorsErrorsAllVisible, Mode=OneWay}" />
|
|
|
|
|
|
<controls:SpectreTextBlock Grid.Row="2"
|
|
|
|
|
|
Text="{x:Static localization:UI.All_sectors_are_unknown}"
|
|
|
|
|
|
IsVisible="{Binding SectorsUnknownAllVisible, Mode=OneWay}" />
|
|
|
|
|
|
<StackPanel Grid.Row="3"
|
|
|
|
|
|
Orientation="Horizontal"
|
|
|
|
|
|
Spacing="8">
|
|
|
|
|
|
<controls:SpectreTextBlock Text="{x:Static localization:UI.Total_sectors}" />
|
|
|
|
|
|
<controls:SpectreTextBlock Text="{Binding TotalSectorsText, Mode=OneWay}" />
|
2020-04-13 01:19:55 +01:00
|
|
|
|
</StackPanel>
|
2025-10-26 18:04:26 +00:00
|
|
|
|
<StackPanel Grid.Row="4"
|
|
|
|
|
|
Orientation="Horizontal"
|
|
|
|
|
|
Spacing="8">
|
|
|
|
|
|
<controls:SpectreTextBlock Text="{x:Static localization:UI.Total_errors}" />
|
|
|
|
|
|
<controls:SpectreTextBlock Text="{Binding TotalSectorErrorsText, Mode=OneWay}" />
|
|
|
|
|
|
</StackPanel>
|
|
|
|
|
|
<StackPanel Grid.Row="5"
|
|
|
|
|
|
Orientation="Horizontal"
|
|
|
|
|
|
Spacing="8">
|
|
|
|
|
|
<controls:SpectreTextBlock Text="{x:Static localization:UI.Total_unknowns}" />
|
|
|
|
|
|
<controls:SpectreTextBlock Text="{Binding TotalSectorUnknownsText, Mode=OneWay}" />
|
|
|
|
|
|
</StackPanel>
|
|
|
|
|
|
<StackPanel Grid.Row="6"
|
|
|
|
|
|
Orientation="Horizontal"
|
|
|
|
|
|
Spacing="8">
|
|
|
|
|
|
<controls:SpectreTextBlock Text="{x:Static localization:UI.Total_errors_plus_unknowns}" />
|
|
|
|
|
|
<controls:SpectreTextBlock Text="{Binding TotalSectorErrorsUnknownsText, Mode=OneWay}" />
|
|
|
|
|
|
</StackPanel>
|
|
|
|
|
|
</Grid>
|
|
|
|
|
|
</Grid>
|
|
|
|
|
|
<Grid Grid.Row="1"
|
|
|
|
|
|
RowDefinitions="Auto,Auto"
|
|
|
|
|
|
RowSpacing="8"
|
|
|
|
|
|
IsVisible="{Binding ProgressVisible, Mode=OneWay}">
|
|
|
|
|
|
<Grid RowDefinitions="Auto, Auto"
|
|
|
|
|
|
Grid.Row="0"
|
|
|
|
|
|
RowSpacing="8">
|
|
|
|
|
|
<controls:SpectreTextBlock Grid.Row="0"
|
|
|
|
|
|
Text="{Binding ProgressText, Mode=OneWay}" />
|
|
|
|
|
|
<ProgressBar Grid.Row="1"
|
|
|
|
|
|
Maximum="{Binding ProgressMaxValue, Mode=OneWay}"
|
|
|
|
|
|
IsIndeterminate="{Binding ProgressIndeterminate, Mode=OneWay}"
|
|
|
|
|
|
Value="{Binding ProgressValue, Mode=OneWay}" />
|
|
|
|
|
|
</Grid>
|
|
|
|
|
|
<Grid Grid.Row="1"
|
|
|
|
|
|
RowDefinitions="Auto, Auto"
|
|
|
|
|
|
RowSpacing="8"
|
|
|
|
|
|
IsVisible="{Binding Progress2Visible, Mode=OneWay}">
|
|
|
|
|
|
<controls:SpectreTextBlock Grid.Row="0"
|
|
|
|
|
|
Text="{Binding Progress2Text, Mode=OneWay}" />
|
|
|
|
|
|
<ProgressBar Grid.Row="1"
|
|
|
|
|
|
Maximum="{Binding Progress2MaxValue, Mode=OneWay}"
|
|
|
|
|
|
IsIndeterminate="{Binding Progress2Indeterminate, Mode=OneWay}"
|
|
|
|
|
|
Value="{Binding Progress2Value, Mode=OneWay}" />
|
|
|
|
|
|
</Grid>
|
|
|
|
|
|
</Grid>
|
|
|
|
|
|
<StackPanel Grid.Row="2"
|
|
|
|
|
|
Orientation="Horizontal"
|
|
|
|
|
|
VerticalAlignment="Bottom"
|
|
|
|
|
|
HorizontalAlignment="Right"
|
|
|
|
|
|
Spacing="8">
|
|
|
|
|
|
<Button Command="{Binding StartCommand, Mode=OneWay}"
|
|
|
|
|
|
IsVisible="{Binding StartVisible, Mode=OneWay}">
|
2025-10-25 12:53:52 +01:00
|
|
|
|
<TextBlock Text="{x:Static localization:UI.ButtonLabel_Start}" />
|
2020-04-13 01:19:55 +01:00
|
|
|
|
</Button>
|
2025-10-26 18:04:26 +00:00
|
|
|
|
<Button Command="{Binding CloseCommand, Mode=OneWay}"
|
|
|
|
|
|
IsVisible="{Binding CloseVisible, Mode=OneWay}">
|
2025-10-25 12:53:52 +01:00
|
|
|
|
<TextBlock Text="{x:Static localization:UI.ButtonLabel_Close}" />
|
2020-04-13 01:19:55 +01:00
|
|
|
|
</Button>
|
2025-10-26 18:04:26 +00:00
|
|
|
|
<Button Command="{Binding StopCommand, Mode=OneWay}"
|
|
|
|
|
|
IsVisible="{Binding StopVisible, Mode=OneWay}"
|
|
|
|
|
|
IsEnabled="{Binding StopEnabled, Mode=OneWay}">
|
2025-10-25 12:53:52 +01:00
|
|
|
|
<TextBlock Text="{x:Static localization:UI.ButtonLabel_Stop}" />
|
2020-04-13 01:19:55 +01:00
|
|
|
|
</Button>
|
|
|
|
|
|
</StackPanel>
|
2025-10-26 18:04:26 +00:00
|
|
|
|
</Grid>
|
2020-04-13 01:19:55 +01:00
|
|
|
|
</Window>
|