diff --git a/TV Player WPF/Assets/AppStyle.xaml b/TV Player WPF/Assets/AppStyle.xaml
index 0fdb1e5..a0d588f 100644
--- a/TV Player WPF/Assets/AppStyle.xaml
+++ b/TV Player WPF/Assets/AppStyle.xaml
@@ -80,7 +80,38 @@ c-0.781-0.781-0.788-2.047-0.007-2.828L51.438,14.43c1.754-1.755,1.753-4.61-0.001-
-
+
+
+
+
-
+
-
+
+
+
+
+
+
+
+
+
+
+ Откывать во весь экран
+ Запоминать последний выбор
+
+
+
+
-
+
diff --git a/TV Player WPF/Settings.xaml.cs b/TV Player WPF/Settings.xaml.cs
index 3c79318..1ab9035 100644
--- a/TV Player WPF/Settings.xaml.cs
+++ b/TV Player WPF/Settings.xaml.cs
@@ -1,4 +1,5 @@
using System.Windows.Controls;
+using System.Windows;
namespace TV_Player
{
@@ -11,5 +12,9 @@ namespace TV_Player
{
InitializeComponent();
}
+
+ private void OpenAddPlayList_Click(object sender, System.Windows.RoutedEventArgs e) => AddPlayList.Visibility = Visibility.Visible;
+
+ private void AddPlayList_Click(object sender, RoutedEventArgs e) => AddPlayList.Visibility = Visibility.Collapsed;
}
}
diff --git a/TV Player WPF/ViewModels/SettingsViewModel.cs b/TV Player WPF/ViewModels/SettingsViewModel.cs
index 419fe54..d4fd6bf 100644
--- a/TV Player WPF/ViewModels/SettingsViewModel.cs
+++ b/TV Player WPF/ViewModels/SettingsViewModel.cs
@@ -1,10 +1,18 @@
using CommunityToolkit.Mvvm.Input;
+using System.Collections.ObjectModel;
using System.Windows.Input;
namespace TV_Player.ViewModels
{
internal class SettingsViewModel : ObservableViewModelBase
{
+ private string _playlistName;
+ public string PlaylistName
+ {
+ get => _playlistName;
+ set => SetProperty(ref _playlistName, value);
+ }
+
private string _playlistURL;
public string PlaylistURL
{
@@ -12,6 +20,13 @@ namespace TV_Player.ViewModels
set => SetProperty(ref _playlistURL, value);
}
+ private ObservableCollection> _playlists;
+ public ObservableCollection> Playlists
+ {
+ get => _playlists;
+ set => SetProperty(ref _playlists, value);
+ }
+
private bool _startFullScreen;
public bool StartFullScreen
{
@@ -27,7 +42,9 @@ namespace TV_Player.ViewModels
}
public ICommand SaveCommand { get; }
+ public ICommand PlaylistDeleteCommand { get; }
public ICommand BackCommand { get; }
+ public ICommand AddPlaylistCommand { get; }
public SettingsViewModel()
{
@@ -35,12 +52,25 @@ namespace TV_Player.ViewModels
SaveCommand = new RelayCommand(OnSaveSettings);
BackCommand = new RelayCommand(OnBackCommand);
+ AddPlaylistCommand = new RelayCommand(OnAddPlaylistCommand);
+ PlaylistDeleteCommand = new RelayCommand>(OnPlaylistDeleteCommand);
StartFullScreen = SettingsModel.StartFullScreen;
StartLastScreen = SettingsModel.StartFromLastScreen;
- // PlaylistURL = SettingsModel.PlaylistURL;
+ Playlists = new ObservableCollection>(SettingsModel.Playlists);
}
+ private void OnAddPlaylistCommand()
+ {
+ Playlists.Add(new KeyValuePair(PlaylistName, PlaylistURL));
+ }
+
+ private void OnPlaylistDeleteCommand(KeyValuePair pair)
+ {
+ Playlists.Remove(pair);
+ }
+
+
private void OnBackCommand()
{
TVPlayerViewModel.Instance.SelectScreen();
@@ -50,10 +80,10 @@ namespace TV_Player.ViewModels
{
SettingsModel.StartFullScreen = StartFullScreen;
SettingsModel.StartFromLastScreen = StartLastScreen;
- //SettingsModel.PlaylistURL = PlaylistURL;
-
+ SettingsModel.Playlists.Clear();
+ SettingsModel.Playlists = Playlists.ToDictionary();
SettingsModel.SaveSetttings();
- TVPlayerViewModel.Instance.InitializeTVWithData();
+ TVPlayerViewModel.Instance.InitializeTVWithData();
}
}
}
\ No newline at end of file
diff --git a/TV Player WPF/ViewModels/TVPlayerViewModel.cs b/TV Player WPF/ViewModels/TVPlayerViewModel.cs
index 0f61446..1588b7a 100644
--- a/TV Player WPF/ViewModels/TVPlayerViewModel.cs
+++ b/TV Player WPF/ViewModels/TVPlayerViewModel.cs
@@ -44,7 +44,8 @@ namespace TV_Player.ViewModels
{
if (SettingsModel.Playlists!=null && SettingsModel.Playlists.Any())
{
- foreach(var playlist in SettingsModel.Playlists)
+ PlayListsData.Clear();
+ foreach (var playlist in SettingsModel.Playlists)
{
PlayListsData.Add(playlist.Key, new ProgramsData(playlist.Key,playlist.Value));
}