Keep dropdowns right-aligned
This commit is contained in:
@@ -5672,10 +5672,7 @@ func (u *ui) syncButtonGroup(gtx layout.Context) layout.Dimensions {
|
|||||||
menuDims := layout.Inset{Top: unit.Dp(6)}.Layout(menuGTX, u.syncMenu)
|
menuDims := layout.Inset{Top: unit.Dp(6)}.Layout(menuGTX, u.syncMenu)
|
||||||
menuCall := menuOps.Stop()
|
menuCall := menuOps.Stop()
|
||||||
|
|
||||||
menuX := rowDims.Size.X - menuDims.Size.X
|
menuX := anchoredMenuX(rowDims.Size.X, menuDims.Size.X)
|
||||||
if menuX < 0 {
|
|
||||||
menuX = 0
|
|
||||||
}
|
|
||||||
stack := op.Offset(image.Pt(menuX, rowDims.Size.Y)).Push(gtx.Ops)
|
stack := op.Offset(image.Pt(menuX, rowDims.Size.Y)).Push(gtx.Ops)
|
||||||
menuCall.Add(gtx.Ops)
|
menuCall.Add(gtx.Ops)
|
||||||
stack.Pop()
|
stack.Pop()
|
||||||
@@ -7198,10 +7195,7 @@ func (u *ui) mainMenuButtonGroup(gtx layout.Context) layout.Dimensions {
|
|||||||
menuDims := layout.Inset{Top: unit.Dp(6)}.Layout(menuGTX, u.mainMenu)
|
menuDims := layout.Inset{Top: unit.Dp(6)}.Layout(menuGTX, u.mainMenu)
|
||||||
menuCall := menuOps.Stop()
|
menuCall := menuOps.Stop()
|
||||||
|
|
||||||
menuX := buttonDims.Size.X - menuDims.Size.X
|
menuX := anchoredMenuX(buttonDims.Size.X, menuDims.Size.X)
|
||||||
if menuX < 0 {
|
|
||||||
menuX = 0
|
|
||||||
}
|
|
||||||
stack := op.Offset(image.Pt(menuX, buttonDims.Size.Y)).Push(gtx.Ops)
|
stack := op.Offset(image.Pt(menuX, buttonDims.Size.Y)).Push(gtx.Ops)
|
||||||
menuCall.Add(gtx.Ops)
|
menuCall.Add(gtx.Ops)
|
||||||
stack.Pop()
|
stack.Pop()
|
||||||
@@ -7224,6 +7218,10 @@ func (u *ui) mainMenuRightAlignsToTrigger() bool {
|
|||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func anchoredMenuX(triggerWidth, menuWidth int) int {
|
||||||
|
return triggerWidth - menuWidth
|
||||||
|
}
|
||||||
|
|
||||||
func detailLine(th *material.Theme, label, value string) layout.Widget {
|
func detailLine(th *material.Theme, label, value string) layout.Widget {
|
||||||
return func(gtx layout.Context) layout.Dimensions {
|
return func(gtx layout.Context) layout.Dimensions {
|
||||||
valueSize := unit.Sp(16)
|
valueSize := unit.Sp(16)
|
||||||
|
|||||||
@@ -356,6 +356,17 @@ func TestUIMainMenuAnchorsMatchAcrossModes(t *testing.T) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestAnchoredMenuXAllowsWiderMenusToExtendLeft(t *testing.T) {
|
||||||
|
t.Parallel()
|
||||||
|
|
||||||
|
if got := anchoredMenuX(48, 160); got != -112 {
|
||||||
|
t.Fatalf("anchoredMenuX(48, 160) = %d, want -112", got)
|
||||||
|
}
|
||||||
|
if got := anchoredMenuX(160, 48); got != 112 {
|
||||||
|
t.Fatalf("anchoredMenuX(160, 48) = %d, want 112", got)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func TestUICurrentVaultSummary(t *testing.T) {
|
func TestUICurrentVaultSummary(t *testing.T) {
|
||||||
t.Parallel()
|
t.Parallel()
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user