From 0359d12e7d6b2efa1d9b627802152025941f8ca8 Mon Sep 17 00:00:00 2001 From: Drew Weymouth Date: Thu, 25 Jul 2024 17:28:49 -0700 Subject: [PATCH] reactivate peak meter window if menu item selected again --- ui/controller/visualizations.go | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/ui/controller/visualizations.go b/ui/controller/visualizations.go index 7625f06..988861c 100644 --- a/ui/controller/visualizations.go +++ b/ui/controller/visualizations.go @@ -13,7 +13,8 @@ import ( // embedded in parent controller struct type visualizationData struct { - peakMeter *visualizations.PeakMeter + peakMeter *visualizations.PeakMeter + peakMeterWin fyne.Window visualizationAnim *fyne.Animation } @@ -29,32 +30,34 @@ func (c *Controller) initVisualizations() { } func (c *Controller) ShowPeakMeter() { - if c.peakMeter != nil { + if c.peakMeterWin != nil { + c.peakMeterWin.Show() return } - win := fyne.CurrentApp().NewWindow(lang.L("Peak Meter")) - win.SetCloseIntercept(func() { + c.peakMeterWin = fyne.CurrentApp().NewWindow(lang.L("Peak Meter")) + c.peakMeterWin.SetCloseIntercept(func() { c.stopVisualizationAnim() c.peakMeter = nil - win.Close() - util.SaveWindowSize(win, + util.SaveWindowSize(c.peakMeterWin, &c.App.Config.PeakMeter.WindowWidth, &c.App.Config.PeakMeter.WindowHeight) + c.peakMeterWin.Close() + c.peakMeterWin = nil }) if c.App.Config.PeakMeter.WindowHeight > 0 { - win.Resize(fyne.NewSize( + c.peakMeterWin.Resize(fyne.NewSize( float32(c.App.Config.PeakMeter.WindowWidth), float32(c.App.Config.PeakMeter.WindowHeight))) } c.peakMeter = visualizations.NewPeakMeter() - win.SetContent(c.peakMeter) + c.peakMeterWin.SetContent(c.peakMeter) if c.App.LocalPlayer.GetStatus().State == player.Playing { c.startVisualizationAnim() } else { // TODO: why is this needed? c.peakMeter.Refresh() } - win.Show() + c.peakMeterWin.Show() } func (c *Controller) stopVisualizationAnim() {