diff --git a/Persephone/Controllers/AlbumDetailView.swift b/Persephone/Controllers/AlbumDetailView.swift
index d24380d..6a29f35 100644
--- a/Persephone/Controllers/AlbumDetailView.swift
+++ b/Persephone/Controllers/AlbumDetailView.swift
@@ -27,6 +27,7 @@ class AlbumDetailView: NSViewController {
albumTracksView.delegate = self
albumTracksView.intercellSpacing = CGSize(width: 0, height: 18)
albumTracksView.floatsGroupRows = false
+ albumTracksView.columnAutoresizingStyle = .sequentialColumnAutoresizingStyle
albumCoverView.wantsLayer = true
albumCoverView.layer?.cornerRadius = 5
@@ -76,6 +77,22 @@ class AlbumDetailView: NSViewController {
App.store.dispatch(MPDPlayTrack(queuePos: queueLength))
}
+ @IBAction func menuActionPlaySong(_ sender: NSMenuItem) {
+ guard let song = dataSource.albumSongs[albumTracksView.clickedRow].song
+ else { return }
+
+ let queueLength = App.store.state.queueState.queue.count
+ App.store.dispatch(MPDAppendTrack(song: song.mpdSong))
+ App.store.dispatch(MPDPlayTrack(queuePos: queueLength))
+ }
+
+ @IBAction func menuActionAppendSong(_ sender: NSMenuItem) {
+ guard let song = dataSource.albumSongs[albumTracksView.clickedRow].song
+ else { return }
+
+ App.store.dispatch(MPDAppendTrack(song: song.mpdSong))
+ }
+
func getAlbumSongs(for album: Album) {
App.mpdClient.getAlbumSongs(for: album.mpdAlbum) { [weak self] (mpdSongs: [MPDClient.MPDSong]) in
self?.dataSource.setAlbumSongs(
diff --git a/Persephone/Resources/AlbumDetailView.xib b/Persephone/Resources/AlbumDetailView.xib
index 17a1cf9..0acb536 100644
--- a/Persephone/Resources/AlbumDetailView.xib
+++ b/Persephone/Resources/AlbumDetailView.xib
@@ -18,11 +18,11 @@