summaryrefslogtreecommitdiff
path: root/main.go
diff options
context:
space:
mode:
Diffstat (limited to 'main.go')
-rw-r--r--main.go118
1 files changed, 91 insertions, 27 deletions
diff --git a/main.go b/main.go
index 0178810..6a12e11 100644
--- a/main.go
+++ b/main.go
@@ -3,6 +3,7 @@ package main
import (
"os/user"
+ "embed"
"go.wit.com/log"
@@ -11,11 +12,15 @@ import (
"go.wit.com/gui/gadgets/repostatus"
)
+//go:embed plugins/*
+var resToolkit embed.FS
+
func main() {
- myGui = gui.New().Default()
+ myGui = gui.New()
+ myGui.InitEmbed(resToolkit)
+ myGui.Default()
repoworld()
-
gui.Watchdog()
}
@@ -30,19 +35,19 @@ func addRepo(grid *gui.Node, path string, master string, devel string, user stri
}
newRepo.path = path
- newRepo.pLabel = grid.NewLabel(path)
- newRepo.bLabel = grid.NewLabel("")
- newRepo.lastLabel = grid.NewLabel("")
- newRepo.vLabel = grid.NewLabel("")
+ newRepo.pLabel = grid.NewLabel(path).SetProgName("path")
+ newRepo.lastTag = grid.NewLabel("").SetProgName("lastTag")
+ newRepo.vLabel = grid.NewLabel("").SetProgName("current")
- newRepo.masterName = grid.NewLabel("")
- newRepo.masterVersion = grid.NewLabel("")
- newRepo.develName = grid.NewLabel("")
- newRepo.develVersion = grid.NewLabel("")
- newRepo.userName = grid.NewLabel("")
- newRepo.userVersion = grid.NewLabel("")
+ newRepo.masterName = grid.NewLabel("").SetProgName("masterName")
+ newRepo.masterVersion = grid.NewLabel("").SetProgName("masterVersion")
+ newRepo.develName = grid.NewLabel("").SetProgName("develName")
+ newRepo.develVersion = grid.NewLabel("").SetProgName("develVersion")
+ newRepo.userName = grid.NewLabel("").SetProgName("userName")
+ newRepo.userVersion = grid.NewLabel("").SetProgName("userVersion")
newRepo.dirtyLabel = grid.NewLabel("")
+ /*
newRepo.pButton = grid.NewButton("rescan", func () {
newRepo.newScan()
})
@@ -63,6 +68,7 @@ func addRepo(grid *gui.Node, path string, master string, devel string, user stri
log.Warn("status window exists. trying Hide() here")
newRepo.status.Hide()
})
+ */
grid.NewButton("Show()", func () {
if newRepo.status == nil {
log.Warn("status window doesn't exist")
@@ -92,13 +98,11 @@ func repoworld() {
reposbox = reposwin.Box().NewBox("bw vbox", false)
reposgroup = reposbox.NewGroup("go repositories (read from ~/.config/myrepolist)")
- reposgrid = reposgroup.NewGrid("test", 15, 1)
+ reposgrid = reposgroup.NewGrid("test", 11, 1)
reposgrid.NewLabel("")
- reposgrid.NewLabel("branch")
- reposgrid.NewLabel("last tag")
- reposgrid.NewLabel("Current Version")
- // reposgrid.NewLabel("tags")
+ reposgrid.NewLabel("last tag").SetProgName("last tag")
+ reposgrid.NewLabel("Current Version").SetProgName("Current Version")
reposgrid.NewLabel("master")
reposgrid.NewLabel("version")
reposgrid.NewLabel("devel")
@@ -106,9 +110,6 @@ func repoworld() {
reposgrid.NewLabel("user")
reposgrid.NewLabel("version")
reposgrid.NewLabel("Status")
- reposgrid.NewLabel("rescan")
- reposgrid.NewLabel("Update()")
- reposgrid.NewLabel("Hide()")
reposgrid.NewLabel("Show()")
repos := myrepolist()
@@ -123,24 +124,87 @@ func repoworld() {
}
box2 := reposwin.Box().NewBox("bw vbox", false)
- box2.NewButton("reposgrid.Margin()", func () {
- log.Warn("reposgrid.Margin() RUN NOW")
- reposgrid.Margin()
- log.Warn("reposgrid.Pad() RUN NOW")
- reposgrid.Pad()
+
+ buildOptions := box2.NewGrid("buildOptions",2, 1)
+ title := gadgets.NewOneLiner(buildOptions, "Branch and build")
+ title.Set("options")
+ guiBranch := gadgets.NewBasicCombobox(buildOptions, "Select GUI branch")
+ guiBranch.Add("guimaster")
+ guiBranch.Add("guidevel")
+ guiBranch.Add("jcarr")
+
+ buildOptions.NewLabel("only PERFECT")
+ buildOptions.NewButton("Find", func () {
+ log.Warn("delete every repo marked PERFECT")
+ var newCmds [][]string
+ for _, repo := range allrepos {
+ status := repo.getStatus()
+ if status == "PERFECT" {
+ var line []string
+ line = append(line, "rm", "-rf", "go/src/" + repo.path)
+ newCmds = append(newCmds, line)
+ }
+ }
+ script = newCmds
+ doit.Enable()
+ setGitCommands()
+ })
+
+ buildOptions.NewLabel("start over")
+ buildOptions.NewButton("rm src & pkgs", func () {
+ var newCmds [][]string
+ var dirty bool = false
+ for _, repo := range allrepos {
+ status := repo.getStatus()
+ if status == "dirty" {
+ dirty = true
+ break
+ }
+ }
+ line := []string{"rm", "-rf", "go/src/"}
+ newCmds = append(newCmds, line)
+ newCmds = append(newCmds, []string{"rm", "-rf", "go/pkg/"})
+ if dirty {
+ line := []string{"can't do this with dirty repos"}
+ newCmds = append(newCmds, line)
+ doit.Disable()
+ } else {
+ doit.Enable()
+ }
+ script = newCmds
+ setGitCommands()
+ })
+
+ buildOptions.NewLabel("repo pkg's")
+ buildOptions.NewButton("rm ~/go/pkg/", func () {
+ log.Warn("delete every repo here but skip dirty ones")
+ cmds.Set("rm -rf ~/go/pkg/")
})
- box2.NewButton("status.Update() all", func () {
+ buildOptions.NewButton("status.Update() all", func () {
for _, repo := range allrepos {
repo.status.Update()
}
})
- box2.NewButton("rescan all", func () {
+ buildOptions.NewButton("rescan all", func () {
for _, repo := range allrepos {
repo.newScan()
}
})
+ buildOptions.NewLabel("cmd")
+ cmds = buildOptions.NewLabel("ls")
+
+ buildOptions.NewLabel("Doit")
+ doit = buildOptions.NewButton("run commands", func () {
+ doit.Disable()
+ log.Warn("should run the commands here")
+ if runCommands() {
+ log.Warn("EVERYTHING WORKED")
+ } else {
+ log.Warn("EVERYTHING DID NOT WORK")
+ }
+ })
reposwin.Draw()
}