2
import Ubuntu.Components 0.1
4
import "dateExt.js" as DateExt
5
import "colorUtils.js" as Color
10
property int weekWidth:0;
11
property var visibleWeek: intern.now
13
signal daySelected(var day);
14
signal weekChanged(var visibleWeek);
18
property var now: new Date();
19
property int weekstartDay: Qt.locale().firstDayOfWeek
20
property var weekStart: visibleWeek.addDays(-7)
21
property var selectedDate: visibleWeek
24
onNextItemHighlighted: {
28
onPreviousItemHighlighted: {
32
onVisibleWeekChanged: {
36
Component.onCompleted: {
41
var weekStartDay= visibleWeek.weekStart(intern.weekstartDay);
42
visibleWeek = weekStartDay.addDays(7);
45
weekChanged( visibleWeek );
48
function previousWeek(){
49
var weekStartDay = visibleWeek.weekStart(intern.weekstartDay);
50
visibleWeek = weekStartDay.addDays(-7);
53
weekChanged( visibleWeek );
56
function setSelectedDay(date) {
58
if( date !== undefined && date !== null) {
59
intern.selectedDate = date;
63
if( intern.now.weekStart(intern.weekstartDay).isSameDay(visibleWeek) ) {
64
intern.selectedDate = intern.now
66
intern.selectedDate = visibleWeek
74
function getWeekStart() {
75
if (index === weekRibbonRoot.currentIndex) {
76
return intern.weekStart;
78
var previousIndex = weekRibbonRoot.currentIndex > 0 ? weekRibbonRoot.currentIndex - 1 : 2
80
if ( index === previousIndex ) {
81
var weekStartDay= intern.weekStart.weekStart( Qt.locale().firstDayOfWeek);
82
return weekStartDay.addDays(-7);
85
var weekStartDay = intern.weekStart.weekStart( Qt.locale().firstDayOfWeek);
86
return weekStartDay.addDays(7);
89
property var weekStart: getWeekStart();
94
delegate: dafaultDayLabelComponent
99
id: dafaultDayLabelComponent
105
height: column.height
107
color: intern.selectedDate.isSameDay(day) ? Color.ubuntuOrange : "white"
109
property var weekStartDay: parent.weekStart.weekStart( Qt.locale().firstDayOfWeek);
110
property var day : weekStartDay.addDays(index)
116
text: Qt.locale().standaloneDayName(( intern.weekstartDay + index), Locale.ShortFormat)
117
horizontalAlignment: Text.AlignHCenter
122
text: weekDay.day.getDate()
123
horizontalAlignment: Text.AlignHCenter
133
weekRibbonRoot.setSelectedDay(day);
134
weekRibbonRoot.daySelected(day);