diff options
Diffstat (limited to 'repolist.go')
| -rw-r--r-- | repolist.go | 167 |
1 files changed, 0 insertions, 167 deletions
diff --git a/repolist.go b/repolist.go deleted file mode 100644 index da0adbf..0000000 --- a/repolist.go +++ /dev/null @@ -1,167 +0,0 @@ -// This is a simple example -package main - -import ( - "io/ioutil" - "os/user" - "strings" - - "go.wit.com/gui" - "go.wit.com/lib/gadgets" - "go.wit.com/lib/gui/repostatus" - "go.wit.com/log" -) - -func (r *repo) String() string { - if r.status == nil { - return r.path - } - return r.status.String() -} - -func (r *repo) getPath() string { - return r.path -} - -func RemoveFirstElement(slice []string) (string, []string) { - if len(slice) == 0 { - return "", slice // Return the original slice if it's empty - } - return slice[0], slice[1:] // Return the slice without the first element -} - -// returns path, master branch name, devel branch name, user branch name -func splitLine(line string) (string, string, string, string) { - var path, master, devel, user string - parts := strings.Split(line, " ") - path, parts = RemoveFirstElement(parts) - master, parts = RemoveFirstElement(parts) - devel, parts = RemoveFirstElement(parts) - user, parts = RemoveFirstElement(parts) - // path, master, devel, user := strings.Split(line, " ") - return path, master, devel, user -} - -func myrepolist() []string { - content, _ := ioutil.ReadFile("/home/jcarr/.config/myrepolist") - out := string(content) - out = strings.TrimSpace(out) - lines := strings.Split(out, "\n") - return lines -} - -func (r *repo) Hide() { - r.pLabel.Hide() - r.lastTag.Hide() - r.vLabel.Hide() - r.targetVersion.Hide() - - r.dirtyLabel.Hide() - r.goSumStatus.Hide() - r.statusButton.Hide() - r.hidden = true -} - -func (r *repo) Show() { - r.pLabel.Show() - r.lastTag.Show() - r.vLabel.Show() - r.targetVersion.Show() - - r.dirtyLabel.Show() - r.goSumStatus.Show() - r.statusButton.Show() - r.hidden = false -} - -// This creates a window -func repoworld() { - reposwin = gadgets.NewBasicWindow(me.myGui, "All git repositories in ~/go/src/") - reposwin.Make() - reposwin.Custom = func() { - log.Warn("GOT HERE: main() gadgets.NewBasicWindow() close") - log.Warn("Should I do something special here?") - } - reposbox = reposwin.Box().NewBox("bw vbox", false) - - reposgroup = reposbox.NewGroup("go repositories (read from ~/.config/myrepolist)") - reposgrid = reposgroup.NewGrid("test", 7, 1) - - reposgrid.NewLabel("") // path goes here - - reposgrid.NewLabel("last tag") - reposgrid.NewLabel("Current Ver") - reposgrid.NewLabel("Target Ver") - - reposgrid.NewLabel("Status") - reposgrid.NewLabel("go.sum") - - reposgrid.NewLabel("Show()") - - repos := myrepolist() - for _, line := range repos { - log.Verbose("repo =", line) - path, mbranch, dbranch, ubranch := splitLine(line) - if mbranch == "" { - mbranch = "master" - } - if dbranch == "" { - dbranch = "devel" - } - usr, _ := user.Current() - if ubranch == "" { - ubranch = usr.Username - } - addRepo(reposgrid, path, mbranch, dbranch, ubranch) - } - - for i, path := range repostatus.ListGitDirectories() { - // log.Info("addRepo()", i, path) - tmp := strings.TrimPrefix(path, "/home/jcarr/go/src/") - log.Info("addRepo()", i, tmp) - addRepo(reposgrid, tmp, "master", "master", "master") - } -} - -func addRepo(grid *gui.Node, path string, master string, devel string, user string) { - _, ok := me.allrepos[path] - if ok { - log.Info("addRepo() already had path", path) - return - } - - newRepo := new(repo) - - if path == "" { - log.Warn("addRepo() got empty path", path, master, devel, user) - return - } - - newRepo.path = path - newRepo.pLabel = grid.NewLabel(path) - - newRepo.lastTag = grid.NewLabel("") - newRepo.vLabel = grid.NewLabel("") - newRepo.targetVersion = grid.NewLabel("") - - newRepo.dirtyLabel = grid.NewLabel("") - newRepo.goSumStatus = grid.NewLabel("?") - - newRepo.statusButton = grid.NewButton("Configure", func() { - if newRepo.status == nil { - log.Warn("status window doesn't exist") - return - } - log.Warn("status window exists. trying TestDraw() here") - newRepo.status.Toggle() - setCurrentRepo(newRepo, "manually chosen", "notsure") - }) - - newRepo.status = repostatus.NewRepoStatusWindow(newRepo.path) - if newRepo.status == nil { - log.Warn("something is wrong with", path) - os.Exit(0) - } - newRepo.hidden = false - me.allrepos[path] = newRepo -} |
