From 51fc4b284fced51175239f4c8fa82996cd8d0640 Mon Sep 17 00:00:00 2001 From: Drew Weymouth Date: Sat, 21 Jan 2023 10:00:06 -0800 Subject: [PATCH] reset focus on page change --- ui/browsing/browsingpane.go | 1 + ui/mainwindow.go | 3 +++ 2 files changed, 4 insertions(+) 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 {