summaryrefslogtreecommitdiff
path: root/library/backend/event.cpp
Unidiff
Diffstat (limited to 'library/backend/event.cpp') (more/less context) (show whitespace changes)
-rw-r--r--library/backend/event.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/library/backend/event.cpp b/library/backend/event.cpp
index 2d02a34..eb238a4 100644
--- a/library/backend/event.cpp
+++ b/library/backend/event.cpp
@@ -1067,102 +1067,102 @@ QDate EffectiveEvent::endDate() const
1067 \internal 1067 \internal
1068*/ 1068*/
1069int EffectiveEvent::size() const 1069int EffectiveEvent::size() const
1070{ 1070{
1071 return ( mEnd.hour() - mStart.hour() ) * 3600 1071 return ( mEnd.hour() - mStart.hour() ) * 3600
1072 + (mEnd.minute() - mStart.minute() * 60 1072 + (mEnd.minute() - mStart.minute() * 60
1073 + mEnd.second() - mStart.second() ); 1073 + mEnd.second() - mStart.second() );
1074} 1074}
1075 1075
1076 1076
1077// vcal conversion code 1077// vcal conversion code
1078static inline VObject *safeAddPropValue( VObject *o, const char *prop, const QString &value ) 1078static inline VObject *safeAddPropValue( VObject *o, const char *prop, const QString &value )
1079{ 1079{
1080 VObject *ret = 0; 1080 VObject *ret = 0;
1081 if ( o && !value.isEmpty() ) 1081 if ( o && !value.isEmpty() )
1082 ret = addPropValue( o, prop, value.latin1() ); 1082 ret = addPropValue( o, prop, value.latin1() );
1083 return ret; 1083 return ret;
1084} 1084}
1085 1085
1086static inline VObject *safeAddProp( VObject *o, const char *prop) 1086static inline VObject *safeAddProp( VObject *o, const char *prop)
1087{ 1087{
1088 VObject *ret = 0; 1088 VObject *ret = 0;
1089 if ( o ) 1089 if ( o )
1090 ret = addProp( o, prop ); 1090 ret = addProp( o, prop );
1091 return ret; 1091 return ret;
1092} 1092}
1093 1093
1094/* 1094/*
1095 * Until we support vCal/iCal right 1095 * Until we support vCal/iCal right
1096 * we will make DTSTART and other things 1096 * we will make DTSTART and other things
1097 * be floating in the sense of 1097 * be floating in the sense of
1098 * RFC 2445 1098 * RFC 2445
1099 */ 1099 */
1100namespace { 1100namespace {
1101/* 1101/*
1102 * Convert QDateTime to iso8601 but take 1102 * Convert QDateTime to iso8601 but take
1103 * local time and do not use the Z at the end 1103 * local time and do not use the Z at the end
1104 * 1104 *
1105 */ 1105 */
1106 QCString toISOLocal( const QDateTime& dt ) { 1106 QCString toISOLocal( const QDateTime& dt ) {
1107 QCString str; 1107 QCString str;
1108 /* 1108 /*
1109 * year month day T Hour Minute Second 1109 * year month day T Hour Minute Second
1110 * 4 2 2 2 2 2 digits 1110 * 4 2 2 2 2 2 digits
1111 */ 1111 */
1112 str.sprintf("%04d%02d%02dT%02d%02d%02d", 1112 str.sprintf("%04d%02d%02dT%02d%02d%02d",
1113 dt.date().year(), 1113 dt.date().year(),
1114 dt.date().month(), 1114 dt.date().month(),
1115 dt.date().year(), 1115 dt.date().day(),
1116 dt.time().hour(), 1116 dt.time().hour(),
1117 dt.time().minute(), 1117 dt.time().minute(),
1118 dt.time().second() ); 1118 dt.time().second() );
1119 1119
1120 1120 qWarning("Str ist %s", str.data() );
1121 1121
1122 return str; 1122 return str;
1123 } 1123 }
1124 1124
1125 1125
1126}; 1126};
1127 1127
1128static VObject *createVObject( const Event &e ) 1128static VObject *createVObject( const Event &e )
1129{ 1129{
1130 VObject *vcal = newVObject( VCCalProp ); 1130 VObject *vcal = newVObject( VCCalProp );
1131 safeAddPropValue( vcal, VCVersionProp, "1.0" ); 1131 safeAddPropValue( vcal, VCVersionProp, "1.0" );
1132 VObject *event = safeAddProp( vcal, VCEventProp ); 1132 VObject *event = safeAddProp( vcal, VCEventProp );
1133 1133
1134 safeAddPropValue( event, VCDTstartProp, toISOLocal( e.start() ) ); 1134 safeAddPropValue( event, VCDTstartProp, toISOLocal( e.start() ) );
1135 safeAddPropValue( event, VCDTendProp, toISOLocal( e.end() ) ); 1135 safeAddPropValue( event, VCDTendProp, toISOLocal( e.end() ) );
1136 safeAddPropValue( event, "X-Qtopia-NOTES", e.description() ); 1136 safeAddPropValue( event, "X-Qtopia-NOTES", e.description() );
1137 safeAddPropValue( event, VCDescriptionProp, e.description() ); 1137 safeAddPropValue( event, VCDescriptionProp, e.description() );
1138 safeAddPropValue( event, VCLocationProp, e.location() ); 1138 safeAddPropValue( event, VCLocationProp, e.location() );
1139 1139
1140 if ( e.hasAlarm() ) { 1140 if ( e.hasAlarm() ) {
1141 VObject *alarm = safeAddProp( event, VCAAlarmProp ); 1141 VObject *alarm = safeAddProp( event, VCAAlarmProp );
1142 QDateTime dt = e.start(); 1142 QDateTime dt = e.start();
1143 dt = dt.addSecs( -e.alarmTime()*60 ); 1143 dt = dt.addSecs( -e.alarmTime()*60 );
1144 safeAddPropValue( alarm, VCRunTimeProp, toISOLocal( dt ) ); 1144 safeAddPropValue( alarm, VCRunTimeProp, toISOLocal( dt ) );
1145 safeAddPropValue( alarm, VCAudioContentProp, 1145 safeAddPropValue( alarm, VCAudioContentProp,
1146 (e.alarmSound() == Event::Silent ? "silent" : "alarm" ) ); 1146 (e.alarmSound() == Event::Silent ? "silent" : "alarm" ) );
1147 } 1147 }
1148 1148
1149 safeAddPropValue( event, "X-Qtopia-TIMEZONE", e.timeZone() ); 1149 safeAddPropValue( event, "X-Qtopia-TIMEZONE", e.timeZone() );
1150 1150
1151 if ( e.type() == Event::AllDay ) 1151 if ( e.type() == Event::AllDay )
1152 safeAddPropValue( event, "X-Qtopia-AllDay", e.timeZone() ); 1152 safeAddPropValue( event, "X-Qtopia-AllDay", e.timeZone() );
1153 1153
1154 // ### repeat missing 1154 // ### repeat missing
1155 1155
1156 // ### categories missing 1156 // ### categories missing
1157 1157
1158 return vcal; 1158 return vcal;
1159} 1159}
1160 1160
1161 1161
1162static Event parseVObject( VObject *obj ) 1162static Event parseVObject( VObject *obj )
1163{ 1163{
1164 Event e; 1164 Event e;
1165 1165
1166 bool haveAlarm = FALSE; 1166 bool haveAlarm = FALSE;
1167 bool haveStart = FALSE; 1167 bool haveStart = FALSE;
1168 bool haveEnd = FALSE; 1168 bool haveEnd = FALSE;