diff --git a/ui/browsing/browsingpane.go b/ui/browsing/browsingpane.go index 6168c15..7317141 100644 --- a/ui/browsing/browsingpane.go +++ b/ui/browsing/browsingpane.go @@ -197,6 +197,10 @@ func (b *BrowsingPane) doSetPage(p Page) bool { if b.curPage != nil && b.curPage.Route() == p.Route() { return false } + // TODO: reset focus only if something inside the previous page had focus + if c := fyne.CurrentApp().Driver().CanvasForObject(b); c != nil { + c.Focus(nil) + } b.curPage = p if np, ok := p.(CanShowNowPlaying); ok { // inform page of currently playing track diff --git a/ui/mainwindow.go b/ui/mainwindow.go index 52f972f..8d20916 100644 --- a/ui/mainwindow.go +++ b/ui/mainwindow.go @@ -268,14 +268,11 @@ func (m *MainWindow) addShortcuts() { for _, sh := range os.BackShortcuts { m.Canvas().AddShortcut(&sh, func(_ fyne.Shortcut) { m.BrowsingPane.GoBack() - // TODO: reset focus only if something inside the page had focus - m.Canvas().Focus(nil) }) } for _, sh := range os.ForwardShortcuts { m.Canvas().AddShortcut(&sh, func(_ fyne.Shortcut) { m.BrowsingPane.GoForward() - m.Canvas().Focus(nil) }) } if os.SettingsShortcut != nil {