Implement play_entry for search view

This commit is contained in:
aditya-K2
2023-04-26 04:48:20 +05:30
parent 3ff51ba5c3
commit 87560f0efb
3 changed files with 17 additions and 0 deletions

View File

@@ -24,6 +24,7 @@ var (
},
"search_view": {
{K: tcell.KeyEnter}: "open_entry",
{K: tcell.KeyCtrlP}: "play_entry",
},
"global": {
{R: 'd'}: "choose_device",

View File

@@ -296,6 +296,10 @@ func NewApplication() *tview.Application {
searchView.SelectEntry()
return nil
}, nil),
"play_entry": NewAction(func(e *tcell.EventKey) *tcell.EventKey {
searchView.PlaySelectEntry()
return nil
}, nil),
}))
artistsView.SetActions(utils.MergeMaps(globalActions, map[string]*Action{
"open_entry": NewAction(func(e *tcell.EventKey) *tcell.EventKey {

View File

@@ -133,6 +133,18 @@ func (a *SearchView) SelectEntry() {
}
}
func (a *SearchView) PlaySelectEntry() {
r, _ := Main.Table.GetSelection()
switch a.searchContent[r].Type {
case "album", "artist", "playlist":
{
if err := spt.PlayContext(&a.searchContent[r].URI); err != nil {
SendNotification(err.Error())
}
}
}
}
func (a *SearchView) RefreshState() {
if a.search != "" {
results, err := spt.Search(a.search)