From 67d60877df816196e51b868e76f091261a2d08da Mon Sep 17 00:00:00 2001 From: Simon Garrelou Date: Fri, 9 Dec 2022 15:39:14 +0100 Subject: Move songs in queue --- src/keybinds.go | 39 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 38 insertions(+), 1 deletion(-) (limited to 'src/keybinds.go') diff --git a/src/keybinds.go b/src/keybinds.go index d69be0b..2a9c16b 100644 --- a/src/keybinds.go +++ b/src/keybinds.go @@ -13,10 +13,47 @@ func (a *app) setupMusicControlKeys(p *tview.Box) { return nil } - if event.Rune() == 'k' { + if event.Rune() == 'p' { a.playQueue.TogglePause() return nil } + + if a.tv.GetFocus() == a.playQueueList { + if event.Rune() == 'd' { + sel := a.playQueueList.GetCurrentItem() + err := a.playQueue.RemoveSong(sel) + if err != nil { + a.alert("Error: %v", err) + } + } else if event.Rune() == 'k' { + sel := a.playQueueList.GetCurrentItem() + if sel == a.playQueueList.GetItemCount()-1 { + return nil + } + err := a.playQueue.Switch(sel, sel+1) + if err != nil { + a.alert("Error: %v", err) + } + + a.playQueueList.SetCurrentItem(sel + 1) + + return nil + } else if event.Rune() == 'j' { + sel := a.playQueueList.GetCurrentItem() + if sel == 0 { + return nil + } + err := a.playQueue.Switch(sel, sel-1) + if err != nil { + a.alert("Error: %v", err) + } + + a.playQueueList.SetCurrentItem(sel - 1) + + return nil + } + } + return event }) } -- cgit v1.2.3