diff options
Diffstat (limited to 'repolist.go')
| -rw-r--r-- | repolist.go | 45 |
1 files changed, 37 insertions, 8 deletions
diff --git a/repolist.go b/repolist.go index 0af324e..23e4281 100644 --- a/repolist.go +++ b/repolist.go @@ -60,7 +60,9 @@ func (r *repo) Hide() { r.userVersion.Hide() r.dirtyLabel.Hide() - r.statusButton.Hide() + r.endBox.Hide() + // r.statusButton.Hide() + // r.diffButton.Hide() r.hidden = true } @@ -74,7 +76,9 @@ func (r *repo) Show() { r.userVersion.Show() r.dirtyLabel.Show() - r.statusButton.Show() + r.endBox.Show() + // r.statusButton.Show() + // r.diffButton.Show() r.hidden = false } @@ -113,15 +117,40 @@ func addRepo(grid *gui.Node, path string, master string, devel string, user stri newRepo.vLabel = grid.NewLabel("").SetProgName("current") - newRepo.statusButton = grid.NewButton("Configure", func() { + newRepo.endBox = grid.NewHorizontalBox("HBOX") + + newRepo.endBox.NewButton("Configure", func() { if newRepo.status == nil { - log.Warn("status window doesn't exist") + log.Warn("status window wasn't created") return } - log.Warn("status window exists. trying TestDraw() here") newRepo.status.Toggle() }) + newRepo.endBox.NewButton("show diff", func() { + me.reposwin.Disable() + newRepo.status.XtermNohup([]string{"git diff"}) + me.reposwin.Enable() + }) + + newRepo.endBox.NewButton("commit all", func() { + me.reposwin.Disable() + // restore anything staged so everything can be reviewed + newRepo.status.Xterm([]string{"git restore --staged ."}) + // newRepo.status.Xterm([]string{"git diff"}) + newRepo.status.Xterm([]string{"git add --all"}) + newRepo.status.XtermNohup([]string{"git diff --cached"}) + newRepo.status.Xterm([]string{"git commit -a"}) + if newRepo.status.CheckDirty() { + // commit was not done, restore diff + newRepo.status.Xterm([]string{"git restore --staged ."}) + } else { + newRepo.status.Update() + newRepo.newScan() + } + me.reposwin.Enable() + }) + newRepo.status = repostatus.NewRepoStatusWindow(newRepo.path) newRepo.hidden = false newRepo.status.SetMainWorkingName(master) @@ -146,7 +175,7 @@ func repolistWindow() { repoAllButtons(me.reposbox) me.reposgroup = me.reposbox.NewGroup("go repositories (read from ~/.config/myrepolist)") - me.reposgrid = me.reposgroup.NewGrid("test", 8, 1) + me.reposgrid = me.reposgroup.NewGrid("test", 0, 0) me.reposgrid.NewLabel("") // path goes here @@ -159,8 +188,7 @@ func repolistWindow() { me.reposgrid.NewLabel("Status") me.reposgrid.NewLabel("Current Version").SetProgName("Current Version") - - me.reposgrid.NewLabel("Show()") + me.reposgrid.NextRow() usr, _ := user.Current() @@ -178,6 +206,7 @@ func repolistWindow() { ubranch = usr.Username } addRepo(me.reposgrid, path, mbranch, dbranch, ubranch) + me.reposgrid.NextRow() } // TODO: figure out why this borks everything |
