ctop/config/switch.go

51 lines
884 B
Go
Raw Normal View History

package config
// defaults
var switches = []*Switch{
&Switch{
Key: "sortReversed",
Val: false,
Label: "Reverse Sort Order",
},
&Switch{
Key: "allContainers",
2017-02-19 03:58:42 +00:00
Val: true,
Label: "Show All Containers",
},
&Switch{
Key: "enableHeader",
2017-02-19 03:58:42 +00:00
Val: true,
2017-03-08 23:40:35 +00:00
Label: "Enable Status Header",
},
}
type Switch struct {
Key string
Val bool
Label string
}
// Return Switch by key
func GetSwitch(k string) *Switch {
for _, sw := range GlobalSwitches {
if sw.Key == k {
return sw
}
}
return &Switch{} // default
}
// Return Switch value by key
func GetSwitchVal(k string) bool {
return GetSwitch(k).Val
}
// Toggle a boolean switch
func Toggle(k string) {
sw := GetSwitch(k)
newVal := sw.Val != true
log.Noticef("config change: %s: %t -> %t", k, sw.Val, newVal)
sw.Val = newVal
//log.Errorf("ignoring toggle for non-existant switch: %s", k)
}