The notification menu learns what every other popover already knew
Popover's container is a plain Item and never measures its children, so the three-dots menu on a notification card opened as a 240x28 sliver with its one row clipped out of existence. TrayMenu and AgentUsagePanel both carry the antidote — implicit sizes on the Popover itself, taken from the content column — and now the notification settings menu does too, with rows filling the window width so the hover reaches the edges. Claude-Session: https://claude.ai/code/session_01W8icivxZcmFTR2g6DkYhjT
This commit is contained in:
@@ -177,12 +177,20 @@ Rectangle {
|
||||
id: settingsMenu
|
||||
anchorItem: settingsMenuButton
|
||||
|
||||
// A Column already measures itself from its children, and in Qt 6 both
|
||||
// implicit sizes are read-only on a positioner -- assigning them makes
|
||||
// the whole shell fail to load rather than just this menu.
|
||||
// Popover's container is a plain Item and does not size itself from its
|
||||
// children, so the window dimensions come from the column's implicit
|
||||
// size — the same pattern TrayMenu uses. Rows take their *actual* width
|
||||
// from the window in the other direction; the two chains are
|
||||
// independent, so there is no binding loop.
|
||||
implicitWidth: Math.max(menuBody.implicitWidth + contentPadding * 2, 200)
|
||||
implicitHeight: menuBody.implicitHeight + contentPadding * 2
|
||||
|
||||
Column {
|
||||
id: menuBody
|
||||
width: parent.width
|
||||
|
||||
TrayMenuRow {
|
||||
id: notificationSettings
|
||||
width: parent.width
|
||||
label: "Notification settings"
|
||||
onActivated: {
|
||||
ShellState.openSettings("notifications");
|
||||
|
||||
Reference in New Issue
Block a user