summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2025-04-20 19:36:46 -0500
committerJeff Carr <[email protected]>2025-04-20 19:38:26 -0500
commit17c9a34aa4e7d0a7cbba1b50ba6c418b41dd77d8 (patch)
treea76ed8582e72dfaf634e12390f33f6b4007eda23
parent7ef9f39a6287887ab0712d250ca3627ecfbed965 (diff)
checkboxes to show only out of sync machinesv0.0.58v0.0.57v0.0.56v0.0.55
-rw-r--r--doGui.go3
-rw-r--r--windowZood.go33
2 files changed, 32 insertions, 4 deletions
diff --git a/doGui.go b/doGui.go
index 3b3c350..8707c32 100644
--- a/doGui.go
+++ b/doGui.go
@@ -21,7 +21,7 @@ func refresh() {
log.Info("zookeeper scan here")
}
if me.zood != nil {
- me.zood.doMachinesUpgradeTable(me.machines)
+ // me.zood.doMachinesUpgradeTable(me.machines)
all := me.machines.All()
for all.Scan() {
m := all.Next()
@@ -32,6 +32,7 @@ func refresh() {
me.zood.versionL.SetText(v)
}
}
+ me.zood.refresh()
}
}
diff --git a/windowZood.go b/windowZood.go
index 258153a..2719e3a 100644
--- a/windowZood.go
+++ b/windowZood.go
@@ -22,6 +22,7 @@ type stdTableWin struct {
version string // the current zood version
versionL *gui.Node // label widget to display the current zood version
outOfDate *gui.Node // checkbox to only show out of date droplets
+ showAll *gui.Node // show everything in the zoo
update bool // if the window should be updated
}
@@ -52,10 +53,12 @@ func makeZoodWin() *stdTableWin {
})
grid.NewButton("refresh", func() {
- refresh()
+ stdw.refresh()
})
stdw.versionL = grid.NewLabel("scan")
+ stdw.outOfDate = grid.NewCheckbox("out of date")
+ stdw.showAll = grid.NewCheckbox("all")
grid.NewButton("show out of date", func() {
found := zoopb.NewMachines()
all := me.machines.All()
@@ -77,10 +80,18 @@ func makeZoodWin() *stdTableWin {
func (stdw *stdTableWin) refresh() {
if stdw.outOfDate.Checked() {
+ log.Info("refresh() showing out of date zoo")
found := zoopb.NewMachines()
all := me.machines.All()
for all.Scan() {
m := all.Next()
+ if !stdw.showAll.Checked() {
+ // skip non-active zoo members
+ mtime := m.Laststamp.AsTime()
+ if time.Since(mtime) > 10*time.Hour {
+ continue
+ }
+ }
if m.FindVersion("zood") != me.zood.version {
found.Append(m)
}
@@ -88,9 +99,25 @@ func (stdw *stdTableWin) refresh() {
stdw.doMachinesUpgradeTable(found)
return
}
+ if stdw.showAll.Checked() {
+ log.Info("refresh() showing everything in zoo")
+ stdw.doMachinesUpgradeTable(me.machines)
+ return
+ }
- // show all droplets
- stdw.doMachinesUpgradeTable(me.machines)
+ log.Info("refresh() only show active zoo")
+ found := zoopb.NewMachines()
+ all := me.machines.All()
+ for all.Scan() {
+ m := all.Next()
+ mtime := m.Laststamp.AsTime()
+ // now := time.Now()
+ if time.Since(mtime) > 10*time.Hour {
+ continue
+ }
+ found.Append(m)
+ }
+ stdw.doMachinesUpgradeTable(found)
}
func (zood *stdTableWin) doMachinesUpgradeTable(pb *zoopb.Machines) {