From 391a988e5f638f5c4b33b78f1f0ac9df7e670518 Mon Sep 17 00:00:00 2001 From: Jeff Carr Date: Mon, 10 Mar 2025 14:57:33 -0500 Subject: [PATCH] working on more standard patch windows --- windowForgePatchsets.go | 53 ++++++++++++++++------------- windowNewPatches.go | 10 +++++- windowNewPatchsets.go | 23 ++++++++----- windowPatchset.go | 74 ++--------------------------------------- 4 files changed, 55 insertions(+), 105 deletions(-) diff --git a/windowForgePatchsets.go b/windowForgePatchsets.go index d1805a1..c212f1d 100644 --- a/windowForgePatchsets.go +++ b/windowForgePatchsets.go @@ -11,7 +11,6 @@ import ( "strconv" "go.wit.com/lib/gadgets" - "go.wit.com/lib/protobuf/forgepb" "go.wit.com/log" "go.wit.com/gui" @@ -102,8 +101,10 @@ func (r *patchesWindow) submitPatchesBox() { log.Info("you have no current patches") return } - win := makePatchWindow(pset) - win.Show() + /* + win := makePatchWindow(pset) + win.Show() + */ }) r.reason = gadgets.NewBasicEntry(grid, "Patchset name:") @@ -123,12 +124,12 @@ func (r *patchesWindow) submitPatchesBox() { log.Info("submit button is disabled. BAD GUI TOOLKIT ERROR") return } - pset, err := me.forge.SubmitDevelPatchSet(r.reason.String()) - if err != nil { - log.Info(err) - return - } - r.addPatchsetNew(pset) + // pset, err := me.forge.SubmitDevelPatchSet(r.reason.String()) + // if err != nil { + // log.Info(err) + // return + // } + // r.addPatchsetNew(pset) }) psets, err := openPatchsets() @@ -144,12 +145,14 @@ func (r *patchesWindow) submitPatchesBox() { } savePatchsets(psets) - log.Info("got psets len", len(psets.Patchsets)) - all := psets.SortByName() - for all.Scan() { - pset := all.Next() - r.addPatchsetNew(pset) - } + /* + log.Info("got psets len", len(psets.Patchsets)) + all := psets.SortByName() + for all.Scan() { + pset := all.Next() + r.addPatchsetNew(pset) + } + */ }) // disables the submit button until the user enters a name @@ -165,15 +168,18 @@ func (r *patchesWindow) submitPatchesBox() { if psets != nil { log.Info("got psets len", len(psets.Patchsets)) - all := psets.SortByName() - for all.Scan() { - pset := all.Next() - // log.Info("pset name =", pset.Name) - r.addPatchsetNew(pset) - } + /* + all := psets.SortByName() + for all.Scan() { + pset := all.Next() + log.Info("pset name =", pset.Name) + r.addPatchsetNew(pset) + } + */ } } +/* func (r *patchesWindow) addPatchsetNew(pset *forgepb.Patchset) { var win *patchWindow r.psetgrid.NewButton("View", func() { @@ -183,8 +189,8 @@ func (r *patchesWindow) addPatchsetNew(pset *forgepb.Patchset) { return } - win = makePatchWindow(pset) - win.Show() + // win = makePatchWindow(pset) + // win.Show() }) r.psetgrid.NewLabel(pset.Name) r.psetgrid.NewLabel(pset.Comment) @@ -202,6 +208,7 @@ func (r *patchesWindow) addPatchsetNew(pset *forgepb.Patchset) { r.psetgrid.NextRow() } +*/ // will update this from the current state of the protobuf func (r *patchesWindow) Update() { diff --git a/windowNewPatches.go b/windowNewPatches.go index 3e7e435..2d9f29c 100644 --- a/windowNewPatches.go +++ b/windowNewPatches.go @@ -32,9 +32,10 @@ func (w *stdPatchTableWin) Toggle() { func makePatchesWin() *stdPatchTableWin { dwin := new(stdPatchTableWin) - dwin.win = gadgets.NewGenericWindow("forge current patchsets", "who is squirreling around?") + dwin.win = gadgets.NewGenericWindow("current patches", "patching options") dwin.win.Custom = func() { log.Info("test delete window here") + // dwin = nil } grid := dwin.win.Group.RawGrid() @@ -54,6 +55,13 @@ func (dwin *stdPatchTableWin) doPatchesTable(currentPatches *forgepb.Patches) { dwin.TB.Delete() dwin.TB = nil } + + // display the protobuf + dwin.TB = AddPatchesPB(dwin.box, currentPatches) + f := func(p *forgepb.Patch) { + log.Info("do something with patch", p.Filename) + } + dwin.TB.Custom(f) } // define what rows to have in the protobuf table diff --git a/windowNewPatchsets.go b/windowNewPatchsets.go index b8cc31d..2b8bb46 100644 --- a/windowNewPatchsets.go +++ b/windowNewPatchsets.go @@ -33,7 +33,7 @@ func (w *stdPatchsetTableWin) Toggle() { func makePatchsetsWin() *stdPatchsetTableWin { dwin := new(stdPatchsetTableWin) - dwin.win = gadgets.NewGenericWindow("forge current patchsets", "who is squirreling around?") + dwin.win = gadgets.NewGenericWindow("forge current patchsets", "patchset options") dwin.win.Custom = func() { log.Info("test delete window here") } @@ -88,8 +88,10 @@ func (dwin *stdPatchsetTableWin) doPatchsetsTable(currentPatchsets *forgepb.Patc dwin.TB = AddPatchsetsPB(dwin.box, currentPatchsets) f := func(pset *forgepb.Patchset) { log.Info("Triggered. do something here", pset.Name) - win := makePatchWindow(pset) - win.Show() + /* + win := makePatchWindow(pset) + win.Show() + */ } dwin.TB.Custom(f) } @@ -106,19 +108,22 @@ func AddPatchsetsPB(tbox *gui.Node, pb *forgepb.Patchsets) *forgepb.PatchsetsTab testf := func(p *forgepb.Patchset) string { return "test" } - tp := t.AddButtonFunc("Analyse", testf) + tp := t.AddButtonFunc("Analyze", testf) tp.Custom = func(p *forgepb.Patchset) { - log.Info("show patches here", p.Name) - patchwin := makePatchesWin() - patchwin.doPatchesTable(p.Patches) + log.Info("analyze patches here", p.Name) } vp := t.AddButtonFunc("View Patchset", func(p *forgepb.Patchset) string { return p.Name }) vp.Custom = func(pset *forgepb.Patchset) { - win := makePatchWindow(pset) - win.Show() + log.Info("show patches here", pset.Name) + patchwin := makePatchesWin() + patchwin.doPatchesTable(pset.Patches) + /* + win := makePatchWindow(pset) + win.Show() + */ } t.AddComment() diff --git a/windowPatchset.go b/windowPatchset.go index 6f9c6a1..9eda8df 100644 --- a/windowPatchset.go +++ b/windowPatchset.go @@ -3,19 +3,7 @@ package main -import ( - "os" - "path/filepath" - "sync" - - "go.wit.com/lib/gadgets" - "go.wit.com/lib/protobuf/forgepb" - "go.wit.com/lib/protobuf/gitpb" - "go.wit.com/log" - - "go.wit.com/gui" -) - +/* type patchWindow struct { once sync.Once // only init() the window once win *gadgets.BasicWindow // the patches window @@ -123,28 +111,6 @@ func makePatchWindow(pset *forgepb.Patchset) *patchWindow { grid.NewLabel("Applied in current branch?") grid.NewLabel("start hash") grid.NewLabel("") - /* - grid.NewButton("Extract", func() { - if err := savePatchset(pset); err != nil { - log.Info("Save err:", err) - return - } - }) - grid.NewButton("Apply with git am", func() { - if _, _, _, err := IsEverythingOnUser(); err != nil { - log.Info("You can only apply patches to the user branch") - return - } - if IsAnythingDirty() { - log.Info("You can't apply patches when repos are dirty") - me.forge.PrintHumanTable(me.found) - return - } - if argv.Force { - applyPatchset(pset) - } - }) - */ grid.NextRow() // add the patches to the grid @@ -153,25 +119,6 @@ func makePatchWindow(pset *forgepb.Patchset) *patchWindow { } func (r *patchWindow) addPatchset(grid *gui.Node, pset *forgepb.Patchset) { - /* - repomap := make(map[*gitpb.Repo][]*forgepb.Patch) - repohash := make(map[*gitpb.Repo]string) - - // sort patches by repo namespace - all := pset.Patches.SortByFilename() - for all.Scan() { - p := all.Next() - s := p.RepoNamespace - repo := me.forge.FindByGoPath(s) - if repo == nil { - log.Info("Could not figure out repo path", s) - continue - } - repomap[repo] = append(repomap[repo], p) - repohash[repo] = p.StartHash - } - */ - all := pset.Patches.SortByFilename() for all.Scan() { p := all.Next() @@ -185,14 +132,6 @@ func (r *patchWindow) addPatchset(grid *gui.Node, pset *forgepb.Patchset) { log.Info("Adding patches for", rn) grid.NewLabel(rn) - /* - for i, p := range patches { - log.Info(i, p.Filename) - grid.NewLabel(p.Comment) - grid.NewLabel("in current branch?") - break - } - */ // hash := repohash[repo] grid.NewLabel(p.StartHash) grid.NewLabel(p.Filename) @@ -216,16 +155,6 @@ func (r *patchWindow) addPatchset(grid *gui.Node, pset *forgepb.Patchset) { // for _, pat := range patches { // } }) - /* - grid.NewButton("view hash", func() { - cmd := []string{"git", "whatchanged", hash} - log.Info(repo.GetFullPath(), cmd) - }) - grid.NewButton("git am", func() { - cmd := []string{"git", "whatchanged", hash} - log.Info(repo.GetFullPath(), cmd) - }) - */ grid.NextRow() } } @@ -279,3 +208,4 @@ func savePatchset(pset *forgepb.Patchset) error { } return nil } +*/