Added playlist renaming functionality.
This commit is contained in:
@@ -158,6 +158,7 @@ public partial class PlaylistDetailViewModel : ViewModelBase
|
||||
public IRelayCommand RandomizeSelectedCommand { get; }
|
||||
public IRelayCommand ReverseAllCommand { get; }
|
||||
public IRelayCommand ReverseSelectedCommand { get; }
|
||||
public IAsyncRelayCommand RenamePlaylistCommand { get; }
|
||||
public IRelayCommand LockPlaylistCommand { get; }
|
||||
public IRelayCommand UnlockPlaylistCommand { get; }
|
||||
|
||||
@@ -212,6 +213,7 @@ public partial class PlaylistDetailViewModel : ViewModelBase
|
||||
RandomizeSelectedCommand = new RelayCommand(RandomizeSelectedSongs, AreMultipleSongsSelected);
|
||||
ReverseAllCommand = new RelayCommand(ReverseAllSongs);
|
||||
ReverseSelectedCommand = new RelayCommand(ReverseSelectedSongs, AreMultipleSongsSelected);
|
||||
RenamePlaylistCommand = new AsyncRelayCommand(RenamePlaylist);
|
||||
LockPlaylistCommand = new RelayCommand(LockPlaylist);
|
||||
UnlockPlaylistCommand = new RelayCommand(UnlockPlaylist);
|
||||
|
||||
@@ -762,6 +764,22 @@ public partial class PlaylistDetailViewModel : ViewModelBase
|
||||
Playlist?.Unlock();
|
||||
}
|
||||
|
||||
private async Task RenamePlaylist()
|
||||
{
|
||||
if (Playlist == null)
|
||||
return;
|
||||
|
||||
string newName = await _messageService.InputTextAsync(
|
||||
$"Rename Playlist - {Playlist.Name}",
|
||||
"Enter a new name for the playlist:",
|
||||
Playlist.Name ?? string.Empty);
|
||||
|
||||
if (string.IsNullOrWhiteSpace(newName))
|
||||
return;
|
||||
|
||||
Playlist.SetName(newName);
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
|
||||
|
||||
@@ -9,6 +9,19 @@ public partial class PlaylistItemViewModel : ObservableObject
|
||||
{
|
||||
public Playlist Playlist { get; private set; }
|
||||
|
||||
private string _name = string.Empty;
|
||||
public string Name
|
||||
{
|
||||
get
|
||||
{
|
||||
return _name;
|
||||
}
|
||||
set
|
||||
{
|
||||
SetProperty(ref _name, value);
|
||||
}
|
||||
}
|
||||
|
||||
private string _summary = string.Empty;
|
||||
public string Summary
|
||||
{
|
||||
@@ -41,6 +54,8 @@ public partial class PlaylistItemViewModel : ObservableObject
|
||||
|
||||
private void UpdateMetaData()
|
||||
{
|
||||
Name = Playlist.Name ?? "Untitled Playlist";
|
||||
|
||||
TimeSpan total = TimeSpan.FromSeconds(Playlist.Songs.Sum(s => s.Song.Length.TotalSeconds));
|
||||
Summary = $"{Playlist.Songs.Count} songs / {total:h\\:mm\\:ss}";
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user