summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--draw.go45
-rw-r--r--structs.go9
-rw-r--r--unix.go13
3 files changed, 65 insertions, 2 deletions
diff --git a/draw.go b/draw.go
index df1bfe0..36bfc41 100644
--- a/draw.go
+++ b/draw.go
@@ -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)
+}
diff --git a/structs.go b/structs.go
index e9c79bb..22915e8 100644
--- a/structs.go
+++ b/structs.go
@@ -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
}
diff --git a/unix.go b/unix.go
index 3f7ad0b..e34aef6 100644
--- a/unix.go
+++ b/unix.go
@@ -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]
+ }
+}