Files
Futonizer/Views/SettingsWindow.xaml
T
l4kr 05c496c10b Add overall progress, notifications, and UI polish
- 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
2026-07-04 02:35:26 +02:00

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>