splitter/Splitter-UI/Views/InspectorPane.axaml

157 lines
6.8 KiB
XML

<UserControl
xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="Splitter_UI.Views.InspectorPane"
xmlns:vm="clr-namespace:Splitter_UI.ViewModels"
x:DataType="vm:InspectorPaneViewModel">
<Border Background="#252525" Padding="12">
<ScrollViewer>
<StackPanel Spacing="2">
<TextBlock Text="Parameters" FontSize="10" Margin="0,0,0,10" FontWeight="Bold"/>
<!-- InputFile -->
<StackPanel Orientation="Horizontal" Spacing="8">
<TextBlock Text="{Binding Selected.FileName}" Width="360" Margin="0,0,0,10" FontStyle="Italic"/>
</StackPanel>
<!-- Rotate -->
<StackPanel Orientation="Horizontal" Spacing="8">
<TextBlock Text="Rotate" Width="120"/>
<StackPanel Orientation="Horizontal" Spacing="4">
<Button Width="24" Height="24"
Padding="0"
Command="{Binding RotateLeftCommand}">
<TextBlock FontFamily="{StaticResource FontAwesome}"
Text="&#xf2ea;"
FontSize="12"
VerticalAlignment="Center"
HorizontalAlignment="Center"
Margin="0,-1,0,0"/>
</Button>
<Button Width="24" Height="24"
Padding="0"
Command="{Binding RotateRightCommand}">
<TextBlock FontFamily="{StaticResource FontAwesome}"
Text="&#xf2f9;"
FontSize="12"
VerticalAlignment="Center"
HorizontalAlignment="Center"
Margin="0,-1,0,0"/>
</Button>
<!-- Angle display -->
<TextBlock Text="{Binding Selected.Rotate}"
Width="40"
HorizontalAlignment="Center"
VerticalAlignment="Center"/>
</StackPanel>
</StackPanel>
<!-- Mask -->
<StackPanel Orientation="Horizontal" Spacing="8">
<TextBlock Text="Mask" Width="120"/>
<TextBox Text="{Binding Selected.Job.Mask}" Width="260"/>
</StackPanel>
<!-- OutputFolder -->
<StackPanel Orientation="Horizontal" Spacing="8">
<TextBlock Text="Output Folder" Width="120"/>
<TextBox Text="{Binding Selected.Job.OutputFolder}" Width="260"/>
</StackPanel>
<!-- Crop -->
<StackPanel Orientation="Horizontal" Spacing="8">
<TextBlock Text="Crop (w,h)" Width="120"/>
<TextBox Text="{Binding Selected.CropText}" Width="160"/>
</StackPanel>
<!-- GravitateTo -->
<StackPanel Orientation="Horizontal" Spacing="8">
<TextBlock Text="GravitateTo" Width="120"/>
<TextBox Text="{Binding Selected.GravitateText}" Width="160"/>
</StackPanel>
<!-- Detect -->
<StackPanel Orientation="Horizontal" Spacing="8">
<TextBlock Text="Detect" Width="120"/>
<ComboBox ItemsSource="{Binding DetectModes}"
SelectedItem="{Binding Selected.Job.Detect}"
Width="160"/>
</StackPanel>
<!-- OverrideTargetDuration -->
<StackPanel Orientation="Horizontal" Spacing="8">
<TextBlock Text="Target Duration" Width="120"/>
<NumericUpDown Value="{Binding Selected.Job.OverrideTargetDuration}" Width="120"/>
</StackPanel>
<!-- RotateAuto -->
<CheckBox Content="Rotate Auto"
IsChecked="{Binding Selected.Job.RotateAuto}"/>
<!-- ForceFixed -->
<CheckBox Content="Force Fixed Duration"
IsChecked="{Binding Selected.Job.ForceFixed}"/>
<!-- SingleThreaded -->
<CheckBox Content="Single Threaded"
IsChecked="{Binding Selected.Job.SingleThreaded}"/>
<!-- Debug -->
<CheckBox Content="Debug Mode"
IsChecked="{Binding Selected.Job.Debug}"/>
<!-- Parameters dictionary -->
<TextBlock Text="Advanced Parameters" FontSize="10" Margin="0,10,0,0" FontWeight="Bold"/>
<DataGrid ItemsSource="{Binding Selected.ParametersList}"
AutoGenerateColumns="False"
HeadersVisibility="Column"
Height="160">
<DataGrid.Columns>
<DataGridTextColumn Header="Key"
Binding="{Binding Key}"
Width="*"/>
<DataGridTemplateColumn Header="Value" Width="2*">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Value}"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
<DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<TextBox Text="{Binding Value, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>
</DataTemplate>
</DataGridTemplateColumn.CellEditingTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
<!-- Passthrough -->
<StackPanel Orientation="Horizontal" Spacing="8">
<TextBlock Text="Passthrough" Width="120"/>
<TextBox Text="{Binding Selected.PassthroughText}" Width="260"/>
</StackPanel>
<Button Content="Apply to Selected"
Command="{Binding ApplyOverridesCommand}"
HorizontalAlignment="Right"
Margin="0,10,0,0"/>
</StackPanel>
</ScrollViewer>
</Border>
</UserControl>