- Unify audio/subtitle selection: single-select, auto-default, cross-file propagation by exact name - Show file size in queue, group divider and reordered columns in track table, drop accent highlight on row selection - Add cumulative progress bar (files finished, MB copied) to the stripping window - Add Windows toast notifications on stripping completion/cancel/error - Restart the app after settings are changed; Cancel no longer clears the queue, only closes the window - Add ConfigureAwait(false) throughout MkvService so concurrent strips don't starve the UI thread - Hardcode scan/strip concurrency (10/5) instead of exposing it in Settings
72 lines
3.3 KiB
XML
72 lines
3.3 KiB
XML
<ui:FluentWindow x:Class="Futonizer.Views.SettingsWindow"
|
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
xmlns:ui="http://schemas.lepo.co/wpfui/2022/xaml"
|
|
Title="Settings"
|
|
Height="320" Width="540"
|
|
MinHeight="320" MinWidth="540"
|
|
ResizeMode="NoResize"
|
|
WindowStartupLocation="CenterOwner"
|
|
ExtendsContentIntoTitleBar="True"
|
|
WindowBackdropType="Mica"
|
|
WindowCornerPreference="Round">
|
|
<Grid>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="Auto"/>
|
|
<RowDefinition Height="*"/>
|
|
</Grid.RowDefinitions>
|
|
|
|
<ui:TitleBar Grid.Row="0" Title="Settings"/>
|
|
|
|
<Grid Grid.Row="1" Margin="20,8,20,16">
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="Auto"/>
|
|
<RowDefinition Height="Auto"/>
|
|
<RowDefinition Height="Auto"/>
|
|
<RowDefinition Height="Auto"/>
|
|
<RowDefinition Height="*"/>
|
|
<RowDefinition Height="Auto"/>
|
|
</Grid.RowDefinitions>
|
|
|
|
<!-- mkvmerge path -->
|
|
<TextBlock Grid.Row="0" Text="mkvmerge.exe path" FontSize="12" Opacity="0.7" Margin="0,0,0,4"/>
|
|
<Grid Grid.Row="1" Margin="0,0,0,14">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="*"/>
|
|
<ColumnDefinition Width="Auto"/>
|
|
</Grid.ColumnDefinitions>
|
|
<ui:TextBox x:Name="MkvMergePathBox" Grid.Column="0" Margin="0,0,8,0"
|
|
PlaceholderText="Path to mkvmerge.exe"/>
|
|
<ui:Button x:Name="BrowseMkvMergeButton" Grid.Column="1" Content="Browse..." Width="100"
|
|
Click="BrowseMkvMergeButton_Click"/>
|
|
</Grid>
|
|
|
|
<!-- Output folder -->
|
|
<TextBlock Grid.Row="2" Text="Output folder (optional — blank overwrites files in place)" FontSize="12" Opacity="0.7" Margin="0,0,0,4"/>
|
|
<Grid Grid.Row="3" Margin="0,0,0,14">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="*"/>
|
|
<ColumnDefinition Width="Auto"/>
|
|
</Grid.ColumnDefinitions>
|
|
<ui:TextBox x:Name="OutputFolderBox" Grid.Column="0" Margin="0,0,8,0"
|
|
PlaceholderText="Leave blank to overwrite original files"/>
|
|
<ui:Button x:Name="BrowseOutputFolderButton" Grid.Column="1" Content="Browse..." Width="100"
|
|
Click="BrowseOutputFolderButton_Click"/>
|
|
</Grid>
|
|
|
|
<!-- History -->
|
|
<ui:Button x:Name="ViewHistoryButton" Grid.Row="4" Content="View History..."
|
|
HorizontalAlignment="Left" Appearance="Secondary"
|
|
Click="ViewHistoryButton_Click"/>
|
|
|
|
<!-- Buttons -->
|
|
<StackPanel Grid.Row="6" Orientation="Horizontal" HorizontalAlignment="Right">
|
|
<ui:Button x:Name="CancelButton" Content="Cancel" Width="90" Margin="0,0,10,0"
|
|
Appearance="Secondary" Click="CancelButton_Click"/>
|
|
<ui:Button x:Name="SaveButton" Content="Save" Width="90"
|
|
Appearance="Primary" Click="SaveButton_Click"/>
|
|
</StackPanel>
|
|
</Grid>
|
|
</Grid>
|
|
</ui:FluentWindow>
|