~pkunal-parmar/ubuntu-calendar-app/Minor-Performance

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
/*
 * Copyright (C) 2013-2014 Canonical Ltd
 *
 * This file is part of Ubuntu Calendar App
 *
 * Ubuntu Calendar App is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 3 as
 * published by the Free Software Foundation.
 *
 * Ubuntu Calendar App is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

import QtQuick 2.3
import Ubuntu.Components 1.1

Item {
    id: root

    // Property to set the day and date
    property var date;

    // Property to set the font color of the day label
    property alias dayColor: dayLabel.color

    // Property to set the time format of the day label
    property int dayFormat: Locale.ShortFormat

    // Signal fired when pressing on the date
    signal dateSelected(var date)

    width: dayLabel.paintedWidth
    height: dateContainer.height

    Column {
        id: dateContainer

        width: dayLabel.paintedWidth
        spacing: units.gu(0.2)

        anchors.centerIn: parent

        Label{
            id: dayLabel
            objectName: "dayLabel"
            text: Qt.locale().standaloneDayName(date.getDay(), dayFormat)
        }

        Label{
            id: dateLabel
            objectName: "dateLabel"
            text: date.getDate();
            color: dayLabel.color
            anchors.horizontalCenter: dayLabel.horizontalCenter
        }
    }

    MouseArea {
        anchors.fill: parent
        onClicked: {
            root.dateSelected(date);
        }
    }
}