diff --git a/Persephone/Controllers/QueueViewController.swift b/Persephone/Controllers/QueueViewController.swift index 1a9fa09..8c8b066 100644 --- a/Persephone/Controllers/QueueViewController.swift +++ b/Persephone/Controllers/QueueViewController.swift @@ -31,6 +31,12 @@ class QueueViewController: NSViewController, switch event.keyCode { case NSEvent.keyCodeSpace: nextResponder?.keyDown(with: event) + case NSEvent.keyCodeBS: + let queuePos = queueView.selectedRow - 1 + + if queuePos >= 0 { + App.store.dispatch(MPDRemoveTrack(queuePos: queuePos)) + } default: super.keyDown(with: event) } @@ -45,9 +51,11 @@ class QueueViewController: NSViewController, } @IBAction func removeSongMenuAction(_ sender: NSMenuItem) { - let row = queueView.clickedRow + let queuePos = queueView.clickedRow - 1 - App.store.dispatch(MPDRemoveTrack(queuePos: row - 1)) + if queuePos >= 0 { + App.store.dispatch(MPDRemoveTrack(queuePos: queuePos)) + } } func outlineView( diff --git a/Persephone/Extensions/NSEvent.swift b/Persephone/Extensions/NSEvent.swift index 642cda5..ffc07d6 100644 --- a/Persephone/Extensions/NSEvent.swift +++ b/Persephone/Extensions/NSEvent.swift @@ -10,4 +10,5 @@ import AppKit extension NSEvent { static let keyCodeSpace: UInt16 = 49 + static let keyCodeBS: UInt16 = 51 }