1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78
|
// Copyright (C) 2021 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
import QtQuick
import QtQuick.Controls
import QtQuick.Layouts
import QtQuick.Controls.Material
import App
ColumnLayout {
id: root
required property EventDatabase eventDatabase
required property bool today
required property int year
required property int month
required property int day
required property int visibleMonth
Material.theme: today ? Material.Dark : undefined
Label {
id: dayText
horizontalAlignment: Text.AlignHCenter
topPadding: 4
opacity: month === root.visibleMonth ? 1 : 0
text: day
Layout.fillWidth: true
Rectangle {
width: height
height: Math.max(dayText.implicitWidth, dayText.implicitHeight)
radius: width / 2
color: Material.primary
anchors.centerIn: dayText
anchors.verticalCenterOffset: dayText.height - dayText.baselineOffset
z: -1
visible: root.today
}
}
ListView {
spacing: 1
clip: true
Layout.fillWidth: true
Layout.fillHeight: true
Layout.topMargin: 4
delegate: ItemDelegate {
id: itemDelegate
width: parent.width
text: name
font.pixelSize: Qt.application.font.pixelSize * 0.8
leftPadding: 4
rightPadding: 4
topPadding: 4
bottomPadding: 4
required property string name
Material.theme: Material.Dark
background: Rectangle {
color: itemDelegate.Material.primary
radius: 3
}
}
model: EventModel {
eventDatabase: root.eventDatabase
date: new Date(root.year, root.month, root.day)
}
}
}
|