diff --git a/ui/browsing/browsingpane.go b/ui/browsing/browsingpane.go index c385f1b..55a3638 100644 --- a/ui/browsing/browsingpane.go +++ b/ui/browsing/browsingpane.go @@ -106,6 +106,7 @@ func (b *BrowsingPane) doSetPage(p Page) bool { if np, ok := p.(CanShowNowPlaying); ok { np.OnSongChange(b.app.PlaybackManager.NowPlaying()) } + b.pageContainer.Remove(b.curPage) b.pageContainer.Objects[1] = p b.Refresh() return true diff --git a/ui/mainwindow.go b/ui/mainwindow.go index 212d6d9..21483db 100644 --- a/ui/mainwindow.go +++ b/ui/mainwindow.go @@ -88,9 +88,12 @@ func (m *MainWindow) addNavigationButtons() { func (m *MainWindow) addShortcuts() { m.Canvas().AddShortcut(&ShortcutBack, func(_ fyne.Shortcut) { m.BrowsingPane.GoBack() + // TODO: reset focus only if something inside the page had focus + m.Canvas().Focus(nil) }) m.Canvas().AddShortcut(&ShortcutForward, func(_ fyne.Shortcut) { m.BrowsingPane.GoForward() + m.Canvas().Focus(nil) }) m.Canvas().AddShortcut(&ShortcutSearch, func(_ fyne.Shortcut) { if s := m.BrowsingPane.GetSearchBarIfAny(); s != nil {