diff options
| author | Jeff Carr <[email protected]> | 2024-02-12 15:24:35 -0600 |
|---|---|---|
| committer | Jeff Carr <[email protected]> | 2024-02-12 15:24:35 -0600 |
| commit | 4555b9f34d926f1a94691a1d2db5ed2d1520daa8 (patch) | |
| tree | c5669d8ab90c9583259c58889da1e4a8a443029e /repolist.go | |
| parent | cdc5743e67fd69c20a582d59ec2c47c804ae84ef (diff) | |
add a git commit button. I used it for this commit
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 |
