From 8d038ced6447258e29f89064be97ecc4b478c897 Mon Sep 17 00:00:00 2001 From: Drew Weymouth Date: Sun, 18 Feb 2024 09:19:37 -0800 Subject: [PATCH] unfocus grid view items when tapping between them --- ui/widgets/gridview.go | 6 ++++++ ui/widgets/gridviewitem.go | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/ui/widgets/gridview.go b/ui/widgets/gridview.go index 41c2451..1cd3dd4 100644 --- a/ui/widgets/gridview.go +++ b/ui/widgets/gridview.go @@ -215,6 +215,12 @@ func (g *GridView) Resize(size fyne.Size) { g.BaseWidget.Resize(size) } +var _ fyne.Tappable = (*GridView)(nil) + +func (g *GridView) Tapped(*fyne.PointEvent) { + fyne.CurrentApp().Driver().CanvasForObject(g).Unfocus() +} + func (g *GridView) numCols() int { if g.numColsCached == -1 { // logic here taken from gridwrap.go in Fyne codebase diff --git a/ui/widgets/gridviewitem.go b/ui/widgets/gridviewitem.go index f077910..400e3dc 100644 --- a/ui/widgets/gridviewitem.go +++ b/ui/widgets/gridviewitem.go @@ -274,6 +274,12 @@ func (g *GridViewItem) TypedRune(rune) { // intentionally blank } +var _ fyne.Tappable = (*GridViewItem)(nil) + +func (g *GridViewItem) Tapped(*fyne.PointEvent) { + fyne.CurrentApp().Driver().CanvasForObject(g).Unfocus() +} + func (g *GridViewItem) CreateRenderer() fyne.WidgetRenderer { return widget.NewSimpleRenderer(g.container) }