summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2025-05-31 11:31:11 -0500
committerJeff Carr <[email protected]>2025-05-31 11:31:11 -0500
commitad5d8dbb8784ed4ae036cea04c7b49ffaedca944 (patch)
tree6838dd051081cdf62b05fd89d2e7fb9aca913e9d
parent8a24141803f22479eb17766a766ace536cbece23 (diff)
redo repos window
-rw-r--r--doGui.go12
-rw-r--r--windowRepos.go42
2 files changed, 52 insertions, 2 deletions
diff --git a/doGui.go b/doGui.go
index 49fe114..3b5efa6 100644
--- a/doGui.go
+++ b/doGui.go
@@ -214,9 +214,19 @@ func drawWindow(win *gadgets.GenericWindow) {
})
*/
+ var newWin *gadgets.GenericWindow
+ s := fmt.Sprintf("Repos (%d)", me.forge.Repos.Len())
+ me.reposWinB = gridM.NewButton(s, func() {
+ if newWin != nil {
+ newWin.Toggle()
+ return
+ }
+ newWin = makeReposWindowNew()
+ })
+
// var reposWin *gadgets.GenericWindow
var reposWin *stdReposTableWin
- me.reposWinB = gridM.NewButton("Repos", func() {
+ gridM.NewButton("Fix Repos", func() {
if reposWin != nil {
reposWin.Toggle()
return
diff --git a/windowRepos.go b/windowRepos.go
index 6782a21..f643164 100644
--- a/windowRepos.go
+++ b/windowRepos.go
@@ -223,7 +223,7 @@ func makeReposWin() *stdReposTableWin {
hbox.NewButton("test", func() {
})
- t := makeStandardReposGrid(found)
+ t := makeDevelBehindMaster(found)
t.SetParent(box)
t.ShowTable()
})
@@ -301,6 +301,25 @@ func makeReposWin() *stdReposTableWin {
return rwin
}
+// table of devel errors behind master
+func makeDevelBehindMaster(pb *gitpb.Repos) *gitpb.ReposTable {
+ t := pb.NewTable("testDirty")
+ t.NewUuid()
+ sf := t.AddStringFunc("repo", func(r *gitpb.Repo) string {
+ return r.GetGoPath()
+ })
+ sf.Custom = func(r *gitpb.Repo) {
+ log.Info("merge master into devel here", r.GetGoPath())
+ }
+ t.AddTimeFunc("age", func(repo *gitpb.Repo) time.Time {
+ return repo.NewestTime()
+ })
+ t.AddMasterVersion()
+ t.AddDevelVersion()
+ t.AddState()
+ return t
+}
+
// default window for active running droplets
func (rwin *stdReposTableWin) doReposTable(pb *gitpb.Repos) {
rwin.Lock()
@@ -573,3 +592,24 @@ func addWindowPB(win *gadgets.GenericWindow, pb *gitpb.Repos) *gitpb.ReposTable
t.ShowTable()
return t
}
+
+func makeReposWindowNew() *gadgets.GenericWindow {
+ win := gadgets.NewGenericWindow("git repos", "Filter")
+ win.Custom = func() {
+ // sets the hidden flag to false so Toggle() works
+ win.Hide()
+ }
+
+ hbox := win.Group.Box().Horizontal()
+ hbox.NewCheckbox("broken")
+ hbox.NewCheckbox("dirty")
+ hbox.NewCheckbox("mine")
+ hbox.NewButton("fix all", func() {
+ log.Info("try to fix everything here")
+ })
+
+ t := makeStandardReposGrid(me.forge.Repos)
+ t.SetParent(win.Bottom)
+ t.ShowTable()
+ return win
+}