feat(tracker): move octave buttons to the bottom right

This commit is contained in:
vsariola 2021-01-09 22:37:25 +02:00
parent 82771832ed
commit 6bdd212336

View File

@ -88,7 +88,14 @@ func (t *Tracker) layoutTracker(gtx layout.Context) layout.Dimensions {
}) })
} }
in2 := layout.UniformInset(unit.Dp(8)) in2 := layout.UniformInset(unit.Dp(8))
buttons := layout.Rigid(func(gtx layout.Context) layout.Dimensions { for t.OctaveUpBtn.Clicked() {
t.ChangeOctave(1)
}
for t.OctaveDownBtn.Clicked() {
t.ChangeOctave(-1)
}
menu := layout.Rigid(func(gtx layout.Context) layout.Dimensions {
newTrack := layout.Rigid(func(gtx layout.Context) layout.Dimensions {
paint.FillShape(gtx.Ops, trackMenuSurfaceColor, clip.Rect{ paint.FillShape(gtx.Ops, trackMenuSurfaceColor, clip.Rect{
Max: gtx.Constraints.Max, Max: gtx.Constraints.Max,
}.Op()) }.Op())
@ -99,6 +106,22 @@ func (t *Tracker) layoutTracker(gtx layout.Context) layout.Dimensions {
} }
return in2.Layout(gtx, iconBtn.Layout) return in2.Layout(gtx, iconBtn.Layout)
}) })
octLabel := layout.Rigid(Label("OCT:", white))
in := layout.UniformInset(unit.Dp(1))
octRow := layout.Rigid(func(gtx layout.Context) layout.Dimensions {
return layout.Flex{Axis: layout.Horizontal}.Layout(
gtx,
layout.Rigid(func(gtx layout.Context) layout.Dimensions {
return in.Layout(gtx, smallButton(material.IconButton(t.Theme, t.OctaveUpBtn, upIcon)).Layout)
}),
layout.Rigid(Label(fmt.Sprintf("%v", t.CurrentOctave), white)),
layout.Rigid(func(gtx layout.Context) layout.Dimensions {
return in.Layout(gtx, smallButton(material.IconButton(t.Theme, t.OctaveDownBtn, downIcon)).Layout)
}),
)
})
return layout.Flex{Axis: layout.Vertical}.Layout(gtx, newTrack, octLabel, octRow)
})
go func() { go func() {
for t.NewTrackBtn.Clicked() { for t.NewTrackBtn.Clicked() {
t.AddTrack() t.AddTrack()
@ -115,7 +138,7 @@ func (t *Tracker) layoutTracker(gtx layout.Context) layout.Dimensions {
} }
return dims return dims
}), }),
buttons, menu,
) )
} }
@ -130,12 +153,6 @@ func (t *Tracker) layoutControls(gtx layout.Context) layout.Dimensions {
in := layout.UniformInset(unit.Dp(1)) in := layout.UniformInset(unit.Dp(1))
go func() { go func() {
for t.OctaveUpBtn.Clicked() {
t.ChangeOctave(1)
}
for t.OctaveDownBtn.Clicked() {
t.ChangeOctave(-1)
}
for t.BPMUpBtn.Clicked() { for t.BPMUpBtn.Clicked() {
t.ChangeBPM(1) t.ChangeBPM(1)
} }
@ -155,13 +172,6 @@ func (t *Tracker) layoutControls(gtx layout.Context) layout.Dimensions {
t.CursorColumn, t.CursorColumn,
playPat, playPat,
)), )),
layout.Rigid(Label(fmt.Sprintf("OCT: %v", t.CurrentOctave), white)),
layout.Rigid(func(gtx layout.Context) layout.Dimensions {
return in.Layout(gtx, smallButton(material.IconButton(t.Theme, t.OctaveUpBtn, upIcon)).Layout)
}),
layout.Rigid(func(gtx layout.Context) layout.Dimensions {
return in.Layout(gtx, smallButton(material.IconButton(t.Theme, t.OctaveDownBtn, downIcon)).Layout)
}),
layout.Rigid(Label(fmt.Sprintf("BPM: %3v", t.song.BPM), white)), layout.Rigid(Label(fmt.Sprintf("BPM: %3v", t.song.BPM), white)),
layout.Rigid(func(gtx layout.Context) layout.Dimensions { layout.Rigid(func(gtx layout.Context) layout.Dimensions {
return in.Layout(gtx, smallButton(material.IconButton(t.Theme, t.BPMUpBtn, upIcon)).Layout) return in.Layout(gtx, smallButton(material.IconButton(t.Theme, t.BPMUpBtn, upIcon)).Layout)