waffles: more continuous infinite scrolling calendar

This commit is contained in:
end-4
2025-11-26 22:57:40 +01:00
parent a786f0353e
commit d27fbede2a
10 changed files with 354 additions and 129 deletions
@@ -0,0 +1,55 @@
pragma ComponentBehavior: Bound
import QtQuick
import QtQuick.Controls
import QtQuick.Layouts
import Quickshell
import qs
import qs.services
import qs.modules.common
import qs.modules.common.functions
import qs.modules.waffle.looks
FooterRectangle {
id: root
implicitWidth: 0
property bool collapsed
color: ColorUtils.transparentize(Looks.colors.bgPanelBody, collapsed ? 0 : 1)
Behavior on color {
animation: Looks.transition.color.createObject(this)
}
RowLayout {
anchors {
fill: parent
leftMargin: 16
rightMargin: 16
topMargin: 12
bottomMargin: 12
}
WText {
Layout.fillWidth: true
font.pixelSize: Looks.font.pixelSize.large
text: DateTime.collapsedCalendarFormat
}
WBorderedButton {
implicitWidth: 24
implicitHeight: 24
padding: 0
onClicked: root.collapsed = !root.collapsed
contentItem: Item {
FluentIcon {
anchors.centerIn: parent
implicitSize: 12
icon: "chevron-down"
rotation: root.collapsed ? 180 : 0
Behavior on rotation {
animation: Looks.transition.rotate.createObject(this)
}
}
}
}
}
}