fix a few bugs

This commit is contained in:
Drew Weymouth
2025-03-07 08:04:15 -08:00
parent 15b73893c3
commit 56c32e529e
2 changed files with 13 additions and 3 deletions
+1 -1
View File
@@ -168,6 +168,7 @@
"Save play queue on exit": "Save play queue on exit",
"Saved at": "Saved at",
"Scrobble when": "Scrobble when",
"Search": "Search",
"Search Everywhere": "Search Everywhere",
"Search page": "Search page",
"Search playlists or new playlist name": "Search playlists or new playlist name",
@@ -237,7 +238,6 @@
"You are running the latest version of": "You are running the latest version of",
"Quit": "Quit",
"Rescan Library": "Rescan Library",
"Search": "Search",
"Owner": "Owner",
"To server": "To server",
"Fav.": "Fav.",
+12 -2
View File
@@ -245,8 +245,11 @@ func (a *PlaylistPage) onRemoveSelectedFromPlaylist() {
func (a *PlaylistPage) onSearched(query string) {
if query == "" {
a.tracklist.Options.Reorderable = true
// switch back to full playlist view
ids := a.tracklist.SelectedTrackIDs()
a.tracklist.Options.Reorderable = true
a.tracklist.SetSorting(a.trackSort) // restore old sort order
a.tracklist.SetTracks(a.tracks)
// if a track was selected in the searched view,
// scroll to it when switching back to full playlist
@@ -256,6 +259,7 @@ func (a *PlaylistPage) onSearched(query string) {
return
}
// search tracks within the playlist
searched := sharedutil.FilterSlice(a.tracks, func(t *mediaprovider.Track) bool {
sani := func(s string) string {
return strings.ToLower(sanitize.Accents(s))
@@ -270,7 +274,9 @@ func (a *PlaylistPage) onSearched(query string) {
strings.Contains(sani(t.Comment), qLower)
})
a.trackSort = a.tracklist.Sorting() // save old sort order
a.tracklist.Options.Reorderable = false
a.tracklist.SetSorting(widgets.TracklistSort{})
a.tracklist.SetTracks(searched)
}
@@ -336,7 +342,11 @@ func NewPlaylistPageHeader(page *PlaylistPage) *PlaylistPageHeader {
searchEntry = widgets.NewSearchEntry()
searchEntry.PlaceHolder = ""
searchEntry.Scroll = container.ScrollNone
searchEntry.OnSearched = page.onSearched
searchEntry.OnSearched = func(s string) {
// we can't assign a.page.onSearched directly,
// since widget reuse means a.page could change
a.page.onSearched(s)
}
searchEntry.OnFocusLost = func() {
if searchEntry.Text == "" {
// dismissal animation