diff options
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 | } |