diff options
author | Simon Garrelou <simon@sixfoisneuf.fr> | 2023-12-19 10:47:06 +0100 |
---|---|---|
committer | Simon Garrelou <simon@sixfoisneuf.fr> | 2023-12-19 11:30:55 +0100 |
commit | 72bd149efa008c33c0be810b0f954c20cefffe96 (patch) | |
tree | 45a2ac8241dbe6286ee4e8aa428aa22d5edd8716 /src/page_artists.go | |
parent | 6a185000c771baaa84d8feceb8bfd13fd919b951 (diff) | |
download | termsonic-72bd149efa008c33c0be810b0f954c20cefffe96.tar.gz termsonic-72bd149efa008c33c0be810b0f954c20cefffe96.zip |
load albums on artist selection
Diffstat (limited to 'src/page_artists.go')
-rw-r--r-- | src/page_artists.go | 31 |
1 files changed, 17 insertions, 14 deletions
diff --git a/src/page_artists.go b/src/page_artists.go index f67697c..faf1027 100644 --- a/src/page_artists.go +++ b/src/page_artists.go | |||
@@ -28,6 +28,23 @@ func (a *app) artistsPage() tview.Primitive { | |||
28 | 28 | ||
29 | sel := node.GetReference().(selection) | 29 | sel := node.GetReference().(selection) |
30 | if sel.entryType == "artist" { | 30 | if sel.entryType == "artist" { |
31 | if node.GetChildren() != nil || len(node.GetChildren()) == 0 { | ||
32 | artist, err := a.sub.GetMusicDirectory(sel.id) | ||
33 | if err != nil { | ||
34 | panic(err) | ||
35 | } | ||
36 | |||
37 | for _, album := range artist.Child { | ||
38 | subnode := tview.NewTreeNode(album.Title) | ||
39 | subnode.SetReference(selection{"album", album.ID}) | ||
40 | subnode.SetColor(tcell.ColorBlue) | ||
41 | subnode.SetSelectable(true) | ||
42 | |||
43 | node.AddChild(subnode) | ||
44 | } | ||
45 | |||
46 | } | ||
47 | |||
31 | node.SetExpanded(!node.IsExpanded()) | 48 | node.SetExpanded(!node.IsExpanded()) |
32 | return | 49 | return |
33 | } | 50 | } |
@@ -84,20 +101,6 @@ func (a *app) refreshArtists() error { | |||
84 | node.SetSelectable(true) | 101 | node.SetSelectable(true) |
85 | node.SetExpanded(false) | 102 | node.SetExpanded(false) |
86 | 103 | ||
87 | albums, err := a.sub.GetMusicDirectory(artist.ID) | ||
88 | if err != nil { | ||
89 | return err | ||
90 | } | ||
91 | |||
92 | for _, album := range albums.Child { | ||
93 | subnode := tview.NewTreeNode(album.Title) | ||
94 | subnode.SetReference(selection{"album", album.ID}) | ||
95 | subnode.SetColor(tcell.ColorBlue) | ||
96 | subnode.SetSelectable(true) | ||
97 | |||
98 | node.AddChild(subnode) | ||
99 | } | ||
100 | |||
101 | a.artistsTree.GetRoot().AddChild(node) | 104 | a.artistsTree.GetRoot().AddChild(node) |
102 | } | 105 | } |
103 | } | 106 | } |