mirror of
https://github.com/aaru-dps/Aaru.git
synced 2025-12-16 19:24:25 +00:00
[GUI] Reorganize media dump window.
This commit is contained in:
@@ -37,9 +37,12 @@
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:windows="clr-namespace:Aaru.Gui.ViewModels.Windows"
|
||||
xmlns:localization="clr-namespace:Aaru.Localization;assembly=Aaru.Localization"
|
||||
xmlns:controls="clr-namespace:Aaru.Gui.Controls"
|
||||
mc:Ignorable="d"
|
||||
d:DesignWidth="800"
|
||||
d:DesignHeight="450"
|
||||
Width="650"
|
||||
Height="900"
|
||||
x:Class="Aaru.Gui.Views.Windows.MediaDump"
|
||||
Icon="/Assets/aaru-logo.png"
|
||||
x:DataType="windows:MediaDumpViewModel"
|
||||
@@ -47,112 +50,161 @@
|
||||
<Design.DataContext>
|
||||
<windows:MediaDumpViewModel />
|
||||
</Design.DataContext>
|
||||
<StackPanel Orientation="Vertical">
|
||||
<StackPanel Orientation="Vertical"
|
||||
IsVisible="{Binding OptionsVisible}">
|
||||
<TextBlock Text="{x:Static localization:UI.Output_format}" />
|
||||
<ComboBox ItemsSource="{Binding PluginsList}"
|
||||
SelectedItem="{Binding SelectedPlugin}"
|
||||
IsEnabled="{Binding FormatReadOnly}">
|
||||
<ComboBox.ItemTemplate>
|
||||
<DataTemplate>
|
||||
<TextBlock Text="{Binding Name}" />
|
||||
</DataTemplate>
|
||||
</ComboBox.ItemTemplate>
|
||||
</ComboBox>
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<TextBox Text="{Binding Destination}"
|
||||
IsReadOnly="True" />
|
||||
<Button Command="{Binding DestinationCommand}"
|
||||
IsEnabled="{Binding DestinationEnabled}">
|
||||
<TextBlock Text="{x:Static localization:UI.ButtonLabel_Choose}" />
|
||||
</Button>
|
||||
</StackPanel>
|
||||
<CheckBox IsChecked="{Binding StopOnError}">
|
||||
<TextBlock Text="{x:Static localization:UI.Stop_media_dump_on_first_error}" />
|
||||
</CheckBox>
|
||||
<CheckBox IsChecked="{Binding Force}">
|
||||
<TextBlock Text="{x:Static localization:UI.Continue_dumping_whatever_happens}" />
|
||||
</CheckBox>
|
||||
<NumericUpDown Text="{x:Static localization:UI.Retry_passes}"
|
||||
Value="{Binding Retries}"
|
||||
Increment="1"
|
||||
Minimum="0" />
|
||||
<CheckBox IsChecked="{Binding Persistent}">
|
||||
<TextBlock Text="{x:Static localization:UI.Try_to_recover_partial_or_incorrect_data}" />
|
||||
</CheckBox>
|
||||
<CheckBox IsChecked="{Binding Resume}">
|
||||
<TextBlock Text="{x:Static localization:UI.Create_or_use_resume_mapfile}" />
|
||||
</CheckBox>
|
||||
<CheckBox IsChecked="{Binding Track1Pregap}"
|
||||
IsVisible="{Binding Track1PregapVisible}">
|
||||
<TextBlock Text="{x:Static localization:UI.Try_to_read_track_1_pregap}" />
|
||||
</CheckBox>
|
||||
<NumericUpDown Text="{x:Static localization:UI.Skipped_sectors_on_error}"
|
||||
Increment="1"
|
||||
Minimum="1"
|
||||
Value="{Binding Skipped}" />
|
||||
<CheckBox IsChecked="{Binding Sidecar}">
|
||||
<TextBlock Text="{x:Static localization:UI.Create_Aaru_Metadata_sidecar}" />
|
||||
</CheckBox>
|
||||
<CheckBox IsChecked="{Binding Trim}">
|
||||
<TextBlock Text="{x:Static localization:UI.Trim_errors_from_skipped_sectors}" />
|
||||
</CheckBox>
|
||||
<CheckBox IsChecked="{Binding ExistingMetadata}">
|
||||
<TextBlock Text="{x:Static localization:UI.Take_metadata_from_existing_CICM_XML_sidecar}" />
|
||||
</CheckBox>
|
||||
<StackPanel IsVisible="{Binding EncodingVisible}">
|
||||
<TextBox Text="{x:Static localization:UI.Encoding_to_use_on_metadata_sidecar_creation}" />
|
||||
<ComboBox ItemsSource="{Binding Encodings}"
|
||||
SelectedItem="{Binding SelectedEncoding}"
|
||||
IsEnabled="{Binding EncodingEnabled}">
|
||||
<Grid Margin="12"
|
||||
RowSpacing="8"
|
||||
RowDefinitions="*, Auto, Auto">
|
||||
<StackPanel Grid.Row="0"
|
||||
Orientation="Vertical"
|
||||
IsVisible="{Binding OptionsVisible, Mode=OneWay}"
|
||||
Spacing="8">
|
||||
<Grid ColumnDefinitions="Auto, *"
|
||||
ColumnSpacing="8">
|
||||
<TextBlock Grid.Column="0"
|
||||
Text="{x:Static localization:UI.Output_format}"
|
||||
VerticalAlignment="Center" />
|
||||
<ComboBox Grid.Column="1"
|
||||
ItemsSource="{Binding PluginsList, Mode=OneWay}"
|
||||
SelectedItem="{Binding SelectedPlugin, Mode=TwoWay}"
|
||||
HorizontalAlignment="Stretch"
|
||||
IsEnabled="{Binding FormatReadOnly, Mode=OneWay}">
|
||||
<ComboBox.ItemTemplate>
|
||||
<DataTemplate>
|
||||
<TextBlock Text="{Binding Name}" />
|
||||
<TextBlock Text="{Binding Name, Mode=OneWay}" />
|
||||
</DataTemplate>
|
||||
</ComboBox.ItemTemplate>
|
||||
</ComboBox>
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
<Grid ColumnDefinitions="Auto, *"
|
||||
ColumnSpacing="8">
|
||||
<Button Grid.Column="0"
|
||||
Command="{Binding DestinationCommand, Mode=OneWay}"
|
||||
IsEnabled="{Binding DestinationEnabled, Mode=OneWay}">
|
||||
<TextBlock Text="{x:Static localization:UI.ButtonLabel_Choose}" />
|
||||
</Button>
|
||||
<TextBox Grid.Column="1"
|
||||
Text="{Binding Destination, Mode=OneWay}"
|
||||
IsReadOnly="True" />
|
||||
</Grid>
|
||||
<CheckBox IsChecked="{Binding StopOnError, Mode=TwoWay}">
|
||||
<TextBlock Text="{x:Static localization:UI.Stop_media_dump_on_first_error}" />
|
||||
</CheckBox>
|
||||
<CheckBox IsChecked="{Binding Force, Mode=TwoWay}">
|
||||
<TextBlock Text="{x:Static localization:UI.Continue_dumping_whatever_happens}" />
|
||||
</CheckBox>
|
||||
<Grid ColumnDefinitions="Auto, *"
|
||||
ColumnSpacing="8">
|
||||
<TextBlock Grid.Column="0"
|
||||
Text="{x:Static localization:UI.Retry_passes}"
|
||||
VerticalAlignment="Center" />
|
||||
<NumericUpDown Grid.Column="1"
|
||||
HorizontalAlignment="Stretch"
|
||||
Value="{Binding Retries, Mode=TwoWay}"
|
||||
Increment="1"
|
||||
Minimum="0" />
|
||||
</Grid>
|
||||
<CheckBox IsChecked="{Binding Persistent, Mode=TwoWay}">
|
||||
<TextBlock Text="{x:Static localization:UI.Try_to_recover_partial_or_incorrect_data}" />
|
||||
</CheckBox>
|
||||
<CheckBox IsChecked="{Binding Resume, Mode=TwoWay}">
|
||||
<TextBlock Text="{x:Static localization:UI.Create_or_use_resume_mapfile}" />
|
||||
</CheckBox>
|
||||
<CheckBox IsChecked="{Binding Track1Pregap, Mode=TwoWay}"
|
||||
IsVisible="{Binding Track1PregapVisible, Mode=OneWay}">
|
||||
<TextBlock Text="{x:Static localization:UI.Try_to_read_track_1_pregap}" />
|
||||
</CheckBox>
|
||||
<Grid ColumnDefinitions="Auto, *"
|
||||
ColumnSpacing="8">
|
||||
<TextBlock Grid.Column="0"
|
||||
Text="{x:Static localization:UI.Skipped_sectors_on_error}"
|
||||
VerticalAlignment="Center" />
|
||||
<NumericUpDown Grid.Column="1"
|
||||
Increment="1"
|
||||
Minimum="1"
|
||||
HorizontalAlignment="Stretch"
|
||||
Value="{Binding Skipped, Mode=TwoWay}" />
|
||||
</Grid>
|
||||
<CheckBox IsChecked="{Binding Sidecar, Mode=TwoWay}">
|
||||
<TextBlock Text="{x:Static localization:UI.Create_Aaru_Metadata_sidecar}" />
|
||||
</CheckBox>
|
||||
<CheckBox IsChecked="{Binding Trim, Mode=TwoWay}">
|
||||
<TextBlock Text="{x:Static localization:UI.Trim_errors_from_skipped_sectors}" />
|
||||
</CheckBox>
|
||||
<CheckBox IsChecked="{Binding ExistingMetadata, Mode=TwoWay}">
|
||||
<TextBlock Text="{x:Static localization:UI.Take_metadata_from_existing_CICM_XML_sidecar}" />
|
||||
</CheckBox>
|
||||
<Grid ColumnDefinitions="Auto, *"
|
||||
IsVisible="{Binding EncodingVisible, Mode=OneWay}"
|
||||
ColumnSpacing="8">
|
||||
<TextBox Grid.Column="0"
|
||||
Text="{x:Static localization:UI.Encoding_to_use_on_metadata_sidecar_creation}" />
|
||||
<ComboBox Grid.Column="1"
|
||||
ItemsSource="{Binding Encodings, Mode=OneWay}"
|
||||
SelectedItem="{Binding SelectedEncoding, Mode=TwoWay}"
|
||||
IsEnabled="{Binding EncodingEnabled, Mode=OneWay}">
|
||||
<ComboBox.ItemTemplate>
|
||||
<DataTemplate>
|
||||
<TextBlock Text="{Binding Name, Mode=OneWay}" />
|
||||
</DataTemplate>
|
||||
</ComboBox.ItemTemplate>
|
||||
</ComboBox>
|
||||
</Grid>
|
||||
<!-- TODO: Image options -->
|
||||
</StackPanel>
|
||||
<StackPanel Orientation="Vertical"
|
||||
IsVisible="{Binding ProgressVisible}">
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<TextBlock Text="{x:Static localization:UI.Writing_image_to}" />
|
||||
<TextBlock Text="{Binding Destination}" />
|
||||
</StackPanel>
|
||||
<StackPanel Grid.Row="1"
|
||||
Orientation="Vertical"
|
||||
IsVisible="{Binding ProgressVisible, Mode=OneWay}"
|
||||
Spacing="8">
|
||||
<Grid ColumnDefinitions="Auto, *"
|
||||
ColumnSpacing="8">
|
||||
<TextBlock Grid.Column="0"
|
||||
Text="{x:Static localization:UI.Writing_image_to}" />
|
||||
<TextBlock Grid.Column="1"
|
||||
Text="{Binding Destination, Mode=OneWay}" />
|
||||
</Grid>
|
||||
<TextBlock Text="{x:Static localization:UI.Title_Log}" />
|
||||
<TextBox Text="{Binding Log}"
|
||||
IsReadOnly="True" />
|
||||
<Border MinHeight="475"
|
||||
BorderThickness="1"
|
||||
BorderBrush="LightGray"
|
||||
CornerRadius="8">
|
||||
<ScrollViewer Padding="8">
|
||||
<controls:SpectreTextBlock TextWrapping="Wrap"
|
||||
Text="{Binding Log, Mode=OneWay}" />
|
||||
</ScrollViewer>
|
||||
</Border>
|
||||
<StackPanel Orientation="Vertical"
|
||||
IsVisible="{Binding Progress1Visible}">
|
||||
<TextBox Text="{Binding ProgressText}" />
|
||||
<ProgressBar Value="{Binding ProgressValue}"
|
||||
Maximum="{Binding ProgressMaxValue}"
|
||||
IsIndeterminate="{Binding ProgressIndeterminate}" />
|
||||
IsVisible="{Binding Progress1Visible, Mode=OneWay}"
|
||||
Spacing="8">
|
||||
<controls:SpectreTextBlock Text="{Binding ProgressText, Mode=OneWay}" />
|
||||
<ProgressBar Value="{Binding ProgressValue, Mode=OneWay}"
|
||||
Maximum="{Binding ProgressMaxValue, Mode=OneWay}"
|
||||
IsIndeterminate="{Binding ProgressIndeterminate, Mode=OneWay}" />
|
||||
</StackPanel>
|
||||
<StackPanel Orientation="Vertical"
|
||||
IsVisible="{Binding Progress2Visible}">
|
||||
<TextBox Text="{Binding Progress2Text}" />
|
||||
<ProgressBar Value="{Binding Progress2Value}"
|
||||
Maximum="{Binding Progress2MaxValue}"
|
||||
IsIndeterminate="{Binding Progress2Indeterminate}" />
|
||||
IsVisible="{Binding Progress2Visible, Mode=OneWay}"
|
||||
Spacing="8">
|
||||
<controls:SpectreTextBlock Text="{Binding Progress2Text, Mode=OneWay}" />
|
||||
<ProgressBar Value="{Binding Progress2Value, Mode=OneWay}"
|
||||
Maximum="{Binding Progress2MaxValue, Mode=OneWay}"
|
||||
IsIndeterminate="{Binding Progress2Indeterminate, Mode=OneWay}" />
|
||||
</StackPanel>
|
||||
</StackPanel>
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<Button Command="{Binding StartCommand}"
|
||||
IsVisible="{Binding StartVisible}">
|
||||
<StackPanel Grid.Row="2"
|
||||
Orientation="Horizontal"
|
||||
HorizontalAlignment="Right"
|
||||
Spacing="8">
|
||||
<Button Command="{Binding StartCommand, Mode=OneWay}"
|
||||
IsVisible="{Binding StartVisible, Mode=OneWay}">
|
||||
<TextBlock Text="{x:Static localization:UI.ButtonLabel_Start}" />
|
||||
</Button>
|
||||
<Button Command="{Binding CloseCommand}"
|
||||
IsVisible="{Binding CloseVisible}">
|
||||
<Button Command="{Binding CloseCommand, Mode=OneWay}"
|
||||
IsVisible="{Binding CloseVisible, Mode=OneWay}">
|
||||
<TextBlock Text="{x:Static localization:UI.ButtonLabel_Close}" />
|
||||
</Button>
|
||||
<Button Command="{Binding StopCommand}"
|
||||
IsVisible="{Binding StopVisible}"
|
||||
IsEnabled="{Binding StopEnabled}">
|
||||
<Button Command="{Binding StopCommand, Mode=OneWay}"
|
||||
IsVisible="{Binding StopVisible, Mode=OneWay}"
|
||||
IsEnabled="{Binding StopEnabled, Mode=OneWay}">
|
||||
<TextBlock Text="{x:Static localization:UI.ButtonLabel_Stop}" />
|
||||
</Button>
|
||||
</StackPanel>
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
</Window>
|
||||
Reference in New Issue
Block a user