Warning, /education/gcompris/src/activities/calendar/MonthGridDelegate.qml is written in an unsupported language. File is not indexed.
0001 /* GCompris - MonthGridDelegate.qml
0002 *
0003 * SPDX-FileCopyrightText: 2022 Johnny Jazeix <jazeix@gmail.com>
0004 *
0005 * Authors:
0006 * Johnny Jazeix <jazeix@gmail.com>
0007 *
0008 * SPDX-License-Identifier: GPL-3.0-or-later
0009 */
0010
0011 import QtQuick 2.12
0012 import QtQuick.Controls 2.12
0013 import QtQuick.Layouts 1.12
0014 import GCompris 1.0
0015 import "../../core"
0016
0017 ColumnLayout {
0018 id: root
0019
0020 property int visibleMonth
0021
0022 readonly property color sameMonthDateTextColor: "#373737"
0023 readonly property color selectedDateColor: "#3778d0"
0024 readonly property color selectedDateTextColor: "white"
0025 readonly property color differentMonthDateTextColor: "#bbb"
0026 readonly property color invalidDateColor: "#dddddd"
0027
0028 property bool selected: calendar.selectedDay == day && month == root.visibleMonth
0029 Rectangle {
0030 id: caseBox
0031 color: selected ? selectedDateColor : "#F2F2F2"
0032 width: root.width
0033 height: root.height
0034 radius: 2
0035 border.width: 1
0036 border.color: "lightgray"
0037 MouseArea {
0038 anchors.fill: parent
0039 onClicked: {
0040 if(month == root.visibleMonth) {
0041 calendar.selectedDay = day;
0042 }
0043 else if((month < root.visibleMonth && (root.visibleMonth != 11 || month != 0)) || (root.visibleMonth == 0 && month == 11)) {
0044 calendar.showPreviousMonth();
0045 }
0046 else if(month > root.visibleMonth || (root.visibleMonth == 11 && month == 0)) {
0047 calendar.showNextMonth();
0048 }
0049 }
0050 }
0051
0052 Label {
0053 id: dayText
0054 text: day
0055 anchors.centerIn: parent
0056 font.family: GCSingletonFontLoader.fontLoader.name
0057 font.pixelSize: Math.min(parent.height/3, parent.width/3)
0058 color: {
0059 var theColor = invalidDateColor;
0060 // Date is within the valid range.
0061 theColor = (month == root.visibleMonth) ? sameMonthDateTextColor : differentMonthDateTextColor;
0062 if (root.selected)
0063 theColor = selectedDateTextColor;
0064 return theColor;
0065 }
0066 Layout.fillWidth: true
0067 }
0068 }
0069 }