diff options
Diffstat (limited to 'doGui.go')
| -rw-r--r-- | doGui.go | 156 |
1 files changed, 80 insertions, 76 deletions
@@ -15,7 +15,6 @@ import ( "go.wit.com/gui" "go.wit.com/lib/debugger" "go.wit.com/lib/gadgets" - "go.wit.com/lib/gui/repolist" "go.wit.com/lib/gui/shell" "go.wit.com/lib/protobuf/gitpb" "go.wit.com/log" @@ -195,18 +194,6 @@ func drawWindow(win *gadgets.BasicWindow) { me.autoCreateBranches = grid.NewCheckbox("auto create branches").SetChecked(true) grid.NextRow() - var patchWin *patchesWindow - - grid.NewButton("Patches Window", func() { - if patchWin != nil { - patchWin.Toggle() - return - } - patchWin = new(patchesWindow) - patchWin.initWindow() - patchWin.Show() - }) - group2 := vbox.NewGroup("Repos") grid = group2.RawGrid() @@ -246,42 +233,44 @@ func drawWindow(win *gadgets.BasicWindow) { findMergeToDevel() makeStandardReposWindow(me.found) }) - grid.NextRow() - - group2 = vbox.NewGroup("Repos with problems") - grid = group2.RawGrid() - - grid.NewButton("devel is behind master", func() { - log.Info("not done yet") + var problemsWin *repoProblemsWindow + grid.NewButton("Repo Problems", func() { + if problemsWin != nil { + problemsWin.Toggle() + return + } + problemsWin = makeRepoProblemsWindow() }) + grid.NextRow() - grid.NewButton("user branch is remote", func() { - log.Info("not done yet") - }) + /* + group2 = vbox.NewGroup("Repos with problems") + grid = group2.RawGrid() - grid.NewButton("unknown branches", func() { - log.Info("not done yet") - }) - grid.NextRow() + grid.NewButton("devel is behind master", func() { + log.Info("not done yet") + }) - grid.NewButton("remote devel != local devel", func() { - log.Info("not done yet") - }) + grid.NewButton("user branch is remote", func() { + log.Info("not done yet") + }) - grid.NewButton("remote master != local master", func() { - log.Info("not done yet") - }) + grid.NewButton("unknown branches", func() { + log.Info("not done yet") + }) + grid.NextRow() - group3 := vbox.NewGroup("debugging stuff") - grid = group3.RawGrid() + grid.NewButton("remote devel != local devel", func() { + log.Info("not done yet") + }) - grid.NewButton("forge ConfigSave()", func() { - me.forge.ConfigSave() - }) + grid.NewButton("remote master != local master", func() { + log.Info("not done yet") + }) + */ - grid.NewButton("debugger()", func() { - debugger.DebugWindow() - }) + group2 = vbox.NewGroup("Merge") + grid = group2.RawGrid() grid.NewButton("merge to devel", func() { win.Disable() @@ -324,53 +313,65 @@ func drawWindow(win *gadgets.BasicWindow) { mergeDevelToMaster(me.autoCreateBranches.Checked()) }) - group3 = vbox.NewGroup("old junk") + group3 := vbox.NewGroup("work in progress") grid = group3.RawGrid() - var foundWin *foundWindow - grid.NewButton("Search Repos", func() { - if foundWin != nil { - foundWin.Toggle() + grid.NewButton("forge ConfigSave()", func() { + me.forge.ConfigSave() + }) + + grid.NewButton("debugger()", func() { + debugger.DebugWindow() + }) + + var patchWin *patchesWindow + + grid.NewButton("Patches Window", func() { + if patchWin != nil { + patchWin.Toggle() return } - foundWin = new(foundWindow) - foundWin.initWindow() - foundWin.Show() + patchWin = new(patchesWindow) + patchWin.initWindow() + patchWin.Show() }) - grid.NewButton("Repo Window", func() { - win.Disable() - defer win.Enable() - if reposWin != nil { - if reposWin.Hidden() { - reposWin.Show() - } else { - reposWin.Hide() + /* + grid.NewButton("Repo Window", func() { + win.Disable() + defer win.Enable() + if reposWin != nil { + if reposWin.Hidden() { + reposWin.Show() + } else { + reposWin.Hide() + } + return } - return - } - reposWin := new(repoWindow) - reposWin.win = gadgets.RawBasicWindow("All git repositories in ~/go/src/") - reposWin.win.Make() + reposWin := new(repoWindow) + reposWin.win = gadgets.RawBasicWindow("All git repositories in ~/go/src/") + reposWin.win.Make() - reposWin.box = reposWin.win.Box().NewBox("bw vbox", false) - // me.reposwin.Draw() - reposWin.win.Custom = func() { - log.Warn("Repo Window close. hidden=true") - // sets the hidden flag to false so Toggle() works - reposWin.win.Hide() - } - reposWin.topbox = reposWin.repoMenu() + reposWin.box = reposWin.win.Box().NewBox("bw vbox", false) + // me.reposwin.Draw() + reposWin.win.Custom = func() { + log.Warn("Repo Window close. hidden=true") + // sets the hidden flag to false so Toggle() works + reposWin.win.Hide() + } + reposWin.topbox = reposWin.repoMenu() - reposWin.View = repolist.InitBox(me.forge, reposWin.box) - reposWin.View.Enable() + reposWin.View = repolist.InitBox(me.forge, reposWin.box) + reposWin.View.Enable() - // need to update this logic - reposWin.View.ScanRepositoriesOld() - reposWin.win.Show() - }) + // need to update this logic + reposWin.View.ScanRepositoriesOld() + reposWin.win.Show() + }) + */ } +// this is the magic that generates a window directly from the protocol buffer func makeStandardReposWindow(pb *gitpb.Repos) { t := pb.NewTable("testDirty") sf := t.AddStringFunc("repo", func(r *gitpb.Repo) string { @@ -382,6 +383,9 @@ func makeStandardReposWindow(pb *gitpb.Repos) { sf.Custom = func(r *gitpb.Repo) { log.Info("do button click on", r.GetGoPath()) } + t.AddTimeFunc("age", func(repo *gitpb.Repo) time.Time { + return repo.NewestTime() + }) t.AddMasterVersion() t.AddDevelVersion() t.AddUserVersion() |
