Refactor settings management in PLib video library manager. Replace dialog-based settings with a single-panel overlay for improved user experience. Update MainWindow and SettingsView to support new settings panel, and adjust ViewModels accordingly. Enhance README.md to reflect these changes.

This commit is contained in:
Leonid Pershin
2026-08-08 12:40:53 +03:00
parent 186dd900e1
commit 835937357e
12 changed files with 441 additions and 216 deletions
+17
View File
@@ -2,6 +2,7 @@
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:controls="clr-namespace:PLib.Desktop.Controls"
xmlns:icons="clr-namespace:Material.Icons.Avalonia;assembly=Material.Icons.Avalonia"
xmlns:views="clr-namespace:PLib.Desktop.Views"
xmlns:vm="clr-namespace:PLib.Desktop.ViewModels"
x:Class="PLib.Desktop.Views.MainWindow"
x:DataType="vm:MainWindowViewModel"
@@ -15,6 +16,10 @@
<Window.Resources>
<DataTemplate x:Key="SettingsTemplate" DataType="vm:SettingsViewModel">
<views:SettingsView />
</DataTemplate>
<!-- ======================= Video card ======================= -->
<DataTemplate x:Key="VideoCardTemplate" DataType="vm:VideoCardViewModel">
<Button Classes="card" Command="{Binding PlayCommand}" ToolTip.Tip="{Binding FullPath}">
@@ -234,5 +239,17 @@
</Grid>
</Border>
<!-- ======================= Settings panel ======================= -->
<Panel Grid.Row="0"
Grid.RowSpan="3"
Classes="settingsOverlay"
Classes.open="{Binding IsSettingsOpen}">
<Button Classes="scrim" Command="{Binding CloseSettingsCommand}" />
<Border Classes="drawer">
<ContentControl Content="{Binding SettingsPanel}"
ContentTemplate="{StaticResource SettingsTemplate}" />
</Border>
</Panel>
</Grid>
</Window>