nixfiles/quickshell/Components/NotificationHeader.qml
2025-12-07 20:18:58 -08:00

68 lines
1.3 KiB
QML

import Quickshell
import Quickshell.Widgets
import Quickshell.Io
import QtQuick
import QtQuick.Layouts
import QtQuick.Controls
import "root:/DataSources"
import "root:/Helpers"
import Quickshell.Services.Notifications
RowLayout {
required property Notification modelData_
IconImage {
function getIcon() {
console.log(modelData_.appIcon)
if (modelData_.appIcon != "") {
return Quickshell.iconPath(modelData_.appIcon)
} else {
return iconForId(modelData_.appName)
}
}
width: 24
height: 24
visible: modelData_.appIcon != ""
source: Quickshell.iconPath(modelData_.appIcon)
}
Text {
font.bold: true
elide: Text.ElideRight
text: modelData_.summary
color: Stylix.base05
}
Text {
id: dismiss
text: "󱏩"
color: Stylix.base08
font.pixelSize: 16
ToolTip {
id: dismissTooltip
visible: false
delay: 500
timeout: 1000
text: "Dismiss notification"
}
HoverHandler {
id: dismissHover
onHoveredChanged: {
dismissTooltip.visible = hovered
}
}
Layout.topMargin: 5
Layout.rightMargin: 10
MouseArea {
anchors.fill: parent
onClicked: {
modelData_.dismiss();
if (Notifications.list.length <= 0) {
popup.visible = false;
}
}
}
}
}