General refactor and cleanup.

This commit is contained in:
2024-05-01 04:05:22 +01:00
parent 185a8c3fd5
commit e46d21bde6
922 changed files with 36437 additions and 29485 deletions

View File

@@ -31,19 +31,28 @@
// Copyright © 20112023 Natalia Portillo
// ****************************************************************************/
-->
<Window xmlns="https://github.com/avaloniaui" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
<Window 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:windows="clr-namespace:Aaru.Gui.ViewModels.Windows" mc:Ignorable="d" d:DesignWidth="800"
d:DesignHeight="450" Width="480" Height="320" x:Class="Aaru.Gui.Views.Windows.DecodeMediaTags"
Icon="/Assets/aaru-logo.png" CanResize="False" Title="{Binding Title}">
xmlns:windows="clr-namespace:Aaru.Gui.ViewModels.Windows"
mc:Ignorable="d"
d:DesignWidth="800"
d:DesignHeight="450"
Width="480"
Height="320"
x:Class="Aaru.Gui.Views.Windows.DecodeMediaTags"
Icon="/Assets/aaru-logo.png"
CanResize="False"
Title="{Binding Title}">
<Design.DataContext>
<windows:DecodeMediaTagsViewModel />
</Design.DataContext>
<StackPanel Orientation="Vertical">
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding TagLabel}" />
<ComboBox ItemsSource="{Binding TagsList}" SelectedItem="{Binding SelectedTag}">
<ComboBox ItemsSource="{Binding TagsList}"
SelectedItem="{Binding SelectedTag}">
<ComboBox.DataTemplates>
<DataTemplate>
<TextBlock Text="{Binding Name}" />
@@ -56,13 +65,15 @@
<TabItem.Header>
<TextBlock Text="{Binding HexViewLabel}" />
</TabItem.Header>
<TextBox IsReadOnly="True" Text="{Binding HexViewText}" />
<TextBox IsReadOnly="True"
Text="{Binding HexViewText}" />
</TabItem>
<TabItem IsVisible="{Binding DecodedVisible}">
<TabItem.Header>
<TextBlock Text="{Binding DecodedLabel}" />
</TabItem.Header>
<TextBox IsReadOnly="True" Text="{Binding DecodedText}" />
<TextBox IsReadOnly="True"
Text="{Binding DecodedText}" />
</TabItem>
</TabControl>
</StackPanel>

View File

@@ -41,9 +41,9 @@ public sealed class DecodeMediaTags : Window
public DecodeMediaTags()
{
InitializeComponent();
#if DEBUG
#if DEBUG
this.AttachDevTools();
#endif
#endif
}
void InitializeComponent() => AvaloniaXamlLoader.Load(this);

View File

@@ -31,103 +31,138 @@
// Copyright © 20112023 Natalia Portillo
// ****************************************************************************/
-->
<Window xmlns="https://github.com/avaloniaui" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
<Window 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:windows="clr-namespace:Aaru.Gui.ViewModels.Windows" mc:Ignorable="d" d:DesignWidth="800"
d:DesignHeight="450" x:Class="Aaru.Gui.Views.Windows.ImageChecksum" Icon="/Assets/aaru-logo.png"
xmlns:windows="clr-namespace:Aaru.Gui.ViewModels.Windows"
mc:Ignorable="d"
d:DesignWidth="800"
d:DesignHeight="450"
x:Class="Aaru.Gui.Views.Windows.ImageChecksum"
Icon="/Assets/aaru-logo.png"
Title="{Binding Title}">
<Design.DataContext>
<windows:ImageChecksumViewModel />
</Design.DataContext>
<StackPanel Orientation="Vertical">
<StackPanel Orientation="Vertical">
<CheckBox IsEnabled="{Binding OptionsEnabled}" IsVisible="{Binding ChecksumTracksVisible}"
<CheckBox IsEnabled="{Binding OptionsEnabled}"
IsVisible="{Binding ChecksumTracksVisible}"
IsChecked="{Binding ChecksumMediaChecked}">
<TextBlock Text="{Binding ChecksumMediaLabel}" />
</CheckBox>
<CheckBox IsEnabled="{Binding OptionsEnabled}" IsVisible="{Binding ChecksumTracksVisible}"
<CheckBox IsEnabled="{Binding OptionsEnabled}"
IsVisible="{Binding ChecksumTracksVisible}"
IsChecked="{Binding ChecksumTracksChecked}">
<TextBlock Text="{Binding ChecksumTracksLabel}" />
</CheckBox>
<CheckBox IsEnabled="{Binding OptionsEnabled}" IsChecked="{Binding Adler32Checked}">
<CheckBox IsEnabled="{Binding OptionsEnabled}"
IsChecked="{Binding Adler32Checked}">
<TextBlock Text="{Binding Adler32Label}" />
</CheckBox>
<CheckBox IsEnabled="{Binding OptionsEnabled}" IsChecked="{Binding Crc16Checked}">
<CheckBox IsEnabled="{Binding OptionsEnabled}"
IsChecked="{Binding Crc16Checked}">
<TextBlock Text="{Binding Crc16Label}" />
</CheckBox>
<CheckBox IsEnabled="{Binding OptionsEnabled}" IsChecked="{Binding Crc32Checked}">
<CheckBox IsEnabled="{Binding OptionsEnabled}"
IsChecked="{Binding Crc32Checked}">
<TextBlock Text="{Binding Crc32Label}" />
</CheckBox>
<CheckBox IsEnabled="{Binding OptionsEnabled}" IsChecked="{Binding Crc64Checked}">
<CheckBox IsEnabled="{Binding OptionsEnabled}"
IsChecked="{Binding Crc64Checked}">
<TextBlock Text="{Binding Crc64Label}" />
</CheckBox>
<CheckBox IsEnabled="{Binding OptionsEnabled}" IsChecked="{Binding Fletcher16Checked}">
<CheckBox IsEnabled="{Binding OptionsEnabled}"
IsChecked="{Binding Fletcher16Checked}">
<TextBlock Text="{Binding Fletcher16Label}" />
</CheckBox>
<CheckBox IsEnabled="{Binding OptionsEnabled}" IsChecked="{Binding Fletcher32Checked}">
<CheckBox IsEnabled="{Binding OptionsEnabled}"
IsChecked="{Binding Fletcher32Checked}">
<TextBlock Text="{Binding Fletcher32Label}" />
</CheckBox>
<CheckBox IsEnabled="{Binding OptionsEnabled}" IsChecked="{Binding Md5Checked}">
<CheckBox IsEnabled="{Binding OptionsEnabled}"
IsChecked="{Binding Md5Checked}">
<TextBlock Text="{Binding Md5Label}" />
</CheckBox>
<CheckBox IsEnabled="{Binding OptionsEnabled}" IsChecked="{Binding Sha1Checked}">
<CheckBox IsEnabled="{Binding OptionsEnabled}"
IsChecked="{Binding Sha1Checked}">
<TextBlock Text="{Binding Sha1Label}" />
</CheckBox>
<CheckBox IsEnabled="{Binding OptionsEnabled}" IsChecked="{Binding Sha256Checked}">
<CheckBox IsEnabled="{Binding OptionsEnabled}"
IsChecked="{Binding Sha256Checked}">
<TextBlock Text="{Binding Sha256Label}" />
</CheckBox>
<CheckBox IsEnabled="{Binding OptionsEnabled}" IsChecked="{Binding Sha384Checked}">
<CheckBox IsEnabled="{Binding OptionsEnabled}"
IsChecked="{Binding Sha384Checked}">
<TextBlock Text="{Binding Sha384Label}" />
</CheckBox>
<CheckBox IsEnabled="{Binding OptionsEnabled}" IsChecked="{Binding Sha512Checked}">
<CheckBox IsEnabled="{Binding OptionsEnabled}"
IsChecked="{Binding Sha512Checked}">
<TextBlock Text="{Binding Sha512Label}" />
</CheckBox>
<CheckBox IsEnabled="{Binding OptionsEnabled}" IsChecked="{Binding SpamsumChecked}">
<CheckBox IsEnabled="{Binding OptionsEnabled}"
IsChecked="{Binding SpamsumChecked}">
<TextBlock Text="{Binding SpamSumLabel}" />
</CheckBox>
</StackPanel>
<StackPanel Orientation="Vertical" IsVisible="{Binding ResultsVisible}">
<StackPanel Orientation="Vertical" IsVisible="{Binding TrackChecksumsVisible}">
<StackPanel Orientation="Vertical"
IsVisible="{Binding ResultsVisible}">
<StackPanel Orientation="Vertical"
IsVisible="{Binding TrackChecksumsVisible}">
<TextBlock Text="{Binding TrackChecksumsLabel}" />
<DataGrid ItemsSource="{Binding TrackChecksums}">
<DataGrid.Columns>
<DataGridTextColumn Header="{Binding TrackLabel}" Binding="{Binding Track}" />
<DataGridTextColumn Header="{Binding AlgorithmsLabel}" Binding="{Binding Algorithm}" />
<DataGridTextColumn Header="{Binding HashLabel}" Binding="{Binding Value}" />
<DataGridTextColumn Header="{Binding TrackLabel}"
Binding="{Binding Track}" />
<DataGridTextColumn Header="{Binding AlgorithmsLabel}"
Binding="{Binding Algorithm}" />
<DataGridTextColumn Header="{Binding HashLabel}"
Binding="{Binding Value}" />
</DataGrid.Columns>
</DataGrid>
</StackPanel>
<StackPanel Orientation="Vertical" IsVisible="{Binding MediaChecksumsVisible}">
<StackPanel Orientation="Vertical"
IsVisible="{Binding MediaChecksumsVisible}">
<TextBlock Text="{Binding MediaChecksumsLabel}" />
<DataGrid ItemsSource="{Binding MediaChecksums}">
<DataGrid.Columns>
<DataGridTextColumn Header="{Binding AlgorithmsLabel}" Binding="{Binding Algorithm}" />
<DataGridTextColumn Header="{Binding HashLabel}" Binding="{Binding Value}" />
<DataGridTextColumn Header="{Binding AlgorithmsLabel}"
Binding="{Binding Algorithm}" />
<DataGridTextColumn Header="{Binding HashLabel}"
Binding="{Binding Value}" />
</DataGrid.Columns>
</DataGrid>
</StackPanel>
</StackPanel>
<StackPanel Orientation="Vertical" IsVisible="{Binding ProgressVisible}">
<StackPanel Orientation="Vertical" IsVisible="{Binding Progress1Visible}">
<StackPanel Orientation="Vertical"
IsVisible="{Binding ProgressVisible}">
<StackPanel Orientation="Vertical"
IsVisible="{Binding Progress1Visible}">
<TextBlock Text="{Binding ProgressText}" />
<ProgressBar Maximum="{Binding ProgressMax}" Value="{Binding ProgressValue}" />
<ProgressBar Maximum="{Binding ProgressMax}"
Value="{Binding ProgressValue}" />
</StackPanel>
<StackPanel Orientation="Vertical" IsVisible="{Binding Progress2Visible}">
<StackPanel Orientation="Vertical"
IsVisible="{Binding Progress2Visible}">
<TextBlock Text="{Binding Progress2Text}" />
<ProgressBar Maximum="{Binding Progress2Max}" Value="{Binding Progress2Value}" />
<ProgressBar Maximum="{Binding Progress2Max}"
Value="{Binding Progress2Value}" />
</StackPanel>
</StackPanel>
<StackPanel Orientation="Horizontal">
<Button Command="{Binding StartCommand}" IsEnabled="{Binding StartCommandEnabled}"
<Button Command="{Binding StartCommand}"
IsEnabled="{Binding StartCommandEnabled}"
IsVisible="{Binding StartCommandVisible}">
<TextBlock Text="{Binding StartLabel}" />
</Button>
<Button Command="{Binding CloseCommand}" IsEnabled="{Binding CloseCommandEnabled}"
<Button Command="{Binding CloseCommand}"
IsEnabled="{Binding CloseCommandEnabled}"
IsVisible="{Binding CloseCommandVisible}">
<TextBlock Text="{Binding CloseLabel}" />
</Button>
<Button Command="{Binding StopCommand}" IsEnabled="{Binding StopCommandEnabled}"
<Button Command="{Binding StopCommand}"
IsEnabled="{Binding StopCommandEnabled}"
IsVisible="{Binding StopCommandVisible}">
<TextBlock Text="{Binding StopLabel}" />
</Button>

View File

@@ -42,9 +42,9 @@ public sealed class ImageChecksum : Window
public ImageChecksum()
{
InitializeComponent();
#if DEBUG
#if DEBUG
this.AttachDevTools();
#endif
#endif
}
void InitializeComponent() => AvaloniaXamlLoader.Load(this);

View File

@@ -31,19 +31,27 @@
// Copyright © 20112023 Natalia Portillo
// ****************************************************************************/
-->
<Window xmlns="https://github.com/avaloniaui" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
<Window 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:windows="clr-namespace:Aaru.Gui.ViewModels.Windows" mc:Ignorable="d" d:DesignWidth="800"
d:DesignHeight="450" x:Class="Aaru.Gui.Views.Windows.ImageConvert" Icon="/Assets/aaru-logo.png"
xmlns:windows="clr-namespace:Aaru.Gui.ViewModels.Windows"
mc:Ignorable="d"
d:DesignWidth="800"
d:DesignHeight="450"
x:Class="Aaru.Gui.Views.Windows.ImageConvert"
Icon="/Assets/aaru-logo.png"
Title="{Binding Title}">
<Design.DataContext>
<windows:ImageConvertViewModel />
</Design.DataContext>
<StackPanel Orientation="Vertical">
<TextBlock Text="{Binding SourceImageLabel}" /> <TextBox Text="{Binding SourceText}" IsReadOnly="True" />
<TextBlock Text="{Binding SourceImageLabel}" />
<TextBox Text="{Binding SourceText}"
IsReadOnly="True" />
<TextBlock Text="{Binding OutputFormatLabel}" />
<ComboBox ItemsSource="{Binding PluginsList}" SelectedItem="{Binding SelectedPlugin}"
<ComboBox ItemsSource="{Binding PluginsList}"
SelectedItem="{Binding SelectedPlugin}"
IsEnabled="{Binding FormatReadOnly}">
<ComboBox.ItemTemplate>
<DataTemplate>
@@ -52,15 +60,21 @@
</ComboBox.ItemTemplate>
</ComboBox>
<StackPanel Orientation="Horizontal">
<TextBox Text="{Binding DestinationText}" IsReadOnly="True" />
<Button Command="{Binding DestinationCommand}" IsEnabled="{Binding DestinationEnabled}"
<TextBox Text="{Binding DestinationText}"
IsReadOnly="True" />
<Button Command="{Binding DestinationCommand}"
IsEnabled="{Binding DestinationEnabled}"
IsVisible="{Binding DestinationVisible}">
<TextBlock Text="{Binding ChooseLabel}" />
</Button>
</StackPanel>
<StackPanel Orientation="Vertical" IsVisible="{Binding OptionsVisible}">
<StackPanel Orientation="Vertical"
IsVisible="{Binding OptionsVisible}">
<StackPanel Orientation="Horizontal">
<NumericUpDown Increment="1" Minimum="1" Maximum="16384" Value="{Binding SectorsValue}" />
<NumericUpDown Increment="1"
Minimum="1"
Maximum="16384"
Value="{Binding SectorsValue}" />
<TextBlock Text="{Binding SectorsLabel}" />
</StackPanel>
<CheckBox IsChecked="{Binding ForceChecked}">
@@ -68,7 +82,8 @@
</CheckBox>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding CreatorLabel}" /> <TextBox Text="{Binding CreatorText}" />
<Button Command="{Binding CreatorCommand}" IsVisible="{Binding CreatorVisible}">
<Button Command="{Binding CreatorCommand}"
IsVisible="{Binding CreatorVisible}">
<TextBlock Text="{Binding GetFromSourceImageLabel}" />
</Button>
</StackPanel>
@@ -82,7 +97,8 @@
<StackPanel Orientation="Vertical">
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding TitleLabel}" /> <TextBox Text="{Binding MediaTitleText}" />
<Button Command="{Binding MediaTitleCommand}" IsVisible="{Binding MediaTitleVisible}">
<Button Command="{Binding MediaTitleCommand}"
IsVisible="{Binding MediaTitleVisible}">
<TextBlock Text="{Binding GetFromSourceImageLabel}" />
</Button>
</StackPanel>
@@ -96,7 +112,8 @@
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding ModelLabel}" /> <TextBox Text="{Binding MediaModelText}" />
<Button Command="{Binding MediaModelCommand}" IsVisible="{Binding MediaModelVisible}">
<Button Command="{Binding MediaModelCommand}"
IsVisible="{Binding MediaModelVisible}">
<TextBlock Text="{Binding GetFromSourceImageLabel}" />
</Button>
</StackPanel>
@@ -126,7 +143,9 @@
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding NumberInSequenceLabel}" />
<NumericUpDown Increment="1" Value="{Binding MediaSequenceValue}" Minimum="0" />
<NumericUpDown Increment="1"
Value="{Binding MediaSequenceValue}"
Minimum="0" />
<Button Command="{Binding MediaSequenceCommand}"
IsVisible="{Binding MediaSequenceVisible}">
<TextBlock Text="{Binding GetFromSourceImageLabel}" />
@@ -134,7 +153,9 @@
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding LastMediaOfTheSequenceLabel}" />
<NumericUpDown Increment="1" Value="{Binding LastMediaSequenceValue}" Minimum="0" />
<NumericUpDown Increment="1"
Value="{Binding LastMediaSequenceValue}"
Minimum="0" />
<Button Command="{Binding LastMediaSequenceCommand}"
IsVisible="{Binding LastMediaSequenceVisible}">
<TextBlock Text="{Binding GetFromSourceImageLabel}" />
@@ -157,7 +178,8 @@
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding ModelLabel}" /> <TextBox Text="{Binding DriveModelText}" />
<Button Command="{Binding DriveModelCommand}" IsVisible="{Binding DriveModelVisible}">
<Button Command="{Binding DriveModelCommand}"
IsVisible="{Binding DriveModelVisible}">
<TextBlock Text="{Binding GetFromSourceImageLabel}" />
</Button>
</StackPanel>
@@ -185,7 +207,8 @@
</TabItem.Header>
<StackPanel Orientation="Vertical">
<TextBox Text="{Binding CommentsText}" />
<Button Command="{Binding CommentsCommand}" IsVisible="{Binding CommentsVisible}">
<Button Command="{Binding CommentsCommand}"
IsVisible="{Binding CommentsVisible}">
<TextBlock Text="{Binding GetFromSourceImageLabel}" />
</Button>
</StackPanel>
@@ -193,7 +216,8 @@
</TabControl>
<TextBlock Text="{Binding AaruMetadataLabel}" />
<StackPanel Orientation="Horizontal">
<TextBox Text="{Binding MetadataJsonText}" IsReadOnly="True" />
<TextBox Text="{Binding MetadataJsonText}"
IsReadOnly="True" />
<Button Command="{Binding AaruMetadataFromImageCommand}"
IsVisible="{Binding AaruMetadataFromImageVisible}">
<TextBlock Text="{Binding FromImageLabel}" />
@@ -204,7 +228,8 @@
</StackPanel>
<TextBlock Text="{Binding ResumeFileLabel}" />
<StackPanel Orientation="Horizontal">
<TextBox Text="{Binding ResumeFileText}" IsReadOnly="True" />
<TextBox Text="{Binding ResumeFileText}"
IsReadOnly="True" />
<Button Command="{Binding ResumeFileFromImageCommand}"
IsVisible="{Binding ResumeFileFromImageVisible}">
<TextBlock Text="{Binding FromImageLabel}" />
@@ -215,26 +240,35 @@
</StackPanel>
</StackPanel>
</StackPanel>
<StackPanel Orientation="Vertical" IsVisible="{Binding ProgressVisible}">
<StackPanel Orientation="Vertical" IsVisible="{Binding Progress1Visible}">
<StackPanel Orientation="Vertical"
IsVisible="{Binding ProgressVisible}">
<StackPanel Orientation="Vertical"
IsVisible="{Binding Progress1Visible}">
<TextBox Text="{Binding ProgressText}" />
<ProgressBar Value="{Binding ProgressValue}" Maximum="{Binding ProgressMaxValue}"
<ProgressBar Value="{Binding ProgressValue}"
Maximum="{Binding ProgressMaxValue}"
IsIndeterminate="{Binding ProgressIndeterminate}" />
</StackPanel>
<StackPanel Orientation="Vertical" IsVisible="{Binding Progress2Visible}">
<StackPanel Orientation="Vertical"
IsVisible="{Binding Progress2Visible}">
<TextBox Text="{Binding Progress2Text}" />
<ProgressBar Value="{Binding Progress2Value}" Maximum="{Binding Progress2MaxValue}"
<ProgressBar Value="{Binding Progress2Value}"
Maximum="{Binding Progress2MaxValue}"
IsIndeterminate="{Binding Progress2Indeterminate}" />
</StackPanel>
</StackPanel>
<StackPanel Orientation="Horizontal">
<Button Command="{Binding StartCommand}" IsVisible="{Binding StartVisible}">
<Button Command="{Binding StartCommand}"
IsVisible="{Binding StartVisible}">
<TextBlock Text="{Binding StartLabel}" />
</Button>
<Button Command="{Binding CloseCommand}" IsVisible="{Binding CloseVisible}">
<Button Command="{Binding CloseCommand}"
IsVisible="{Binding CloseVisible}">
<TextBlock Text="{Binding CloseLabel}" />
</Button>
<Button Command="{Binding StopCommand}" IsVisible="{Binding StopVisible}" IsEnabled="{Binding StopEnabled}">
<Button Command="{Binding StopCommand}"
IsVisible="{Binding StopVisible}"
IsEnabled="{Binding StopEnabled}">
<TextBlock Text="{Binding StopLabel}" />
</Button>
</StackPanel>

View File

@@ -42,9 +42,9 @@ public sealed class ImageConvert : Window
public ImageConvert()
{
InitializeComponent();
#if DEBUG
#if DEBUG
this.AttachDevTools();
#endif
#endif
}
void InitializeComponent() => AvaloniaXamlLoader.Load(this);

View File

@@ -31,60 +31,85 @@
// Copyright © 20112023 Natalia Portillo
// ****************************************************************************/
-->
<Window xmlns="https://github.com/avaloniaui" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
<Window 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:windows="clr-namespace:Aaru.Gui.ViewModels.Windows" mc:Ignorable="d" d:DesignWidth="800"
d:DesignHeight="450" x:Class="Aaru.Gui.Views.Windows.ImageEntropy" Icon="/Assets/aaru-logo.png"
xmlns:windows="clr-namespace:Aaru.Gui.ViewModels.Windows"
mc:Ignorable="d"
d:DesignWidth="800"
d:DesignHeight="450"
x:Class="Aaru.Gui.Views.Windows.ImageEntropy"
Icon="/Assets/aaru-logo.png"
Title="{Binding Title}">
<Design.DataContext>
<windows:ImageEntropyViewModel />
</Design.DataContext>
<StackPanel Orientation="Vertical">
<StackPanel IsVisible="{Binding OptionsVisible}" Orientation="Vertical">
<CheckBox IsEnabled="{Binding DuplicatedSectorsEnabled}" IsChecked="{Binding DuplicatedSectorsChecked}">
<StackPanel IsVisible="{Binding OptionsVisible}"
Orientation="Vertical">
<CheckBox IsEnabled="{Binding DuplicatedSectorsEnabled}"
IsChecked="{Binding DuplicatedSectorsChecked}">
<TextBlock Text="{Binding DuplicatedSectorsLabel}" />
</CheckBox>
<CheckBox IsEnabled="{Binding SeparatedTracksEnabled}" IsChecked="{Binding SeparatedTracksChecked}"
<CheckBox IsEnabled="{Binding SeparatedTracksEnabled}"
IsChecked="{Binding SeparatedTracksChecked}"
IsVisible="{Binding SeparatedTracksVisible}">
<TextBlock Text="{Binding SeparatedTracksLabel}" />
</CheckBox>
<CheckBox IsEnabled="{Binding WholeDiscEnabled}" IsChecked="{Binding WholeDiscChecked}"
<CheckBox IsEnabled="{Binding WholeDiscEnabled}"
IsChecked="{Binding WholeDiscChecked}"
IsVisible="{Binding WholeDiscVisible}">
<TextBlock Text="{Binding WholeDiscLabel}" />
</CheckBox>
</StackPanel>
<StackPanel Orientation="Vertical" IsVisible="{Binding ResultsVisible}">
<TextBlock Text="{Binding MediaEntropyText}" IsVisible="{Binding MediaEntropyVisible}" />
<TextBlock Text="{Binding MediaUniqueSectorsText}" IsVisible="{Binding MediaUniqueSectorsVisible}" />
<TextBlock Text="{Binding TrackEntropyLabel}" IsVisible="{Binding SeparatedTracksEnabled}" />
<DataGrid IsVisible="{Binding SeparatedTracksEnabled}" ItemsSource="{Binding TrackEntropy}">
<StackPanel Orientation="Vertical"
IsVisible="{Binding ResultsVisible}">
<TextBlock Text="{Binding MediaEntropyText}"
IsVisible="{Binding MediaEntropyVisible}" />
<TextBlock Text="{Binding MediaUniqueSectorsText}"
IsVisible="{Binding MediaUniqueSectorsVisible}" />
<TextBlock Text="{Binding TrackEntropyLabel}"
IsVisible="{Binding SeparatedTracksEnabled}" />
<DataGrid IsVisible="{Binding SeparatedTracksEnabled}"
ItemsSource="{Binding TrackEntropy}">
<DataGrid.Columns>
<DataGridTextColumn Header="{Binding TrackLabel}" Binding="{Binding Track}" />
<DataGridTextColumn Header="{Binding EntropyLabel}" Binding="{Binding Entropy}" />
<DataGridTextColumn Header="{Binding UniqueSectorsLabel}" Binding="{Binding UniqueSectors}" />
<DataGridTextColumn Header="{Binding TrackLabel}"
Binding="{Binding Track}" />
<DataGridTextColumn Header="{Binding EntropyLabel}"
Binding="{Binding Entropy}" />
<DataGridTextColumn Header="{Binding UniqueSectorsLabel}"
Binding="{Binding UniqueSectors}" />
</DataGrid.Columns>
</DataGrid>
</StackPanel>
<StackPanel Orientation="Vertical" IsVisible="{Binding ProgressVisible}">
<StackPanel Orientation="Vertical" IsVisible="{Binding Progress1Visible}">
<StackPanel Orientation="Vertical"
IsVisible="{Binding ProgressVisible}">
<StackPanel Orientation="Vertical"
IsVisible="{Binding Progress1Visible}">
<TextBlock Text="{Binding ProgressText}" />
<ProgressBar Maximum="{Binding ProgressMax}" Value="{Binding ProgressValue}"
<ProgressBar Maximum="{Binding ProgressMax}"
Value="{Binding ProgressValue}"
IsIndeterminate="{Binding ProgressIndeterminate}" />
</StackPanel>
<StackPanel Orientation="Vertical" IsVisible="{Binding Progress2Visible}">
<StackPanel Orientation="Vertical"
IsVisible="{Binding Progress2Visible}">
<TextBlock Text="{Binding Progress2Text}" />
<ProgressBar Maximum="{Binding Progress2Max}" Value="{Binding Progress2Value}"
<ProgressBar Maximum="{Binding Progress2Max}"
Value="{Binding Progress2Value}"
IsIndeterminate="{Binding Progress2Indeterminate}" />
</StackPanel>
</StackPanel>
<Button Command="{Binding StartCommand}" IsVisible="{Binding StartVisible}">
<Button Command="{Binding StartCommand}"
IsVisible="{Binding StartVisible}">
<TextBlock Text="{Binding StartLabel}" />
</Button>
<Button Command="{Binding CloseCommand}" IsVisible="{Binding CloseVisible}">
<Button Command="{Binding CloseCommand}"
IsVisible="{Binding CloseVisible}">
<TextBlock Text="{Binding CloseLabel}" />
</Button>
<Button Command="{Binding StopCommand}" IsVisible="{Binding StopVisible}">
<Button Command="{Binding StopCommand}"
IsVisible="{Binding StopVisible}">
<TextBlock Text="{Binding StopLabel}" />
</Button>
</StackPanel>

View File

@@ -42,9 +42,9 @@ public sealed class ImageEntropy : Window
public ImageEntropy()
{
InitializeComponent();
#if DEBUG
#if DEBUG
this.AttachDevTools();
#endif
#endif
}
void InitializeComponent() => AvaloniaXamlLoader.Load(this);

View File

@@ -31,44 +31,64 @@
// Copyright © 20112023 Natalia Portillo
// ****************************************************************************/
-->
<Window xmlns="https://github.com/avaloniaui" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
<Window 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:windows="clr-namespace:Aaru.Gui.ViewModels.Windows" mc:Ignorable="d" d:DesignWidth="800"
d:DesignHeight="450" Width="480" Height="320" x:Class="Aaru.Gui.Views.Windows.ImageSidecar"
Icon="/Assets/aaru-logo.png" CanResize="False" Title="{Binding Title}">
xmlns:windows="clr-namespace:Aaru.Gui.ViewModels.Windows"
mc:Ignorable="d"
d:DesignWidth="800"
d:DesignHeight="450"
Width="480"
Height="320"
x:Class="Aaru.Gui.Views.Windows.ImageSidecar"
Icon="/Assets/aaru-logo.png"
CanResize="False"
Title="{Binding Title}">
<Design.DataContext>
<windows:ImageSidecarViewModel />
</Design.DataContext>
<StackPanel Orientation="Vertical">
<TextBlock Text="{Binding DestinationFileLabel}" />
<StackPanel Orientation="Horizontal">
<TextBox Text="{Binding DestinationText}" IsReadOnly="True" />
<Button Command="{Binding DestinationCommand}" IsEnabled="{Binding DestinationEnabled}">
<TextBox Text="{Binding DestinationText}"
IsReadOnly="True" />
<Button Command="{Binding DestinationCommand}"
IsEnabled="{Binding DestinationEnabled}">
<TextBlock Text="{Binding ChooseLabel}" />
</Button>
</StackPanel>
<StackPanel Orientation="Vertical" IsVisible="{Binding ProgressVisible}">
<TextBlock Text="{Binding StatusText}" IsVisible="{Binding StatusVisible}" />
<StackPanel Orientation="Vertical" IsVisible="{Binding Progress1Visible}">
<StackPanel Orientation="Vertical"
IsVisible="{Binding ProgressVisible}">
<TextBlock Text="{Binding StatusText}"
IsVisible="{Binding StatusVisible}" />
<StackPanel Orientation="Vertical"
IsVisible="{Binding Progress1Visible}">
<TextBlock Text="{Binding ProgressText}" />
<ProgressBar Maximum="{Binding ProgressMaxValue}" Value="{Binding ProgressValue}"
<ProgressBar Maximum="{Binding ProgressMaxValue}"
Value="{Binding ProgressValue}"
IsIndeterminate="{Binding ProgressIndeterminate}" />
</StackPanel>
<StackPanel Orientation="Vertical" IsVisible="{Binding Progress2Visible}">
<StackPanel Orientation="Vertical"
IsVisible="{Binding Progress2Visible}">
<TextBlock Text="{Binding Progress2Text}" />
<ProgressBar Maximum="{Binding Progress2MaxValue}" Value="{Binding Progress2Value}"
<ProgressBar Maximum="{Binding Progress2MaxValue}"
Value="{Binding Progress2Value}"
IsIndeterminate="{Binding Progress2Indeterminate}" />
</StackPanel>
</StackPanel>
<StackPanel Orientation="Horizontal">
<Button Command="{Binding StartCommand}" IsVisible="{Binding StartVisible}">
<Button Command="{Binding StartCommand}"
IsVisible="{Binding StartVisible}">
<TextBlock Text="{Binding StartLabel}" />
</Button>
<Button Command="{Binding CloseCommand}" IsVisible="{Binding CloseVisible}">
<Button Command="{Binding CloseCommand}"
IsVisible="{Binding CloseVisible}">
<TextBlock Text="{Binding CloseLabel}" />
</Button>
<Button Command="{Binding StopCommand}" IsEnabled="{Binding StopEnabled}" IsVisible="{Binding StopVisible}">
<Button Command="{Binding StopCommand}"
IsEnabled="{Binding StopEnabled}"
IsVisible="{Binding StopVisible}">
<TextBlock Text="{Binding StopLabel}" />
</Button>
</StackPanel>

View File

@@ -41,9 +41,9 @@ public sealed class ImageSidecar : Window
public ImageSidecar()
{
InitializeComponent();
#if DEBUG
#if DEBUG
this.AttachDevTools();
#endif
#endif
}
void InitializeComponent() => AvaloniaXamlLoader.Load(this);

View File

@@ -31,73 +31,97 @@
// Copyright © 20112023 Natalia Portillo
// ****************************************************************************/
-->
<Window xmlns="https://github.com/avaloniaui" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
<Window 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:windows="clr-namespace:Aaru.Gui.ViewModels.Windows" mc:Ignorable="d" d:DesignWidth="800"
d:DesignHeight="450" x:Class="Aaru.Gui.Views.Windows.ImageVerify" Icon="/Assets/aaru-logo.png"
xmlns:windows="clr-namespace:Aaru.Gui.ViewModels.Windows"
mc:Ignorable="d"
d:DesignWidth="800"
d:DesignHeight="450"
x:Class="Aaru.Gui.Views.Windows.ImageVerify"
Icon="/Assets/aaru-logo.png"
Title="{Binding Title}">
<Design.DataContext>
<windows:ImageVerifyViewModel />
</Design.DataContext>
<StackPanel Orientation="Vertical">
<StackPanel Orientation="Vertical" IsVisible="{Binding OptionsVisible}">
<CheckBox IsChecked="{Binding VerifyImageChecked}" IsEnabled="{Binding VerifyImageEnabled}">
<StackPanel Orientation="Vertical"
IsVisible="{Binding OptionsVisible}">
<CheckBox IsChecked="{Binding VerifyImageChecked}"
IsEnabled="{Binding VerifyImageEnabled}">
<TextBlock Text="{Binding VerifyImageLabel}" />
</CheckBox>
<CheckBox IsChecked="{Binding VerifySectorsChecked}" IsEnabled="{Binding VerifySectorsEnabled}"
<CheckBox IsChecked="{Binding VerifySectorsChecked}"
IsEnabled="{Binding VerifySectorsEnabled}"
IsVisible="{Binding VerifySectorsVisible}">
<TextBlock Text="{Binding VerifySectorsLabel}" />
</CheckBox>
</StackPanel>
<StackPanel Orientation="Vertical" IsVisible="{Binding ResultsVisible}">
<StackPanel Orientation="Vertical"
IsVisible="{Binding ResultsVisible}">
<StackPanel Orientation="Horizontal">
<StackPanel Orientation="Vertical" IsVisible="{Binding SectorErrorsVisible}">
<StackPanel Orientation="Vertical"
IsVisible="{Binding SectorErrorsVisible}">
<TextBlock Text="{Binding SectorErrorsText}" />
<DataGrid ItemsSource="{Binding ErrorList}">
<DataGrid.Columns>
<DataGridTextColumn Header="{Binding LBALabel}" Binding="{Binding Lba}" />
<DataGridTextColumn Header="{Binding LBALabel}"
Binding="{Binding Lba}" />
</DataGrid.Columns>
</DataGrid>
</StackPanel>
<StackPanel Orientation="Vertical" IsVisible="{Binding SectorsUnknownsVisible}">
<StackPanel Orientation="Vertical"
IsVisible="{Binding SectorsUnknownsVisible}">
<TextBlock Text="{Binding SectorsUnknownsText}" />
<DataGrid ItemsSource="{Binding UnknownList}">
<DataGrid.Columns>
<DataGridTextColumn Header="{Binding LBALabel}" Binding="{Binding Lba}" />
<DataGridTextColumn Header="{Binding LBALabel}"
Binding="{Binding Lba}" />
</DataGrid.Columns>
</DataGrid>
</StackPanel>
</StackPanel>
<StackPanel IsVisible="{Binding SectorSummaryVisible}">
<TextBlock Text="{Binding ImageResultText}" IsVisible="{Binding ImageResultVisible}" />
<TextBlock Text="{Binding SectorsErrorsAllText}" IsVisible="{Binding SectorsErrorsAllVisible}" />
<TextBlock Text="{Binding SectorsUnknownAllText}" IsVisible="{Binding SectorsUnknownAllVisible}" />
<TextBlock Text="{Binding ImageResultText}"
IsVisible="{Binding ImageResultVisible}" />
<TextBlock Text="{Binding SectorsErrorsAllText}"
IsVisible="{Binding SectorsErrorsAllVisible}" />
<TextBlock Text="{Binding SectorsUnknownAllText}"
IsVisible="{Binding SectorsUnknownAllVisible}" />
<TextBlock Text="{Binding TotalSectorsText}" /> <TextBlock Text="{Binding TotalSectorErrorsText}" />
<TextBlock Text="{Binding TotalSectorUnknownsText}" />
<TextBlock Text="{Binding TotalSectorErrorsUnknownsText}" />
</StackPanel>
</StackPanel>
<StackPanel Orientation="Vertical" IsVisible="{Binding ProgressVisible}">
<StackPanel Orientation="Vertical"
IsVisible="{Binding ProgressVisible}">
<StackPanel Orientation="Vertical">
<TextBlock Text="{Binding ProgressText}" />
<ProgressBar Maximum="{Binding ProgressMaxValue}" IsIndeterminate="{Binding ProgressIndeterminate}"
<ProgressBar Maximum="{Binding ProgressMaxValue}"
IsIndeterminate="{Binding ProgressIndeterminate}"
Value="{Binding ProgressValue}" />
</StackPanel>
<StackPanel Orientation="Vertical" IsVisible="{Binding Progress2Visible}">
<StackPanel Orientation="Vertical"
IsVisible="{Binding Progress2Visible}">
<TextBlock Text="{Binding Progress2Text}" />
<ProgressBar Maximum="{Binding Progress2MaxValue}" IsIndeterminate="{Binding Progress2Indeterminate}"
<ProgressBar Maximum="{Binding Progress2MaxValue}"
IsIndeterminate="{Binding Progress2Indeterminate}"
Value="{Binding Progress2Value}" />
</StackPanel>
</StackPanel>
<StackPanel Orientation="Horizontal">
<Button Command="{Binding StartCommand}" IsVisible="{Binding StartVisible}">
<Button Command="{Binding StartCommand}"
IsVisible="{Binding StartVisible}">
<TextBlock Text="{Binding StartLabel}" />
</Button>
<Button Command="{Binding CloseCommand}" IsVisible="{Binding CloseVisible}">
<Button Command="{Binding CloseCommand}"
IsVisible="{Binding CloseVisible}">
<TextBlock Text="{Binding CloseLabel}" />
</Button>
<Button Command="{Binding StopCommand}" IsVisible="{Binding StopVisible}" IsEnabled="{Binding StopEnabled}">
<Button Command="{Binding StopCommand}"
IsVisible="{Binding StopVisible}"
IsEnabled="{Binding StopEnabled}">
<TextBlock Text="{Binding StopLabel}" />
</Button>
</StackPanel>

View File

@@ -42,9 +42,9 @@ public sealed class ImageVerify : Window
public ImageVerify()
{
InitializeComponent();
#if DEBUG
#if DEBUG
this.AttachDevTools();
#endif
#endif
}
void InitializeComponent() => AvaloniaXamlLoader.Load(this);

View File

@@ -31,37 +31,55 @@
// Copyright © 20112023 Natalia Portillo
// ****************************************************************************/
-->
<Window xmlns="https://github.com/avaloniaui" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
<Window xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:models="clr-namespace:Aaru.Gui.Models;assembly=Aaru.Gui"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:windows="clr-namespace:Aaru.Gui.ViewModels.Windows" mc:Ignorable="d" d:DesignWidth="800"
d:DesignHeight="450" x:Class="Aaru.Gui.Views.Windows.MainWindow" Icon="/Assets/aaru-logo.png" Title="Aaru.Gui">
xmlns:windows="clr-namespace:Aaru.Gui.ViewModels.Windows"
mc:Ignorable="d"
d:DesignWidth="800"
d:DesignHeight="450"
x:Class="Aaru.Gui.Views.Windows.MainWindow"
Icon="/Assets/aaru-logo.png"
Title="Aaru.Gui">
<Design.DataContext>
<windows:MainWindowViewModel />
</Design.DataContext>
<DockPanel>
<Menu DockPanel.Dock="Top">
<MenuItem Header="{Binding FileLabel}">
<MenuItem Header="{Binding OpenLabel}" Command="{Binding OpenCommand}" /> <Separator />
<MenuItem Header="{Binding SettingsLabel}" IsVisible="{Binding !NativeMenuSupported}"
<MenuItem Header="{Binding OpenLabel}"
Command="{Binding OpenCommand}" />
<Separator />
<MenuItem Header="{Binding SettingsLabel}"
IsVisible="{Binding !NativeMenuSupported}"
Command="{Binding SettingsCommand}" />
<Separator />
<MenuItem Header="{Binding ExitLabel}" IsVisible="{Binding !NativeMenuSupported}"
<MenuItem Header="{Binding ExitLabel}"
IsVisible="{Binding !NativeMenuSupported}"
Command="{Binding ExitCommand}" />
</MenuItem>
<MenuItem Header="{Binding DevicesLabel}" IsVisible="{Binding DevicesSupported}">
<MenuItem Header="{Binding RefreshDevicesLabel}" Command="{Binding RefreshDevicesCommand}" />
<MenuItem Header="{Binding DevicesLabel}"
IsVisible="{Binding DevicesSupported}">
<MenuItem Header="{Binding RefreshDevicesLabel}"
Command="{Binding RefreshDevicesCommand}" />
</MenuItem>
<MenuItem Header="{Binding WindowLabel}">
<MenuItem Header="{Binding ConsoleLabel}" Command="{Binding ConsoleCommand}" />
<MenuItem Header="{Binding ConsoleLabel}"
Command="{Binding ConsoleCommand}" />
</MenuItem>
<MenuItem Header="{Binding HelpLabel}">
<MenuItem Header="{Binding EncodingsLabel}" Command="{Binding EncodingsCommand}" />
<MenuItem Header="{Binding PluginsLabel}" Command="{Binding PluginsCommand}" />
<MenuItem Header="{Binding StatisticsLabel}" Command="{Binding StatisticsCommand}" />
<MenuItem Header="{Binding EncodingsLabel}"
Command="{Binding EncodingsCommand}" />
<MenuItem Header="{Binding PluginsLabel}"
Command="{Binding PluginsCommand}" />
<MenuItem Header="{Binding StatisticsLabel}"
Command="{Binding StatisticsCommand}" />
<Separator IsVisible="{Binding !NativeMenuSupported}" />
<MenuItem Header="{Binding AboutLabel}" Name="AboutMenuItem" IsVisible="{Binding !NativeMenuSupported}"
<MenuItem Header="{Binding AboutLabel}"
Name="AboutMenuItem"
IsVisible="{Binding !NativeMenuSupported}"
Command="{Binding AboutCommand}" />
</MenuItem>
</Menu>
@@ -69,9 +87,11 @@
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" /><ColumnDefinition Width="5" /><ColumnDefinition Width="6*" />
</Grid.ColumnDefinitions>
<TreeView ItemsSource="{Binding TreeRoot}" SelectedItem="{Binding TreeViewSelectedItem}">
<TreeView ItemsSource="{Binding TreeRoot}"
SelectedItem="{Binding TreeViewSelectedItem}">
<TreeView.DataTemplates>
<TreeDataTemplate DataType="models:DevicesRootModel" ItemsSource="{Binding Devices}">
<TreeDataTemplate DataType="models:DevicesRootModel"
ItemsSource="{Binding Devices}">
<StackPanel Orientation="Horizontal">
<StackPanel.ContextMenu>
<ContextMenu>
@@ -79,18 +99,24 @@
Command="{Binding RefreshDevicesCommand}" />
</ContextMenu>
</StackPanel.ContextMenu>
<Image Width="24" Height="24" Source="/Assets/Icons/oxygen/32x32/computer.png" />
<Image Width="24"
Height="24"
Source="/Assets/Icons/oxygen/32x32/computer.png" />
<TextBlock Text="{Binding Name}" />
</StackPanel>
</TreeDataTemplate>
<TreeDataTemplate DataType="models:ImagesRootModel" ItemsSource="{Binding Images}">
<TreeDataTemplate DataType="models:ImagesRootModel"
ItemsSource="{Binding Images}">
<StackPanel Orientation="Horizontal">
<StackPanel.ContextMenu>
<ContextMenu>
<MenuItem Header="{Binding CloseAllImagesLabel}" Command="{Binding CloseAllImages}" />
<MenuItem Header="{Binding CloseAllImagesLabel}"
Command="{Binding CloseAllImages}" />
</ContextMenu>
</StackPanel.ContextMenu>
<Image Width="24" Height="24" Source="/Assets/Icons/oxygen/32x32/inode-directory.png" />
<Image Width="24"
Height="24"
Source="/Assets/Icons/oxygen/32x32/inode-directory.png" />
<TextBlock Text="{Binding Name}" />
</StackPanel>
</TreeDataTemplate>
@@ -115,51 +141,75 @@
Header="{Binding DecodeImageMediaTagsLabel}" />
</ContextMenu>
</StackPanel.ContextMenu>
<Image Width="24" Height="24" Source="{Binding Icon}" />
<Image Width="24"
Height="24"
Source="{Binding Icon}" />
<TextBlock Text="{Binding FileName}" />
</StackPanel>
</TreeDataTemplate>
<TreeDataTemplate DataType="models:PartitionSchemeModel" ItemsSource="{Binding Partitions}">
<TreeDataTemplate DataType="models:PartitionSchemeModel"
ItemsSource="{Binding Partitions}">
<StackPanel Orientation="Horizontal">
<Image Width="24" Height="24" Source="{Binding Icon}" />
<Image Width="24"
Height="24"
Source="{Binding Icon}" />
<TextBlock Text="{Binding Name}" />
</StackPanel>
</TreeDataTemplate>
<TreeDataTemplate DataType="models:PartitionModel" ItemsSource="{Binding FileSystems}">
<TreeDataTemplate DataType="models:PartitionModel"
ItemsSource="{Binding FileSystems}">
<StackPanel Orientation="Horizontal">
<Image Width="24" Height="24" Source="{Binding Icon}" />
<Image Width="24"
Height="24"
Source="{Binding Icon}" />
<TextBlock Text="{Binding Name}" />
</StackPanel>
</TreeDataTemplate>
<TreeDataTemplate DataType="models:FileSystemModel" ItemsSource="{Binding Roots}">
<TreeDataTemplate DataType="models:FileSystemModel"
ItemsSource="{Binding Roots}">
<StackPanel Orientation="Horizontal">
<Image Width="24" Height="24" Source="{Binding Icon}" />
<Image Width="24"
Height="24"
Source="{Binding Icon}" />
<TextBlock Text="{Binding VolumeName}" />
</StackPanel>
</TreeDataTemplate>
<TreeDataTemplate DataType="models:SubdirectoryModel" ItemsSource="{Binding Subdirectories}">
<TreeDataTemplate DataType="models:SubdirectoryModel"
ItemsSource="{Binding Subdirectories}">
<StackPanel Orientation="Horizontal">
<Image Width="24" Height="24" Source="{Binding Icon}" />
<Image Width="24"
Height="24"
Source="{Binding Icon}" />
<TextBlock Text="{Binding Name}" />
</StackPanel>
</TreeDataTemplate>
<TreeDataTemplate DataType="models:DeviceModel" ItemsSource="{Binding Media}">
<TreeDataTemplate DataType="models:DeviceModel"
ItemsSource="{Binding Media}">
<StackPanel Orientation="Horizontal">
<Image Width="24" Height="24" Source="{Binding Icon}" />
<Image Width="24"
Height="24"
Source="{Binding Icon}" />
<TextBlock Text="{Binding Name}" />
</StackPanel>
</TreeDataTemplate>
<TreeDataTemplate DataType="models:MediaModel">
<StackPanel Orientation="Horizontal">
<Image Width="24" Height="24" Source="{Binding Icon}" />
<Image Width="24"
Height="24"
Source="{Binding Icon}" />
<TextBlock Text="{Binding Name}" />
</StackPanel>
</TreeDataTemplate>
</TreeView.DataTemplates>
</TreeView>
<GridSplitter Grid.Column="1" Width="5" HorizontalAlignment="Stretch" />
<ContentControl Grid.Column="2" Content="{Binding ContentPanel}" HorizontalAlignment="Stretch"
HorizontalContentAlignment="Stretch" VerticalAlignment="Stretch"
<GridSplitter Grid.Column="1"
Width="5"
HorizontalAlignment="Stretch" />
<ContentControl Grid.Column="2"
Content="{Binding ContentPanel}"
HorizontalAlignment="Stretch"
HorizontalContentAlignment="Stretch"
VerticalAlignment="Stretch"
VerticalContentAlignment="Stretch" />
</Grid>
</DockPanel>

View File

@@ -43,9 +43,9 @@ public sealed class MainWindow : Window
public MainWindow()
{
InitializeComponent();
#if DEBUG
#if DEBUG
this.AttachDevTools();
#endif
#endif
}
void InitializeComponent() => AvaloniaXamlLoader.Load(this);

View File

@@ -31,19 +31,26 @@
// Copyright © 20112023 Natalia Portillo
// ****************************************************************************/
-->
<Window xmlns="https://github.com/avaloniaui" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
<Window 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:windows="clr-namespace:Aaru.Gui.ViewModels.Windows" mc:Ignorable="d" d:DesignWidth="800"
d:DesignHeight="450" x:Class="Aaru.Gui.Views.Windows.MediaDump" Icon="/Assets/aaru-logo.png"
xmlns:windows="clr-namespace:Aaru.Gui.ViewModels.Windows"
mc:Ignorable="d"
d:DesignWidth="800"
d:DesignHeight="450"
x:Class="Aaru.Gui.Views.Windows.MediaDump"
Icon="/Assets/aaru-logo.png"
Title="{Binding Title}">
<Design.DataContext>
<windows:MediaDumpViewModel />
</Design.DataContext>
<StackPanel Orientation="Vertical">
<StackPanel Orientation="Vertical" IsVisible="{Binding OptionsVisible}">
<StackPanel Orientation="Vertical"
IsVisible="{Binding OptionsVisible}">
<TextBlock Text="{Binding OutputFormatLabel}" />
<ComboBox ItemsSource="{Binding PluginsList}" SelectedItem="{Binding SelectedPlugin}"
<ComboBox ItemsSource="{Binding PluginsList}"
SelectedItem="{Binding SelectedPlugin}"
IsEnabled="{Binding FormatReadOnly}">
<ComboBox.ItemTemplate>
<DataTemplate>
@@ -52,8 +59,10 @@
</ComboBox.ItemTemplate>
</ComboBox>
<StackPanel Orientation="Horizontal">
<TextBox Text="{Binding Destination}" IsReadOnly="True" />
<Button Command="{Binding DestinationCommand}" IsEnabled="{Binding DestinationEnabled}">
<TextBox Text="{Binding Destination}"
IsReadOnly="True" />
<Button Command="{Binding DestinationCommand}"
IsEnabled="{Binding DestinationEnabled}">
<TextBlock Text="{Binding ChooseLabel}" />
</Button>
</StackPanel>
@@ -63,17 +72,24 @@
<CheckBox IsChecked="{Binding Force}">
<TextBlock Text="{Binding ForceLabel}" />
</CheckBox>
<NumericUpDown Text="{Binding RetriesLabel}" Value="{Binding Retries}" Increment="1" Minimum="0" />
<NumericUpDown Text="{Binding RetriesLabel}"
Value="{Binding Retries}"
Increment="1"
Minimum="0" />
<CheckBox IsChecked="{Binding Persistent}">
<TextBlock Text="{Binding PersistentLabel}" />
</CheckBox>
<CheckBox IsChecked="{Binding Resume}">
<TextBlock Text="{Binding ResumeLabel}" />
</CheckBox>
<CheckBox IsChecked="{Binding Track1Pregap}" IsVisible="{Binding Track1PregapVisible}">
<CheckBox IsChecked="{Binding Track1Pregap}"
IsVisible="{Binding Track1PregapVisible}">
<TextBlock Text="{Binding Track1PregapLabel}" />
</CheckBox>
<NumericUpDown Text="{Binding SkippedLabel}" Increment="1" Minimum="1" Value="{Binding Skipped}" />
<NumericUpDown Text="{Binding SkippedLabel}"
Increment="1"
Minimum="1"
Value="{Binding Skipped}" />
<CheckBox IsChecked="{Binding Sidecar}">
<TextBlock Text="{Binding SidecarLabel}" />
</CheckBox>
@@ -85,7 +101,8 @@
</CheckBox>
<StackPanel IsVisible="{Binding EncodingVisible}">
<TextBox Text="{Binding EncodingLabel}" />
<ComboBox ItemsSource="{Binding Encodings}" SelectedItem="{Binding SelectedEncoding}"
<ComboBox ItemsSource="{Binding Encodings}"
SelectedItem="{Binding SelectedEncoding}"
IsEnabled="{Binding EncodingEnabled}">
<ComboBox.ItemTemplate>
<DataTemplate>
@@ -96,30 +113,41 @@
</StackPanel>
<!-- TODO: Image options -->
</StackPanel>
<StackPanel Orientation="Vertical" IsVisible="{Binding ProgressVisible}">
<StackPanel Orientation="Vertical"
IsVisible="{Binding ProgressVisible}">
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding DestinationLabel}" /> <TextBlock Text="{Binding Destination}" />
</StackPanel>
<TextBlock Text="{Binding LogLabel}" /> <TextBox Text="{Binding Log}" IsReadOnly="True" />
<StackPanel Orientation="Vertical" IsVisible="{Binding Progress1Visible}">
<TextBlock Text="{Binding LogLabel}" />
<TextBox Text="{Binding Log}"
IsReadOnly="True" />
<StackPanel Orientation="Vertical"
IsVisible="{Binding Progress1Visible}">
<TextBox Text="{Binding ProgressText}" />
<ProgressBar Value="{Binding ProgressValue}" Maximum="{Binding ProgressMaxValue}"
<ProgressBar Value="{Binding ProgressValue}"
Maximum="{Binding ProgressMaxValue}"
IsIndeterminate="{Binding ProgressIndeterminate}" />
</StackPanel>
<StackPanel Orientation="Vertical" IsVisible="{Binding Progress2Visible}">
<StackPanel Orientation="Vertical"
IsVisible="{Binding Progress2Visible}">
<TextBox Text="{Binding Progress2Text}" />
<ProgressBar Value="{Binding Progress2Value}" Maximum="{Binding Progress2MaxValue}"
<ProgressBar Value="{Binding Progress2Value}"
Maximum="{Binding Progress2MaxValue}"
IsIndeterminate="{Binding Progress2Indeterminate}" />
</StackPanel>
</StackPanel>
<StackPanel Orientation="Horizontal">
<Button Command="{Binding StartCommand}" IsVisible="{Binding StartVisible}">
<Button Command="{Binding StartCommand}"
IsVisible="{Binding StartVisible}">
<TextBlock Text="{Binding StartLabel}" />
</Button>
<Button Command="{Binding CloseCommand}" IsVisible="{Binding CloseVisible}">
<Button Command="{Binding CloseCommand}"
IsVisible="{Binding CloseVisible}">
<TextBlock Text="{Binding CloseLabel}" />
</Button>
<Button Command="{Binding StopCommand}" IsVisible="{Binding StopVisible}" IsEnabled="{Binding StopEnabled}">
<Button Command="{Binding StopCommand}"
IsVisible="{Binding StopVisible}"
IsEnabled="{Binding StopEnabled}">
<TextBlock Text="{Binding StopLabel}" />
</Button>
</StackPanel>

View File

@@ -42,9 +42,9 @@ public sealed class MediaDump : Window
public MediaDump()
{
InitializeComponent();
#if DEBUG
#if DEBUG
this.AttachDevTools();
#endif
#endif
}
void InitializeComponent() => AvaloniaXamlLoader.Load(this);

View File

@@ -31,12 +31,17 @@
// Copyright © 20112023 Natalia Portillo
// ****************************************************************************/
-->
<Window xmlns="https://github.com/avaloniaui" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
<Window 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:windows="clr-namespace:Aaru.Gui.ViewModels.Windows" mc:Ignorable="d" d:DesignWidth="800"
xmlns:windows="clr-namespace:Aaru.Gui.ViewModels.Windows"
mc:Ignorable="d"
d:DesignWidth="800"
d:DesignHeight="450"
x:Class="Aaru.Gui.Views.Windows.MediaScan" Icon="/Assets/aaru-logo.png" Title="{Binding Title}">
x:Class="Aaru.Gui.Views.Windows.MediaScan"
Icon="/Assets/aaru-logo.png"
Title="{Binding Title}">
<Design.DataContext>
<windows:MediaScanViewModel />
</Design.DataContext>
@@ -49,11 +54,16 @@
<StackPanel Orientation="Vertical">
<TextBlock Text="{Binding A}" /> <TextBlock Text="{Binding B}" /> <TextBlock Text="{Binding C}" />
<TextBlock Text="{Binding D}" /> <TextBlock Text="{Binding E}" /> <TextBlock Text="{Binding F}" />
<TextBlock Text="{Binding UnreadableSectors}" IsVisible="{Binding !!UnreadableSectors}" />
<TextBlock Text="{Binding TotalTime}" IsVisible="{Binding !!TotalTime}" />
<TextBlock Text="{Binding AvgSpeed}" IsVisible="{Binding !!AvgSpeed}" />
<TextBlock Text="{Binding MaxSpeed}" IsVisible="{Binding !!MaxSpeed}" />
<TextBlock Text="{Binding MinSpeed}" IsVisible="{Binding !!MinSpeed}" />
<TextBlock Text="{Binding UnreadableSectors}"
IsVisible="{Binding !!UnreadableSectors}" />
<TextBlock Text="{Binding TotalTime}"
IsVisible="{Binding !!TotalTime}" />
<TextBlock Text="{Binding AvgSpeed}"
IsVisible="{Binding !!AvgSpeed}" />
<TextBlock Text="{Binding MaxSpeed}"
IsVisible="{Binding !!MaxSpeed}" />
<TextBlock Text="{Binding MinSpeed}"
IsVisible="{Binding !!MinSpeed}" />
</StackPanel>
</TabItem>
<TabItem>
@@ -85,21 +95,28 @@
-->
</TabItem>
</TabControl>
<StackPanel Orientation="Vertical" IsVisible="{Binding ProgressVisible}">
<StackPanel Orientation="Vertical" IsVisible="{Binding Progress1Visible}">
<StackPanel Orientation="Vertical"
IsVisible="{Binding ProgressVisible}">
<StackPanel Orientation="Vertical"
IsVisible="{Binding Progress1Visible}">
<TextBlock Text="{Binding ProgressText}" />
<ProgressBar Maximum="{Binding ProgressMaxValue}" IsIndeterminate="{Binding ProgressIndeterminate}"
<ProgressBar Maximum="{Binding ProgressMaxValue}"
IsIndeterminate="{Binding ProgressIndeterminate}"
Value="{Binding ProgressValue}" />
</StackPanel>
</StackPanel>
<StackPanel Orientation="Horizontal">
<Button Command="{Binding StartCommand}" IsVisible="{Binding StartVisible}">
<Button Command="{Binding StartCommand}"
IsVisible="{Binding StartVisible}">
<TextBlock Text="{Binding StartLabel}" />
</Button>
<Button Command="{Binding CloseCommand}" IsVisible="{Binding CloseVisible}">
<Button Command="{Binding CloseCommand}"
IsVisible="{Binding CloseVisible}">
<TextBlock Text="{Binding CloseLabel}" />
</Button>
<Button Command="{Binding StopCommand}" IsVisible="{Binding StopVisible}" IsEnabled="{Binding StopEnabled}">
<Button Command="{Binding StopCommand}"
IsVisible="{Binding StopVisible}"
IsEnabled="{Binding StopEnabled}">
<TextBlock Text="{Binding StopLabel}" />
</Button>
</StackPanel>

View File

@@ -42,9 +42,9 @@ public sealed class MediaScan : Window
public MediaScan()
{
InitializeComponent();
#if DEBUG
#if DEBUG
this.AttachDevTools();
#endif
#endif
}
void InitializeComponent() => AvaloniaXamlLoader.Load(this);

View File

@@ -31,11 +31,17 @@
// Copyright © 20112023 Natalia Portillo
// ****************************************************************************/
-->
<Window xmlns="https://github.com/avaloniaui" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
<Window 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:windows="clr-namespace:Aaru.Gui.ViewModels.Windows" mc:Ignorable="d" d:DesignWidth="800"
d:DesignHeight="450" x:Class="Aaru.Gui.Views.Windows.SplashWindow" Icon="/Assets/aaru-logo.png" Title="Aaru"
xmlns:windows="clr-namespace:Aaru.Gui.ViewModels.Windows"
mc:Ignorable="d"
d:DesignWidth="800"
d:DesignHeight="450"
x:Class="Aaru.Gui.Views.Windows.SplashWindow"
Icon="/Assets/aaru-logo.png"
Title="Aaru"
SystemDecorations="BorderOnly">
<Design.DataContext>
<windows:SplashWindowViewModel />
@@ -44,9 +50,19 @@
<Grid.RowDefinitions>
<RowDefinition Height="*" /> <RowDefinition Height="Auto" /> <RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Image Source="/Assets/aaru-logo.png" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Grid.Row="0" />
<TextBlock Text="{Binding Message}" HorizontalAlignment="Center" VerticalAlignment="Center" Grid.Row="1" />
<ProgressBar Maximum="{Binding MaxProgress}" Minimum="0" Value="{Binding CurrentProgress}"
HorizontalAlignment="Stretch" VerticalAlignment="Bottom" Grid.Row="2" />
<Image Source="/Assets/aaru-logo.png"
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"
Grid.Row="0" />
<TextBlock Text="{Binding Message}"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Grid.Row="1" />
<ProgressBar Maximum="{Binding MaxProgress}"
Minimum="0"
Value="{Binding CurrentProgress}"
HorizontalAlignment="Stretch"
VerticalAlignment="Bottom"
Grid.Row="2" />
</Grid>
</Window>

View File

@@ -43,9 +43,9 @@ public sealed class SplashWindow : Window
public SplashWindow()
{
InitializeComponent();
#if DEBUG
#if DEBUG
this.AttachDevTools();
#endif
#endif
}
void InitializeComponent() => AvaloniaXamlLoader.Load(this);

View File

@@ -31,12 +31,20 @@
// Copyright © 20112023 Natalia Portillo
// ****************************************************************************/
-->
<Window xmlns="https://github.com/avaloniaui" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
<Window 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:windows="clr-namespace:Aaru.Gui.ViewModels.Windows" mc:Ignorable="d" d:DesignWidth="800"
d:DesignHeight="450" Width="480" Height="320" x:Class="Aaru.Gui.Views.Windows.ViewSector"
Icon="/Assets/aaru-logo.png" CanResize="False" Title="{Binding Title}">
xmlns:windows="clr-namespace:Aaru.Gui.ViewModels.Windows"
mc:Ignorable="d"
d:DesignWidth="800"
d:DesignHeight="450"
Width="480"
Height="320"
x:Class="Aaru.Gui.Views.Windows.ViewSector"
Icon="/Assets/aaru-logo.png"
CanResize="False"
Title="{Binding Title}">
<Design.DataContext>
<windows:ViewSectorViewModel />
</Design.DataContext>
@@ -45,9 +53,11 @@
<TextBlock Text="{Binding SectorLabel}" /> <NumericUpDown Value="{Binding SectorNumber}" />
<TextBlock Text="{Binding TotalSectorsText}" />
</StackPanel>
<CheckBox IsChecked="{Binding LongSectorChecked}" IsVisible="{Binding LongSectorVisible}">
<CheckBox IsChecked="{Binding LongSectorChecked}"
IsVisible="{Binding LongSectorVisible}">
<TextBlock Text="{Binding LongSectorLabel}" />
</CheckBox>
<TextBox IsReadOnly="True" Text="{Binding PrintHexText}" />
<TextBox IsReadOnly="True"
Text="{Binding PrintHexText}" />
</StackPanel>
</Window>

View File

@@ -41,9 +41,9 @@ public sealed class ViewSector : Window
public ViewSector()
{
InitializeComponent();
#if DEBUG
#if DEBUG
this.AttachDevTools();
#endif
#endif
}
void InitializeComponent() => AvaloniaXamlLoader.Load(this);