add ctrl/cmd+F shortcut to focus search entry

This commit is contained in:
Drew Weymouth
2023-01-19 18:15:37 -08:00
parent e04b4d1902
commit 85548a0d84
6 changed files with 54 additions and 13 deletions
+12
View File
@@ -26,6 +26,11 @@ type SavedPage interface {
Restore() Page
}
// Searchable pages should implement this interface so their search bar can be focused by keyboard shortcut.
type Searchable interface {
SearchWidget() fyne.Focusable
}
type CanPlayAlbum interface {
SetPlayAlbumCallback(func(albumID string, startingTrack int))
}
@@ -81,6 +86,13 @@ func (b *BrowsingPane) AddNavigationButton(iconRes fyne.Resource, action func())
b.navBtnsContainer.Add(widget.NewButtonWithIcon("", iconRes, action))
}
func (b *BrowsingPane) GetSearchBarIfAny() fyne.Focusable {
if s, ok := b.curPage.(Searchable); ok {
return s.SearchWidget()
}
return nil
}
func (b *BrowsingPane) doSetPage(p Page) bool {
if b.curPage != nil && b.curPage.Route() == p.Route() {
return false