71 lines
1.9 KiB
QML
71 lines
1.9 KiB
QML
|
|
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()
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|