summaryrefslogtreecommitdiff
path: root/repolist.go
diff options
context:
space:
mode:
Diffstat (limited to 'repolist.go')
-rw-r--r--repolist.go45
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