41
function updateRecurrence( event ) {
43
if(event.recurrence ) {
44
var recurrenceRule = event.recurrence.recurrenceRules;
45
if(recurrenceRule.length > 0){
46
index = recurrenceRule[0].frequency ;
52
recurrentHeader.value = Defines.recurrenceLabel[index];
55
function updateContacts(event) {
56
var attendees = event.attendees;
58
if( attendees !== undefined ) {
59
for( var j = 0 ; j < attendees.length ; ++j ) {
60
contactModel.append( {"name": attendees[j].name,"participationStatus": attendees[j].participationStatus } );
65
function updateReminder(event) {
67
var reminder = event.detail( Detail.VisualReminder);
69
var reminderTime = reminder.secondsBeforeStart;
70
var foundIndex = Defines.reminderValue.indexOf(reminderTime);
71
index = foundIndex != -1 ? foundIndex : 0;
73
reminderHeader.value = Defines.reminderLabel[index];
76
function updateLocation(event) {
77
if( event.location ) {
78
locationLabel.text = event.location;
80
// FIXME: need to cache map image to avoid duplicate download every time
81
var imageSrc = "http://maps.googleapis.com/maps/api/staticmap?center="+event.location+
82
"&markers=color:red|"+event.location+"&zoom=15&size="+mapContainer.width+
83
"x"+mapContainer.height+"&sensor=false";
84
mapImage.source = imageSrc;
87
// TODO: use different color for empty text
88
locationLabel.text = i18n.tr("Not specified")
40
93
function showEvent(e) {
42
94
// TRANSLATORS: this is a time & Date formatting string,
43
95
//http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details
44
96
var timeFormat = i18n.tr("hh:mm");
46
98
eventDate.value = e.startDateTime.toLocaleString(Qt.locale(),dateFormat);
47
99
var startTime = e.startDateTime.toLocaleTimeString(Qt.locale(), timeFormat);
48
100
var endTime = e.endDateTime.toLocaleTimeString(Qt.locale(), timeFormat);
105
model.onItemsFetched.connect( function(id,fetchedItems){
106
if(requestId === id && fetchedItems.length > 0) {
107
parentEvent = fetchedItems[0];
108
updateRecurrence(parentEvent);
109
updateContacts(parentEvent);
112
requestId = model.fetchItems([e.parentId]);
49
115
startHeader.value = startTime;
50
116
endHeader.value = endTime;
59
125
if( e.description ) {
60
126
descLabel.text = e.description;
62
var attendees = e.attendees;
64
if( attendees !== undefined ) {
65
for( var j = 0 ; j < attendees.length ; ++j ) {
66
contactModel.append( {"name": attendees[j].name,"participationStatus": attendees[j].participationStatus } );
72
var recurrenceRule = e.recurrence.recurrenceRules;
73
index = ( recurrenceRule.length > 0 ) ? recurrenceRule[0].frequency : 0;
75
recurrentHeader.value = Defines.recurrenceLabel[index];
78
var reminder = e.detail( Detail.VisualReminder);
80
var reminderTime = reminder.secondsBeforeStart;
81
var foundIndex = Defines.reminderValue.indexOf(reminderTime);
82
index = foundIndex != -1 ? foundIndex : 0;
84
reminderHeader.value = Defines.reminderLabel[index];
87
locationLabel.text = e.location;
89
// FIXME: need to cache map image to avoid duplicate download every time
90
var imageSrc = "http://maps.googleapis.com/maps/api/staticmap?center="+e.location+
91
"&markers=color:red|"+e.location+"&zoom=15&size="+mapContainer.width+
92
"x"+mapContainer.height+"&sensor=false";
93
mapImage.source = imageSrc;
96
// TODO: use different color for empty text
97
locationLabel.text = i18n.tr("Not specified")
102
138
Keys.onEscapePressed: {