feat: Implement Playlists and Programs Management

- Added PlaylistsGroupViewModel to manage playlists and selection.
- Introduced ProgramsGroupViewModel for handling program groups and subscriptions.
- Created ProgramsListViewModel to manage individual program listings.
- Developed SettingsViewModel for user settings including playlist management.
- Implemented TVPlayerViewModel as the main view model coordinating screens and data.
- Added PlayerView for video playback with LibVLC integration.
- Created XAML views for PlaylistsGroup, ProgramsGroup, ProgramsList, and Settings.
- Added sample M3U playlist for testing.
- Documented WPF build instructions and project structure in WPF-BUILD.md.
- Configured global.json for .NET SDK versioning.
This commit is contained in:
Vladimir
2026-03-22 12:11:24 +02:00
parent a6ec011e79
commit 1e8e444376
82 changed files with 2970 additions and 1687 deletions
+29
View File
@@ -0,0 +1,29 @@
using Avalonia.Controls;
using Avalonia.Input;
using TV_Player.AvaloniaApp.ViewModels;
namespace TV_Player.AvaloniaApp;
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
KeyDown += OnKeyDown;
}
private void OnKeyDown(object? sender, KeyEventArgs e)
{
if (DataContext is not MainWindowViewModel viewModel)
return;
if (e.Key == Key.Escape)
{
viewModel.OnCloseAppButtonClick();
}
else if (e.Key == Key.Back)
{
viewModel.TriggerBack();
}
}
}