import qs.modules.common import qs.modules.common.widgets import qs.services import Qt5Compat.GraphicalEffects import QtQuick import QtQuick.Controls import QtQuick.Layouts Item { id: root NotificationListView { // Scrollable window id: listview anchors.left: parent.left anchors.right: parent.right anchors.top: parent.top anchors.bottom: statusRow.top anchors.bottomMargin: 5 clip: true layer.enabled: true layer.effect: OpacityMask { maskSource: Rectangle { width: listview.width height: listview.height radius: Appearance.rounding.normal } } popup: false } // Placeholder when list is empty PagePlaceholder { shown: Notifications.list.length === 0 icon: "notifications_active" description: Translation.tr("Nothing") shape: MaterialShape.Shape.Ghostish descriptionHorizontalAlignment: Text.AlignHCenter } ButtonGroup { id: statusRow anchors { left: parent.left right: parent.right bottom: parent.bottom } NotificationStatusButton { Layout.fillWidth: false buttonIcon: "notifications_paused" toggled: Notifications.silent onClicked: () => { Notifications.silent = !Notifications.silent; } } NotificationStatusButton { enabled: false Layout.fillWidth: true buttonText: Translation.tr("%1 notifications").arg(Notifications.list.length) } NotificationStatusButton { Layout.fillWidth: false buttonIcon: "delete_sweep" onClicked: () => { Notifications.discardAllNotifications() } } } }