summaryrefslogtreecommitdiff
path: root/modifyBox.go
blob: 4490514b5963bae4dbf5ffc83de09c9b41c88bfc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
package repostatus

import (
	"go.wit.com/gui"
	"go.wit.com/lib/gadgets"
	"go.wit.com/log"
)

func (rs *RepoStatus) drawGitCommands(box *gui.Node) {
	rs.gitCommandsGroup = box.NewGroup("modify")
	newgrid := rs.gitCommandsGroup.NewGrid("gridnuts", 0, 0)

	newgrid.NewButton("Rescan Repo", func() {
		rs.Update()
	})

	newgrid.NewButton("CheckDirty()", func() {
		if rs.pb.CheckDirty() {
			log.Log(WARN, "is dirty")
		} else {
			log.Log(WARN, "is not dirty")
		}
	})

	newgrid.NewButton("show .git/config", func() {
		if rs.pb.GitConfig == nil {
			log.Log(WARN, "Nonexistant or damaged .git/config", rs.Path())
			return
		}
		log.Log(WARN, ".git/config:", rs.realPath.String())

		// The info:
		for name, remote := range rs.pb.GitConfig.Remotes {
			log.Log(WARN, "  ", name, "url:", remote.Url)
		}
		for name, branch := range rs.pb.GitConfig.Branches {
			log.Log(WARN, "  ", name, "remote:", branch.Remote, "merge", branch.Merge)
		}
	})
	newgrid.NextRow()

	newgrid.NewButton("git pull", func() {
		rs.pb.GitPull()
	})
	newgrid.NextRow()

	label := "merge " + rs.userWorkingName.String() + " to " + rs.develWorkingName.String()
	rs.develMergeB = newgrid.NewButton(label, func() {
		rs.Disable()
		if result, err := rs.pb.MergeUserToDevel(); err == nil {
			log.Warn("THINGS SEEM OK fullAutomation() returned true.")
		} else {
			log.Warn("THINGS FAILED fullAutomation() returned false", result.Error)
		}
		rs.Enable()
	})

	label = "merge " + rs.develWorkingName.String() + " to " + rs.mainWorkingName.String()
	rs.mainMergeB = newgrid.NewButton(label, func() {
		rs.Disable()
		if result, err := rs.pb.MergeDevelToMaster(); err == nil {
			log.Warn("THINGS SEEM OK fullAutomation() returned true.")
		} else {
			log.Warn("THINGS FAILED fullAutomation() returned false", result.Error)
		}
		rs.Enable()
	})
	newgrid.NewButton("increment version", func() {
		log.Info("broken")
		// rs.IncrementVersion()
	})
	newgrid.NextRow()

	rs.major = gadgets.NewBasicCombobox(newgrid, "major")
	rs.major.Custom = func() {
		// rs.setTag()
		// rs.generateCmd()
	}
	// rs.major.Hide()
	newgrid.NextRow()

	rs.minor = gadgets.NewBasicCombobox(newgrid, "minor")
	rs.minor.Custom = func() {
		// rs.setTag()
		// rs.generateCmd()
	}
	// rs.minor.Hide()
	newgrid.NextRow()

	rs.revision = gadgets.NewBasicCombobox(newgrid, "revision")
	rs.revision.Custom = func() {
		// rs.setTag()
		// rs.generateCmd()
	}
	// rs.revision.Hide()
	newgrid.NextRow()

	// newgrid.NewLabel("new tag version")
	rs.newversion = newgrid.NewLabel("0.0.1")
	// rs.newversion.Hide()
	newgrid.NextRow()

	rs.versionMessage = gadgets.NewBasicEntry(newgrid, "tag message")
	rs.versionMessage.Custom = func() {
		// rs.generateCmd()
	}
	// rs.versionMessage.Hide()
	newgrid.NextRow()

	rs.versionCmdOutput = gadgets.NewOneLiner(newgrid, "tag cmd")
	// rs.versionCmdOutput.Hide()
	newgrid.NextRow()

	rs.releaseVersion = newgrid.NewButton("tag and release new version", func() {
		rs.Disable()
		rs.pb.MergeDevelToMaster()
	})
	// rs.releaseVersion.Hide()
	newgrid.NextRow()

	newgrid.Margin()
	newgrid.Pad()
}