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) 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)
+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) { func TestUICurrentVaultSummary(t *testing.T) {
t.Parallel() t.Parallel()