summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--library/backend/event.cpp34
1 files changed, 34 insertions, 0 deletions
diff --git a/library/backend/event.cpp b/library/backend/event.cpp
index 7cac314..7ccf16b 100644
--- a/library/backend/event.cpp
+++ b/library/backend/event.cpp
@@ -1082,24 +1082,58 @@ static inline VObject *safeAddPropValue( VObject *o, const char *prop, const QSt
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/*
1095 * Until we support vCal/iCal right
1096 * we will make DTSTART and other things
1097 * be floating in the sense of
1098 * RFC 2445
1099 */
1100namespace {
1101/*
1102 * Convert QDateTime to iso8601 but take
1103 * local time and do not use the Z at the end
1104 *
1105 */
1106 QCString toISOLocal( const QDateTime& dt ) {
1107 QCString str;
1108 /*
1109 * year month day T Hour Minute Second
1110 * 4 2 2 2 2 2 digits
1111 */
1112 str.sprintf("%04d%02d%02dT%02d%02d%02d",
1113 dt.date().year(),
1114 dt.date().month(),
1115 dt.date().year(),
1116 dt.time().hour(),
1117 dt.time().minute(),
1118 dt.time().second() );
1119
1120
1121
1122 return str;
1123 }
1124
1125
1126};
1127
1094static VObject *createVObject( const Event &e ) 1128static VObject *createVObject( const Event &e )
1095{ 1129{
1096 VObject *vcal = newVObject( VCCalProp ); 1130 VObject *vcal = newVObject( VCCalProp );
1097 safeAddPropValue( vcal, VCVersionProp, "1.0" ); 1131 safeAddPropValue( vcal, VCVersionProp, "1.0" );
1098 VObject *event = safeAddProp( vcal, VCEventProp ); 1132 VObject *event = safeAddProp( vcal, VCEventProp );
1099 1133
1100 safeAddPropValue( event, VCDTstartProp, TimeConversion::toISO8601( e.start() ) ); 1134 safeAddPropValue( event, VCDTstartProp, TimeConversion::toISO8601( e.start() ) );
1101 safeAddPropValue( event, VCDTendProp, TimeConversion::toISO8601( e.end() ) ); 1135 safeAddPropValue( event, VCDTendProp, TimeConversion::toISO8601( e.end() ) );
1102 safeAddPropValue( event, "X-Qtopia-NOTES", e.description() ); 1136 safeAddPropValue( event, "X-Qtopia-NOTES", e.description() );
1103 safeAddPropValue( event, VCDescriptionProp, e.description() ); 1137 safeAddPropValue( event, VCDescriptionProp, e.description() );
1104 safeAddPropValue( event, VCLocationProp, e.location() ); 1138 safeAddPropValue( event, VCLocationProp, e.location() );
1105 1139