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

« back to all changes in this revision

Viewing changes to NewEvent.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:
4
4
import Ubuntu.Components.ListItems 0.1
5
5
import Ubuntu.Components.Themes.Ambiance 0.1
6
6
 
7
 
import "dataService.js" as DataService
 
7
import "GlobalEventModel.js" as GlobalModel
8
8
 
9
9
Page {
10
10
    id: root
11
11
 
12
12
    property var date: new Date();
13
 
    property alias errorText: errorPopupDialog.text;
14
13
    property var startDate: date
15
14
    property var endDate: date
16
15
    property alias scrollY: flickable.contentY
17
16
 
18
17
    Component.onCompleted: {
 
18
        internal.eventModel = GlobalModel.gloablModel();
 
19
 
19
20
        startDate = new Date(date)
20
21
        endDate = new Date(date)
21
22
        endDate.setMinutes( endDate.getMinutes() + 10)
24
25
        endTime.text = Qt.formatDateTime(endDate, "dd MMM yyyy hh:mm");
25
26
    }
26
27
 
 
28
    function saveToQtPim() {
 
29
 
 
30
        internal.clearFocus()
 
31
 
 
32
        if ( startDate >= endDate ) {
 
33
            PopupUtils.open(errorDlgComponent,root,{"text":i18n.tr("End time can't be before start time")});
 
34
        } else {
 
35
 
 
36
            var event = Qt.createQmlObject("import QtOrganizer 5.0; Event { }", Qt.application,"NewEvent.qml");
 
37
 
 
38
            event.startDateTime = startDate;
 
39
            event.endDateTime = endDate;
 
40
            event.displayLabel = titleEdit.text;
 
41
            event.description = messageEdit.text;
 
42
 
 
43
            event.location = locationEdit.text
 
44
 
 
45
            if( personEdit.text != "") {
 
46
                var attendee = Qt.createQmlObject("import QtOrganizer 5.0; EventAttendee{}", Qt.application, "NewEvent.qml");
 
47
                attendee.name = personEdit.text;
 
48
                attendee.emailAddress = "none@nowhere.com";
 
49
                event.setDetail(attendee);
 
50
            }
 
51
 
 
52
            internal.eventModel.saveItem(event);
 
53
            pageStack.pop();
 
54
        }
 
55
    }
 
56
 
27
57
    width: parent.width
28
58
    height: parent.height
29
59
 
50
80
            action: Action {
51
81
                text: i18n.tr("Save");
52
82
                onTriggered: {
53
 
                    saveEvent();
54
 
                    pageStack.pop();
 
83
                    saveToQtPim();
55
84
                }
56
85
            }
57
86
        }
58
87
    }
59
88
 
60
 
    function saveEvent() {
61
 
        internal.clearFocus()
62
 
 
63
 
        var error = 0;
64
 
 
65
 
        if ( startDate > endDate )
66
 
            error = 2;
67
 
 
68
 
        var event = {
69
 
            title: titleEdit.text,
70
 
            message: null,
71
 
            startTime: startDate.getTime(),
72
 
            endTime: endDate.getTime()
73
 
        }
74
 
 
75
 
        if (!error) {
76
 
            DataService.addEvent(event);
77
 
        } else {
78
 
            errorText = i18n.tr("End time can't be before start time");
79
 
            errorPopupDialog.show();
80
 
        }
81
 
 
82
 
        error = 0;
83
 
    }
84
 
 
85
 
    QtObject {
86
 
        id: internal
87
 
        function clearFocus() {
88
 
            Qt.inputMethod.hide()
89
 
            titleEdit.focus = false
90
 
            locationEdit.focus = false
91
 
            personEdit.focus = false
92
 
            startTime.focus = false
93
 
            endTime.focus = false
94
 
            messageEdit.focus = false
95
 
        }
96
 
    }
97
 
 
98
 
    Dialog {
99
 
        id: errorPopupDialog
100
 
        title: i18n.tr("Error")
101
 
        text: ""
102
 
        Button {
103
 
            text: i18n.tr("Ok")
104
 
            onClicked: PopupUtils.close(errorPopupDialog)
 
89
    Component{
 
90
        id: errorDlgComponent
 
91
        Dialog {
 
92
            id: dialog
 
93
            title: i18n.tr("Error")
 
94
            Button {
 
95
                text: i18n.tr("Ok")
 
96
                onClicked: PopupUtils.close(dialog)
 
97
            }
105
98
        }
106
99
    }
107
100
 
275
268
            }
276
269
        }
277
270
    }
 
271
 
 
272
    QtObject {
 
273
        id: internal
 
274
        property var eventModel;
 
275
 
 
276
        function clearFocus() {
 
277
            Qt.inputMethod.hide()
 
278
            titleEdit.focus = false
 
279
            locationEdit.focus = false
 
280
            personEdit.focus = false
 
281
            startTime.focus = false
 
282
            endTime.focus = false
 
283
            messageEdit.focus = false
 
284
        }
 
285
    }
278
286
}