summaryrefslogtreecommitdiff
path: root/windowPatches.go
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2025-01-06 19:03:35 -0600
committerJeff Carr <[email protected]>2025-01-06 19:03:35 -0600
commit4d1d02cc1a33d70d66acd6de97e568c402c7824d (patch)
tree9765c2bb8baa09228796cfa5c44b8a849cafc87c /windowPatches.go
parentcd7d256a8040997467b5ec63aff182cdce207ca8 (diff)
simple UI changes
Diffstat (limited to 'windowPatches.go')
-rw-r--r--windowPatches.go181
1 files changed, 29 insertions, 152 deletions
diff --git a/windowPatches.go b/windowPatches.go
index 6f06637..0b5cbf8 100644
--- a/windowPatches.go
+++ b/windowPatches.go
@@ -1,6 +1,7 @@
package main
import (
+ "fmt"
"strconv"
"go.wit.com/gui"
@@ -9,28 +10,17 @@ import (
"go.wit.com/log"
)
-/*
-type patch struct {
- ref string
- giturl string
- comment string
- rs *repostatus.RepoStatus
-}
-*/
-
type patchSummary struct {
- grid *gui.Node
- updateB *gui.Node
- docsB *gui.Node
- gitPushB *gui.Node
- gitPullB *gui.Node
- checkB *gui.Node
-
- // stats
- totalOL *gadgets.OneLiner
- // totalGoOL *gadgets.OneLiner
+ grid *gui.Node
+ updateB *gui.Node
+ docsB *gui.Node
+ gitPushB *gui.Node
+ gitPullB *gui.Node
+ checkB *gui.Node
+ totalOL *gadgets.OneLiner
dirtyOL *gadgets.OneLiner
readonlyOL *gadgets.OneLiner
+ rw *gadgets.OneLiner
totalPatchesOL *gadgets.OneLiner
totalUserRepos *gui.Node
totalDevelRepos *gui.Node
@@ -38,13 +28,12 @@ type patchSummary struct {
totalUserPatches *gui.Node
totalDevelPatches *gui.Node
totalMasterPatches *gui.Node
-
- // patch set generation
- unknownOL *gadgets.BasicEntry
- unknownSubmitB *gui.Node
- reason *gadgets.BasicEntry
- submitB *gui.Node
- allp []*repolist.Patch
+ fileCount *gui.Node
+ unknownOL *gadgets.BasicEntry
+ unknownSubmitB *gui.Node
+ reason *gadgets.BasicEntry
+ submitB *gui.Node
+ allp []*repolist.Patch
}
func submitPatchesBox(box *gui.Node) *patchSummary {
@@ -52,98 +41,24 @@ func submitPatchesBox(box *gui.Node) *patchSummary {
group1 := box.NewGroup("Patch Summary")
s.grid = group1.RawGrid()
- /*
- s.grid.NewButton("Update Patch Counts", func() {
- var repocount, patchcount int
- // broken after move to forge protobuf
- all := me.forge.Repos.SortByFullPath()
- for all.Scan() {
- repo := all.Next()
- if repo.GetReadOnly() {
- continue
- }
- i, _ := repo.GetMasterPatches()
- patchcount += i
- if i > 0 {
- repocount += 1
- }
- }
- s.totalMasterPatches.SetText(strconv.Itoa(patchcount) + " patches")
- s.totalMasterRepos.SetText(strconv.Itoa(repocount) + " go repos")
-
- repocount = 0
- patchcount = 0
- // broken after move to forge protobuf
- all = me.forge.Repos.SortByFullPath()
- for all.Scan() {
- repo := all.Next()
- if repo.GetReadOnly() {
- continue
- }
- i, _ := repo.GetUserPatches()
- patchcount += i
- if i > 0 {
- repocount += 1
- }
- }
- s.totalUserPatches.SetText(strconv.Itoa(patchcount) + " patches")
- s.totalUserRepos.SetText(strconv.Itoa(repocount) + " go repos")
- })
- */
-
- /* this used to be the way and should probably be revisited
- s.grid.NewButton("Make Patches", func() {
- for i, p := range s.allp {
- log.Info(i, p.Ref, p.RS.String())
- }
- })
- */
-
- s.grid.NextRow()
-
s.totalOL = gadgets.NewOneLiner(s.grid, "Total")
+ _ = s.grid.NewLabel("total changes")
+ _ = s.grid.NewLabel("user to devel")
s.grid.NextRow()
- // s.totalGoOL = gadgets.NewOneLiner(s.grid, "Total GO")
- // s.grid.NextRow()
-
s.dirtyOL = gadgets.NewOneLiner(s.grid, "dirty")
- s.grid.NextRow()
-
- s.readonlyOL = gadgets.NewOneLiner(s.grid, "read-only")
- s.grid.NextRow()
-
- // s.grid = group1.RawGrid()
- s.grid.NewLabel("")
- s.grid.NewLabel("")
- s.grid.NewLabel("user to devel")
- s.grid.NewLabel("devel to master")
- s.grid.NewLabel("master to last tag")
- s.grid.NextRow()
-
- s.grid.NewLabel("total modified")
- s.grid.NewLabel("")
+ _ = s.grid.NewLabel("") // skip a column
s.totalUserRepos = s.grid.NewLabel("x go repos")
- s.totalDevelRepos = s.grid.NewLabel("")
- s.totalMasterRepos = s.grid.NewLabel("x go repos")
s.grid.NextRow()
- s.totalPatchesOL = gadgets.NewOneLiner(s.grid, "total commits")
+ s.readonlyOL = gadgets.NewOneLiner(s.grid, "read-only")
+ _ = s.grid.NewLabel("") // skip a column
s.totalUserPatches = s.grid.NewLabel("x patches")
- s.totalDevelPatches = s.grid.NewLabel("")
- s.totalMasterPatches = s.grid.NewLabel("x patches")
s.grid.NextRow()
- /*
- s.grid.NewLabel("")
- s.grid.NewLabel("")
- s.grid.NewButton("merge from user", func() {
- log.Info("this should make a patchset of your patches")
- })
- s.grid.NewButton("merge from devel", func() {
- log.Info("this probably should not exist")
- })
- */
+ s.rw = gadgets.NewOneLiner(s.grid, "r/w")
+ _ = s.grid.NewLabel("") // skip a column
+ s.fileCount = s.grid.NewLabel("x files")
s.grid.NextRow()
group1 = box.NewGroup("Submit Patch Set")
@@ -213,27 +128,18 @@ func submitPatchesBox(box *gui.Node) *patchSummary {
}
})
- /*
- s.submitB = s.grid.NewButton("Submit quilt", func() {
- log.Info("do a submit here")
- })
- */
// disable these until there are not dirty repos
// s.reason.Disable()
s.submitB.Disable()
s.grid.NextRow()
- // s.unknownOL.Disable()
- // s.unknownSubmitB.Disable()
- s.grid.NextRow()
-
return s
}
// does not run any commands
func (s *patchSummary) Update() {
- var total, dirty, readonly int
- var userT, develT, masterT int
+ var total, dirty, readonly, rw int
+ var userT int // , develT, masterT int
// var userP, develP, masterP int
// broken after move to forge protobuf
all := me.forge.Repos.SortByFullPath()
@@ -243,45 +149,16 @@ func (s *patchSummary) Update() {
if repo.IsDirty() {
dirty += 1
}
- if repo.GetReadOnly() {
+ if me.forge.Config.IsReadOnly(repo.GetGoPath()) {
readonly += 1
- // don't count these in any further stats
- continue
- }
- // compute which GUI repos are out of sync with master
- userV := repo.GetUserVersion()
- develV := repo.GetDevelVersion()
- masterV := repo.GetMasterVersion()
- lastV := repo.GetLastTagVersion()
- if userV != develV {
- userT += 1
- }
- if develV != masterV {
- log.Info("develV != masterV", develV, masterV, repo.GetGoPath())
- develT += 1
- }
- if masterV != lastV {
- masterT += 1
+ } else {
+ rw += 1
}
}
s.totalOL.SetText(strconv.Itoa(total) + " repos")
- // s.totalGoOL.SetText(strconv.Itoa(totalgo) + " repos")
s.dirtyOL.SetText(strconv.Itoa(dirty) + " repos")
s.readonlyOL.SetText(strconv.Itoa(readonly) + " repos")
+ s.rw.SetText(fmt.Sprintf("%d repos", rw))
s.totalUserRepos.SetText(strconv.Itoa(userT) + " repos")
- s.totalDevelRepos.SetText(strconv.Itoa(develT) + " repos")
- s.totalMasterRepos.SetText(strconv.Itoa(masterT) + " repos")
-
- if dirty == 0 {
- s.reason.Enable()
- s.submitB.Enable()
- // s.unknownOL.Enable()
- // s.unknownSubmitB.Enable()
- } else {
- // s.reason.Disable()
- s.submitB.Enable()
- // s.unknownOL.Enable()
- // s.unknownSubmitB.Enable()
- }
}