~pkunal-parmar/ubuntu-calendar-app/ICalImport

« back to all changes in this revision

Viewing changes to TimeLineBase.qml

  • Committer: Tarmac
  • Author(s): Kunal Parmar
  • Date: 2013-10-14 13:57:42 UTC
  • mfrom: (124.3.10 ubuntu-calendar-app)
  • Revision ID: tarmac-20131014135742-xatlilnykrxfy2as
DataModel moved to use QtOrganizer,
Organizer uses EDS as data source,
Related changes required to use QtOrganizer
.

Approved by David Planella, Ubuntu Phone Apps Jenkins Bot, Renato Araujo Oliveira Filho.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
import QtQuick 2.0
2
2
import Ubuntu.Components 0.1
3
3
import "dateExt.js" as DateExt
 
4
import "GlobalEventModel.js" as GlobalModel
4
5
 
5
6
Item {
6
7
    id: bubbleOverLay
9
10
    property var day;
10
11
    property int hourHeight: units.gu(10)
11
12
 
12
 
    EventListModel {
13
 
        id: model
14
 
        termStart: bubbleOverLay.day.midnight()
15
 
        termLength: Date.msPerDay
 
13
    Component.onCompleted: {
 
14
        intern.model = GlobalModel.gloablModel();
 
15
        intern.model.reloaded.connect(bubbleOverLay.createEvents);
 
16
    }
16
17
 
17
 
        onReloaded: {
 
18
    onDayChanged: {
 
19
        if( intern.model)
18
20
            bubbleOverLay.createEvents();
19
 
        }
20
21
    }
21
22
 
22
23
    TimeSeparator{
29
30
    QtObject {
30
31
        id: intern
31
32
        property var now : new Date();
 
33
        property var model;
32
34
    }
33
35
 
34
36
    function showEventDetails(event) {
38
40
    function createEvents() {
39
41
        bubbleOverLay.destroyAllChildren();
40
42
 
41
 
        for(var i = 0 ; i < model.count ; ++i) {
42
 
            var event = model.get(i);
 
43
        var startDate = new Date(day);
 
44
        startDate.setHours(0,0,0,0);
 
45
 
 
46
        var endDate = startDate.addDays(1);
 
47
        endDate.setHours(0,0,0,0);
 
48
 
 
49
        var itemIds = intern.model.itemIds(startDate,endDate);
 
50
        for(var i = 0 ; i < itemIds.length ; ++i) {
 
51
            var eventId = itemIds[(i)];
 
52
            var event = intern.model.item(eventId);
43
53
            if( event ) {
44
 
                bubbleOverLay.createEvent(event,event.startTime.getHours());
 
54
                bubbleOverLay.createEvent(event,event.startDateTime.getHours());
45
55
            }
46
56
        }
47
57
 
62
72
 
63
73
    function createEvent( event ,hour) {
64
74
        var eventBubble = delegate.createObject(bubbleOverLay);
65
 
 
66
75
        eventBubble.clicked.connect( bubbleOverLay.showEventDetails );
67
 
 
68
76
        eventBubble.event = event
69
77
 
70
 
        var yPos = (( event.startTime.getMinutes() * hourHeight) / 60) + hour * hourHeight
 
78
        var yPos = (( event.startDateTime.getMinutes() * hourHeight) / 60) + hour * hourHeight
71
79
        eventBubble.y = yPos;
72
80
 
73
 
        var durationMin = (event.endTime.getHours() - event.startTime.getHours()) * 60;
74
 
        durationMin += (event.endTime.getMinutes() - event.startTime.getMinutes());
 
81
        var durationMin = (event.endDateTime.getHours() - event.startDateTime.getHours()) * 60;
 
82
        durationMin += (event.endDateTime.getMinutes() - event.startDateTime.getMinutes());
75
83
        var height = (durationMin * hourHeight )/ 60;
76
84
        eventBubble.height = height;
77
85
    }