~fboucault/ubuntu-calendar-app/crossbuild_fixes

« back to all changes in this revision

Viewing changes to MonthComponent.qml

Trunk merged.

Show diffs side-by-side

added added

removed removed

Lines of Context:
20
20
 
21
21
import "dateExt.js" as DateExt
22
22
import "colorUtils.js" as Color
 
23
import "./3rd-party/lunar.js" as Lunar
23
24
 
24
25
Item{
25
26
    id: root
31
32
 
32
33
    property var isYearView;
33
34
    property var highlightedDate;
34
 
    property bool displayWeekNumber:false;
 
35
    property bool displayWeekNumber:false
 
36
    property bool displayLunarCalendar: false
 
37
 
 
38
    property alias dayLabelDelegate : dayLabelRepeater.delegate
 
39
    property alias dateLabelDelegate : dateLabelRepeater.delegate
 
40
    readonly property alias monthStartDate: intern.monthStart
35
41
 
36
42
    property string dayLabelFontSize: "medium"
37
43
    property string dateLabelFontSize: "large"
38
44
    property string monthLabelFontSize: "large"
39
45
    property string yearLabelFontSize: "large"
40
46
 
41
 
    property alias dayLabelDelegate : dayLabelRepeater.delegate
42
 
    property alias dateLabelDelegate : dateLabelRepeater.delegate
43
 
    readonly property alias monthStartDate: intern.monthStart
44
 
 
45
47
    signal monthSelected(var date);
46
48
    signal dateSelected(var date);
47
49
    signal dateHighlighted(var date);
66
68
        property int monthStartDate: monthStart.getDate()
67
69
        property int monthStartMonth: monthStart.getMonth()
68
70
        property int monthStartYear: monthStart.getFullYear()
69
 
        property int daysInStartMonth: Date.daysInMonth(monthStartYear, monthStartMonth)
 
71
        readonly property int daysInStartMonth: Date.daysInMonth(monthStartYear, monthStartMonth)
70
72
 
71
73
        //check if current month is start month
72
74
        property bool isCurMonthStartMonth: root.currentMonth === monthStartMonth &&
165
167
                    anchors.fill: parent
166
168
                    month: root.currentMonth
167
169
                    year: root.currentYear
 
170
                    daysInMonth: intern.daysInStartMonth
168
171
 
169
172
                    monthLabelFontSize: root.monthLabelFontSize
170
173
                    yearLabelFontSize: root.yearLabelFontSize
374
377
            date: delegateDate.getDate()
375
378
            isCurrentMonth: delegateDate.getMonth() === root.currentMonth
376
379
            showEvent: intern.eventStatus[index] === true
 
380
            lunarData: {
 
381
                if (!root.displayLunarCalendar)
 
382
                    return null
377
383
 
 
384
                var lunar = Lunar.calendar.solar2lunar(intern.monthStartYear,
 
385
                                                       intern.monthStartMonth + 1,
 
386
                                                       intern.monthStartDate + index)
 
387
                if (lunar.isTerm) {
 
388
                    return {"lunarText": lunar.Term, "isTerm" :lunar.isTerm};
 
389
                } else {
 
390
                    return {"lunarText": lunar.IDayCn, "isTerm" :lunar.isTerm};
 
391
                }
 
392
            }
378
393
            isToday: intern.todayDate == date && intern.isCurMonthTodayMonth
379
394
            isSelected: intern.highlightedIndex == index
380
395
            width: monthGrid.dayWidth