calendar
This commit is contained in:
@@ -0,0 +1,77 @@
|
||||
pragma ComponentBehavior: Bound
|
||||
|
||||
import QtQuick
|
||||
import QtQuick.Layouts
|
||||
import qs.Components
|
||||
import qs.Config
|
||||
import qs.Helpers
|
||||
|
||||
Item {
|
||||
id: root
|
||||
|
||||
required property Item wrapper
|
||||
|
||||
implicitWidth: layout.childrenRect.width + layout.anchors.margins * 2
|
||||
implicitHeight: layout.childrenRect.height + layout.anchors.margins * 2
|
||||
|
||||
ColumnLayout {
|
||||
id: layout
|
||||
|
||||
anchors.centerIn: parent
|
||||
anchors.margins: 16
|
||||
spacing: 16
|
||||
|
||||
// Header with month/year and navigation
|
||||
CalendarHeader {
|
||||
Layout.fillWidth: true
|
||||
Layout.preferredHeight: childrenRect.height
|
||||
}
|
||||
|
||||
// Calendar grid
|
||||
RowLayout {
|
||||
Layout.fillWidth: true
|
||||
Layout.preferredHeight: childrenRect.height
|
||||
spacing: 12
|
||||
|
||||
ColumnLayout {
|
||||
Layout.alignment: Qt.AlignTop
|
||||
Layout.preferredHeight: childrenRect.height
|
||||
Layout.preferredWidth: weekNumberColumn.width
|
||||
spacing: 8
|
||||
|
||||
Item {
|
||||
Layout.preferredHeight: dayOfWeekRow.height
|
||||
}
|
||||
|
||||
WeekNumberColumn {
|
||||
id: weekNumberColumn
|
||||
|
||||
Layout.alignment: Qt.AlignTop
|
||||
Layout.preferredHeight: weekNumbers.values.length * 44
|
||||
}
|
||||
}
|
||||
|
||||
ColumnLayout {
|
||||
Layout.alignment: Qt.AlignTop
|
||||
Layout.fillWidth: true
|
||||
Layout.preferredHeight: childrenRect.height
|
||||
spacing: 8
|
||||
|
||||
DayOfWeekRow {
|
||||
id: dayOfWeekRow
|
||||
locale: Qt.locale()
|
||||
Layout.fillWidth: true
|
||||
Layout.preferredHeight: 30
|
||||
}
|
||||
|
||||
MonthGrid {
|
||||
locale: Qt.locale()
|
||||
|
||||
wrapper: root.wrapper
|
||||
Layout.preferredWidth: childrenRect.width
|
||||
Layout.preferredHeight: childrenRect.height
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user