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
79
80
|
import QtQuick 2.0
import Ubuntu.Components 0.1
import "dateExt.js" as DateExt
Column {
id: root
property var dayStart: new Date();
anchors.top: parent.top
anchors.topMargin: units.gu(1.5)
anchors.fill: parent
ViewHeader{
id: viewHeader
date: dayStart
}
TimeLineHeader{
id: weekHeader
type: typeWeek
date: weekViewPath.weekStart
}
PathViewBase{
id: weekViewPath
property var visibleWeek: dayStart.weekStart(Qt.locale().firstDayOfWeek);
property var weekStart: weekViewPath.visibleWeek.addDays(-7)
width: parent.width
height: root.height - viewHeader.height - weekHeader.height
onNextItemHighlighted: {
nextWeek();
weekHeader.incrementCurrentIndex()
}
onPreviousItemHighlighted: {
previousWeek();
weekHeader.decrementCurrentIndex()
}
function nextWeek() {
var weekStartDay = visibleWeek.weekStart(Qt.locale().firstDayOfWeek);
dayStart = weekStartDay.addDays(7);
}
function previousWeek(){
var weekStartDay = visibleWeek.weekStart(Qt.locale().firstDayOfWeek);
dayStart = weekStartDay.addDays(-7);
}
delegate: TimeLineBaseComponent {
id: timeLineView
type: typeWeek
width: parent.width
height: parent.height
startDay: getWeekStart();
function getWeekStart() {
switch( weekViewPath.indexType(index)) {
case 0:
return weekViewPath.weekStart;
case -1:
var weekStartDay= weekViewPath.weekStart.weekStart(Qt.locale().firstDayOfWeek);
return weekStartDay.addDays(14);
case 1:
var weekStartDay = weekViewPath.weekStart.weekStart(Qt.locale().firstDayOfWeek);
return weekStartDay.addDays(7);
}
}
}
}
}
|