From 5291ee71530442b1856e029bb85cb53f16008d8c Mon Sep 17 00:00:00 2001 From: Daniel Barber Date: Fri, 7 Jun 2019 13:56:33 -0400 Subject: [PATCH] Backspace to remove track from queue --- Persephone/Controllers/QueueViewController.swift | 12 ++++++++++-- Persephone/Extensions/NSEvent.swift | 1 + 2 files changed, 11 insertions(+), 2 deletions(-) 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 }