Keep dropdowns right-aligned

This commit is contained in:
Joe Julian
2026-04-07 21:41:52 -07:00
parent edf0a9090d
commit b33f4905ab
2 changed files with 17 additions and 8 deletions
+6 -8
View File
@@ -5672,10 +5672,7 @@ func (u *ui) syncButtonGroup(gtx layout.Context) layout.Dimensions {
menuDims := layout.Inset{Top: unit.Dp(6)}.Layout(menuGTX, u.syncMenu)
menuCall := menuOps.Stop()
menuX := rowDims.Size.X - menuDims.Size.X
if menuX < 0 {
menuX = 0
}
menuX := anchoredMenuX(rowDims.Size.X, menuDims.Size.X)
stack := op.Offset(image.Pt(menuX, rowDims.Size.Y)).Push(gtx.Ops)
menuCall.Add(gtx.Ops)
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)
menuCall := menuOps.Stop()
menuX := buttonDims.Size.X - menuDims.Size.X
if menuX < 0 {
menuX = 0
}
menuX := anchoredMenuX(buttonDims.Size.X, menuDims.Size.X)
stack := op.Offset(image.Pt(menuX, buttonDims.Size.Y)).Push(gtx.Ops)
menuCall.Add(gtx.Ops)
stack.Pop()
@@ -7224,6 +7218,10 @@ func (u *ui) mainMenuRightAlignsToTrigger() bool {
return true
}
func anchoredMenuX(triggerWidth, menuWidth int) int {
return triggerWidth - menuWidth
}
func detailLine(th *material.Theme, label, value string) layout.Widget {
return func(gtx layout.Context) layout.Dimensions {
valueSize := unit.Sp(16)
+11
View File
@@ -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) {
t.Parallel()