From 0c4a91054f49dd1ff89fd74c7972c8282f18c70f Mon Sep 17 00:00:00 2001 From: Jeff Carr Date: Wed, 3 Sep 2025 04:01:39 -0500 Subject: [PATCH] ConfigSave() and upgrade all buttons --- doGui.go | 4 ++++ windowZood.go | 41 ++++++++++++++++++++++++----------------- 2 files changed, 28 insertions(+), 17 deletions(-) diff --git a/doGui.go b/doGui.go index 8707c32..99fae79 100644 --- a/doGui.go +++ b/doGui.go @@ -69,6 +69,10 @@ func doGui() { log.Info("todo: start a list here!") }) + grid.NewButton("ConfigSave()", func() { + saveMachineState() + }) + // sit here forever refreshing the GUI for { refresh() diff --git a/windowZood.go b/windowZood.go index 80ebeb3..b71d770 100644 --- a/windowZood.go +++ b/windowZood.go @@ -60,23 +60,10 @@ func makeZoodWin() *stdTableWin { stdw.outOfDate = grid.NewCheckbox("out of date") stdw.showAll = grid.NewCheckbox("all") grid.NewButton("upgrade 10", func() { - var count int - all := me.machines.All() - for all.Scan() { - m := all.Next() - mtime := m.Laststamp.AsTime() - if time.Since(mtime) > 10*time.Hour { - continue - } - if m.FindVersion("zood") != me.zood.version { - count += 1 - m.Upgrade = true - log.Info("upgrade", m.Hostname, count) - } - if count > 9 { - return - } - } + sendUpgrade(10) + }) + grid.NewButton("upgrade all", func() { + sendUpgrade(-1) }) // make a box at the bottom of the window for the protobuf table @@ -86,6 +73,26 @@ func makeZoodWin() *stdTableWin { return stdw } +func sendUpgrade(i int) { + var count int + all := me.machines.All() + for all.Scan() { + m := all.Next() + mtime := m.Laststamp.AsTime() + if time.Since(mtime) > 10*time.Hour { + continue + } + if m.FindVersion("zood") != me.zood.version { + count += 1 + m.Upgrade = true + log.Info("upgrade", m.Hostname, count) + } + if i == -1 || count > i { + return + } + } +} + func (stdw *stdTableWin) refresh() { if stdw.outOfDate.Checked() { log.Info("refresh() showing out of date zoo")