fix(tracker/gioui): cancel dialog when user clicks outside it

This commit is contained in:
5684185+vsariola@users.noreply.github.com
2025-06-24 20:26:14 +03:00
parent b4ec136ab1
commit ba281ca7c0

View File

@ -81,7 +81,7 @@ func (d *Dialog) Layout(gtx C) D {
} }
d.handleKeys(gtx) d.handleKeys(gtx)
paint.Fill(gtx.Ops, d.Style.Bg) paint.Fill(gtx.Ops, d.Style.Bg)
return layout.Center.Layout(gtx, func(gtx C) D { dims := layout.Center.Layout(gtx, func(gtx C) D {
return Popup(d.Theme, &d.State.visible).Layout(gtx, func(gtx C) D { return Popup(d.Theme, &d.State.visible).Layout(gtx, func(gtx C) D {
return layout.Flex{Axis: layout.Vertical, Alignment: layout.Middle}.Layout(gtx, return layout.Flex{Axis: layout.Vertical, Alignment: layout.Middle}.Layout(gtx,
layout.Rigid(func(gtx C) D { layout.Rigid(func(gtx C) D {
@ -117,6 +117,10 @@ func (d *Dialog) Layout(gtx C) D {
) )
}) })
}) })
if !d.State.visible {
d.Btns[d.NumBtns-1].Action.Do()
}
return dims
} }
func (d *Dialog) handleKeys(gtx C) { func (d *Dialog) handleKeys(gtx C) {