aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Garrelou <simon@sixfoisneuf.fr>2024-02-02 14:23:36 +0100
committerSimon Garrelou <simon@sixfoisneuf.fr>2024-02-02 14:23:36 +0100
commite373eaf07bb0102819142d4a70ee0d83a1e9370b (patch)
tree59abfc7fc6b4e7e6171ffc494760cdcb97d671a4
parent119f7140d269aa5f9c01faa9d83d2e73e6f1efb0 (diff)
parent740dde7e412edbe139f2708ddb0fb03d261dd807 (diff)
downloadtermsonic-e373eaf07bb0102819142d4a70ee0d83a1e9370b.tar.gz
termsonic-e373eaf07bb0102819142d4a70ee0d83a1e9370b.zip
Merge branch 'delayed-load'
-rw-r--r--src/page_artists.go33
1 files changed, 19 insertions, 14 deletions
diff --git a/src/page_artists.go b/src/page_artists.go
index 747165b..0b5a0be 100644
--- a/src/page_artists.go
+++ b/src/page_artists.go
@@ -28,6 +28,25 @@ 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 LogErrorf("loading album '%s': %v", sel.id, err)
35 a.alert("Error: %v", err)
36 return
37 }
38
39 for _, album := range artist.Child {
40 subnode := tview.NewTreeNode(album.Title)
41 subnode.SetReference(selection{"album", album.ID})
42 subnode.SetColor(tcell.ColorBlue)
43 subnode.SetSelectable(true)
44
45 node.AddChild(subnode)
46 }
47
48 }
49
31 node.SetExpanded(!node.IsExpanded()) 50 node.SetExpanded(!node.IsExpanded())
32 return 51 return
33 } 52 }
@@ -84,20 +103,6 @@ func (a *app) refreshArtists() error {
84 node.SetSelectable(true) 103 node.SetSelectable(true)
85 node.SetExpanded(false) 104 node.SetExpanded(false)
86 105
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) 106 a.artistsTree.GetRoot().AddChild(node)
102 } 107 }
103 } 108 }