Files
illogical-impulse/dots/.config/quickshell/ii/modules/waffle/notificationCenter/NotificationCenterContent.qml
T
2025-11-27 23:25:59 +01:00

84 lines
2.3 KiB
QML

pragma ComponentBehavior: Bound
import QtQuick
import QtQuick.Controls
import QtQuick.Layouts
import Quickshell
import Qt.labs.synchronizer
import qs
import qs.services
import qs.modules.common
import qs.modules.common.functions
import qs.modules.waffle.looks
WBarAttachedPanelContent {
id: root
readonly property bool barAtBottom: Config.options.waffles.bar.bottom
revealFromSides: true
revealFromLeft: false
property bool collapsed: false
contentItem: ColumnLayout {
anchors {
horizontalCenter: parent.horizontalCenter
top: parent.top
bottom: parent.bottom
}
spacing: 12
Item {
id: notificationArea
Layout.fillHeight: true
implicitWidth: notificationPane.implicitWidth
WPane {
id: notificationPane
anchors {
bottom: parent.bottom
left: parent.left
right: parent.right
}
contentItem: NotificationPaneContent {
implicitWidth: calendarColumnLayout.implicitWidth
implicitHeight: Notifications.list.length > 0 ? (notificationArea.height - notificationPane.borderWidth * 2) : 230
Behavior on implicitHeight {
animation: Looks.transition.enter.createObject(this)
}
}
}
}
WPane {
contentItem: ColumnLayout {
id: calendarColumnLayout
spacing: 0
DateHeader {
Layout.fillWidth: true
Synchronizer on collapsed {
property alias source: root.collapsed
}
}
WPanelSeparator {
visible: !root.collapsed
}
CalendarWidget {
Layout.fillWidth: true
Synchronizer on collapsed {
property alias source: root.collapsed
}
}
WPanelSeparator {}
FocusFooter {
Layout.fillWidth: true
}
}
}
}
}