diff options
| -rw-r--r-- | draw.go | 45 | ||||
| -rw-r--r-- | structs.go | 9 | ||||
| -rw-r--r-- | unix.go | 13 |
3 files changed, 65 insertions, 2 deletions
@@ -1,6 +1,8 @@ package repostatus import ( + "strconv" + "go.wit.com/log" "go.wit.com/gui/gadgets" ) @@ -76,11 +78,50 @@ func draw(rs *RepoStatus) { rs.releaseVersion = rs.grid.NewButton("release version", func() { lasttag := rs.lasttag.Get() - ver := normalizeVersion(lasttag) - log.Warn("Should release version here", lasttag, ver) + var major, minor, revision string + major, minor, revision = splitVersion(lasttag) + log.Warn("Should release version here", lasttag) + log.Warn("Should release a,b,c", major, minor, revision) + + // rs.a = major + // rs.b = minor + // rs.c = revision + rs.a, _ = strconv.Atoi(major) + rs.b, _ = strconv.Atoi(minor) + rs.c, _ = strconv.Atoi(revision) + rs.setCombobox() }) rs.releaseVersion.Disable() + rs.vgroup = rs.window.Box().NewGroup("Version") + rs.major = gadgets.NewBasicCombobox(rs.grid, "master") + rs.minor = gadgets.NewBasicCombobox(rs.grid, "minor") + rs.revision = gadgets.NewBasicCombobox(rs.grid, "revision") + rs.grid.Margin() rs.grid.Pad() } + +func (rs *RepoStatus) setCombobox() { + addCombobox(rs.major, rs.a) + addCombobox(rs.major, rs.a + 1) + setCombobox(rs.major, rs.a) + + addCombobox(rs.minor, rs.b) + addCombobox(rs.minor, rs.b + 1) + setCombobox(rs.minor, rs.b) + + // rs.c := strconv.Atoi(revision) + rs.revision.Add(strconv.Itoa(rs.c + 1)) + rs.revision.Add(strconv.Itoa(rs.c + 2)) +} + +func addCombobox(cb *gadgets.BasicCombobox, i int) { + s := strconv.Itoa(i) + cb.Add(s) +} + +func setCombobox(cb *gadgets.BasicCombobox, i int) { + s := strconv.Itoa(i) + cb.Sdd(s) +} @@ -36,6 +36,15 @@ type RepoStatus struct { develMerge *gui.Node releaseVersion *gui.Node + vgroup *gui.Node + minor *gadgets.BasicCombobox + major *gadgets.BasicCombobox + revision *gadgets.BasicCombobox + + a int + b int + c int + speed *gadgets.OneLiner speedActual *gadgets.OneLiner } @@ -89,3 +89,16 @@ func normalizeVersion(s string) string { log.Log(WARN, "normalizeVersion() s =", clean) return clean } + +func splitVersion(version string) (a, b, c string) { + tmp := normalizeVersion(version) + parts := strings.Split(tmp, ".") + switch len(parts) { + case 1: + return parts[0], "", "" + case 2: + return parts[0], parts[1], "" + default: + return parts[0], parts[1], parts[2] + } +} |
