summaryrefslogtreecommitdiff
path: root/doGui.go
diff options
context:
space:
mode:
Diffstat (limited to 'doGui.go')
-rw-r--r--doGui.go184
1 files changed, 1 insertions, 183 deletions
diff --git a/doGui.go b/doGui.go
index 45e29c9..26b74b9 100644
--- a/doGui.go
+++ b/doGui.go
@@ -11,7 +11,6 @@ import (
"time"
"go.wit.com/gui"
- "go.wit.com/lib/debugger"
"go.wit.com/lib/gadgets"
"go.wit.com/lib/gui/shell"
"go.wit.com/lib/protobuf/forgepb"
@@ -217,114 +216,7 @@ func drawWindow(win *gadgets.GenericWindow) {
hackWin.Toggle()
return
}
- hackWin := gadgets.NewGenericWindow("Hack / User Mode Window", "Things that might be wrong")
- grid := hackWin.Group.RawGrid()
- grid.NewButton("git pull", func() {
- log.Info("todo: run git pull on each repo")
- })
-
- me.repoDevelMergeB = grid.NewButton("merge", func() {
- found := findMergeToDevel()
- _, box := makeStandardReposWindow("repos to merge from user to devel", found)
- hbox := box.Box().Horizontal()
- hbox.NewButton("merge all", func() {
- win.Disable()
- defer win.Enable()
- all := found.SortByFullPath()
- for all.Scan() {
- repo := all.Next()
- if repo.CheckDirty() {
- log.Info("repo is dirty", repo.GetGoPath())
- continue
- }
- log.Info("Starting merge on", repo.GetGoPath())
- if repo.CheckoutDevel() {
- log.Info("checkout devel failed", repo.GetGoPath())
- return
- }
- if _, err := repo.MergeToDevel(); err != nil {
- log.Info("merge from user failed", repo.GetGoPath(), err)
- // log.Info(strings.Join(r.Stdout, "\n"))
- // log.Info(strings.Join(r.Stderr, "\n"))
- return
- }
- if repo.CheckoutMaster() {
- log.Info("checkout master failed", repo.GetGoPath())
- return
- }
- if _, err := repo.MergeToMaster(); err != nil {
- log.Info("merge from devel failed", repo.GetGoPath(), err)
- return
- }
-
- }
- })
- })
- var problemsWin *repoProblemsWindow
- grid.NewButton("Repo Problems", func() {
- if problemsWin != nil {
- problemsWin.Toggle()
- return
- }
- problemsWin = makeRepoProblemsWindow()
- })
- grid.NextRow()
-
- // grid := hackWin.Group.RawGrid()
- group2 := hackWin.Stack.NewGroup("Merge")
- grid = group2.RawGrid()
-
- grid.NewButton("merge to devel", func() {
- win.Disable()
- defer win.Enable()
-
- mergeUserToDevel(true)
- })
-
- grid.NewButton("merge to master", func() {
- win.Disable()
- defer win.Enable()
-
- mergeDevelToMaster(true)
- })
-
- grid.NewButton("merge all", func() {
- win.Disable()
- defer win.Enable()
-
- me.argvCheckoutUser = false
- me.argvCheckoutDevel = true
- me.argvCheckoutMaster = false
- if err := doCheckoutShared(); err != nil {
- log.Info("checkout error:", err)
- } else {
- log.Info("checkout was ok")
- }
-
- mergeUserToDevel(true)
-
- me.argvCheckoutUser = false
- me.argvCheckoutDevel = false
- me.argvCheckoutMaster = true
- if err := doCheckoutShared(); err != nil {
- log.Info("checkout error:", err)
- } else {
- log.Info("checkout was ok")
- }
-
- mergeDevelToMaster(true)
- })
-
- group3 := hackWin.Stack.NewGroup("work in progress")
- grid = group3.RawGrid()
-
- grid.NewButton("forge ConfigSave()", func() {
- me.forge.ConfigSave()
- })
-
- grid.NewButton("debugger()", func() {
- debugger.DebugWindow()
- })
+ hackWin = makeHackModeWindow()
})
var reposWin *gadgets.GenericWindow
@@ -352,80 +244,6 @@ func drawWindow(win *gadgets.GenericWindow) {
forgeSwitchMode(me.forge.Config.Mode)
}
-func makeReposWin() *gadgets.GenericWindow {
- win := gadgets.NewGenericWindow("git repos", "All about git repos")
- grid := win.Group.RawGrid()
-
- me.repoDirtyB = grid.NewButton("dirty", func() {
- doCheckDirtyAndConfigSave()
- found := findDirty()
- tb, box := makeStandardReposWindow("dirty repos", found)
- hbox := box.Box().Horizontal()
- hbox.NewButton("commit all", func() {
- all := found.SortByFullPath()
- for all.Scan() {
- repo := all.Next()
- log.Info("do commit here on", repo.GetGoPath())
- }
- log.Info("TODO: fix this")
- log.Info("run 'forge commit --all'")
- })
- hbox.NewButton("update table", func() {
- me.forge.PrintHumanTable(found)
- found2 := findDirty()
- me.forge.PrintHumanTable(found2)
- tb.Update()
- tb.UpdateTable(found2)
- })
- hbox.NewButton("delete table", func() {
- tb.Delete()
- })
- })
-
- var writeWin *gadgets.GenericWindow
- me.repoWritableB = grid.NewButton("writable", func() {
- // if the window exists, just toggle it open or closed
- if writeWin != nil {
- writeWin.Toggle()
- return
- }
-
- // make the window for the first time
- found := new(gitpb.Repos)
- all := me.forge.Repos.SortByFullPath()
- for all.Scan() {
- repo := all.Next()
- if me.forge.Config.IsReadOnly(repo.GetGoPath()) {
- continue
- }
-
- found.AppendByGoPath(repo)
-
- }
- writeWin, _ = makeWritableWindow(found)
- writeWin.Win.Custom = func() {
- log.Info("closing window. could do somethine here")
- }
- })
-
- me.repoAllB = grid.NewButton("All", func() {
- me.found = new(gitpb.Repos)
- all := me.forge.Repos.SortByFullPath()
- for all.Scan() {
- repo := all.Next()
- me.found.AppendByGoPath(repo)
-
- }
- makeStandardReposWindow("All repos", me.found)
- })
-
- grid.NewButton("Configure", func() {
- log.Info("add a forge config window here")
- })
-
- return win
-}
-
// verify the GUI button disable/enable settings
func forgeVerifyGuiState() {
me.forgeMode.SetText(me.forge.GetMode())