aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSimon Garrelou <simon.garrelou@gmail.com>2022-12-09 15:39:14 +0100
committerSimon Garrelou <simon.garrelou@gmail.com>2022-12-09 15:39:14 +0100
commit67d60877df816196e51b868e76f091261a2d08da (patch)
tree9595451d851fab7aa40f24f73cd672bf4711c9dd /src
parent9d1d1a02fde0a1561ad6a61e551a144bbeadc45b (diff)
downloadtermsonic-67d60877df816196e51b868e76f091261a2d08da.tar.gz
termsonic-67d60877df816196e51b868e76f091261a2d08da.zip
Move songs in queue
Diffstat (limited to 'src')
-rw-r--r--src/footer.go4
-rw-r--r--src/keybinds.go39
2 files changed, 40 insertions, 3 deletions
diff --git a/src/footer.go b/src/footer.go
index 7240b0f..1db1843 100644
--- a/src/footer.go
+++ b/src/footer.go
@@ -3,9 +3,9 @@ package src
3func (a *app) updateFooter() { 3func (a *app) updateFooter() {
4 switch a.headerSections.GetHighlights()[0] { 4 switch a.headerSections.GetHighlights()[0] {
5 case "artists": 5 case "artists":
6 a.footer.SetText("[blue]l:[yellow] Next song [blue]k:[yellow] Toggle pause") 6 a.footer.SetText("[blue]l:[yellow] Next song [blue]p:[yellow] Toggle pause")
7 case "playqueue": 7 case "playqueue":
8 a.footer.SetText("[blue]l:[yellow] Next song [blue]k:[yellow] Toggle pause") 8 a.footer.SetText("[blue]l:[yellow] Next song [blue]p:[yellow] Toggle pause [blue]d:[yellow] Remove [blue]j:[yellow] Move up [blue]k:[yellow] Move down")
9 case "playlists": 9 case "playlists":
10 a.footer.SetText("Come back later!") 10 a.footer.SetText("Come back later!")
11 case "config": 11 case "config":
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) {
13 return nil 13 return nil
14 } 14 }
15 15
16 if event.Rune() == 'k' { 16 if event.Rune() == 'p' {
17 a.playQueue.TogglePause() 17 a.playQueue.TogglePause()
18 return nil 18 return nil
19 } 19 }
20
21 if a.tv.GetFocus() == a.playQueueList {
22 if event.Rune() == 'd' {
23 sel := a.playQueueList.GetCurrentItem()
24 err := a.playQueue.RemoveSong(sel)
25 if err != nil {
26 a.alert("Error: %v", err)
27 }
28 } else if event.Rune() == 'k' {
29 sel := a.playQueueList.GetCurrentItem()
30 if sel == a.playQueueList.GetItemCount()-1 {
31 return nil
32 }
33 err := a.playQueue.Switch(sel, sel+1)
34 if err != nil {
35 a.alert("Error: %v", err)
36 }
37
38 a.playQueueList.SetCurrentItem(sel + 1)
39
40 return nil
41 } else if event.Rune() == 'j' {
42 sel := a.playQueueList.GetCurrentItem()
43 if sel == 0 {
44 return nil
45 }
46 err := a.playQueue.Switch(sel, sel-1)
47 if err != nil {
48 a.alert("Error: %v", err)
49 }
50
51 a.playQueueList.SetCurrentItem(sel - 1)
52
53 return nil
54 }
55 }
56
20 return event 57 return event
21 }) 58 })
22} 59}