diff options
Diffstat (limited to 'modules/notifications')
| -rw-r--r-- | modules/notifications/Content.qml | 27 | ||||
| -rw-r--r-- | modules/notifications/Notification.qml | 3 |
2 files changed, 25 insertions, 5 deletions
diff --git a/modules/notifications/Content.qml b/modules/notifications/Content.qml index 71cf0cf..9a73bc8 100644 --- a/modules/notifications/Content.qml +++ b/modules/notifications/Content.qml @@ -14,7 +14,7 @@ Item { anchors.right: parent.right implicitWidth: NotifsConfig.sizes.width + root.padding * 2 - implicitHeight: list.height + root.padding * 2 + implicitHeight: list.implicitHeight + root.padding * 2 ListView { id: list @@ -31,13 +31,32 @@ Item { implicitHeight: { let height = (count - 1) * spacing; for (let i = 0; i < count; i++) - height += itemAtIndex(i).nonAnimHeight; - return Math.max(61, height); + height += itemAtIndex(i)?.nonAnimHeight ?? 0; + + const screen = QsWindow.window?.screen; + const visibilities = Visibilities.screens[screen]; + const panel = Visibilities.panels[screen]; + if (visibilities && panel) { + if (visibilities.osd) { + const h = panel.osd.y - BorderConfig.rounding * 2; + if (height > h) + height = h; + } + + if (visibilities.session) { + const h = panel.session.y - BorderConfig.rounding * 2; + if (height > h) + height = h; + } + } + + return Math.max(61, Math.min(screen?.height - root.padding * 2 - BorderConfig.thickness * 2, height)); } orientation: Qt.Vertical spacing: Appearance.spacing.smaller - interactive: false + cacheBuffer: QsWindow.window?.screen.height ?? 0 + clip: true delegate: ClippingRectangle { id: wrapper diff --git a/modules/notifications/Notification.qml b/modules/notifications/Notification.qml index d8c8ba7..039b519 100644 --- a/modules/notifications/Notification.qml +++ b/modules/notifications/Notification.qml @@ -33,6 +33,7 @@ StyledRect { hoverEnabled: true cursorShape: pressed ? Qt.ClosedHandCursor : undefined acceptedButtons: Qt.LeftButton | Qt.MiddleButton + preventStealing: true onEntered: root.modelData?.timer.stop() onExited: root.modelData?.timer.start() @@ -461,7 +462,7 @@ StyledRect { TextMetrics { id: actionTextMetrics - text: modelData?.text + text: modelData?.text ?? "" font.family: actionText.font.family font.pointSize: actionText.font.pointSize elide: Text.ElideRight |