summaryrefslogtreecommitdiffabout
path: root/libkcal/vcalformat.cpp
Unidiff
Diffstat (limited to 'libkcal/vcalformat.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--libkcal/vcalformat.cpp19
1 files changed, 14 insertions, 5 deletions
diff --git a/libkcal/vcalformat.cpp b/libkcal/vcalformat.cpp
index 9307f12..0ebd7d1 100644
--- a/libkcal/vcalformat.cpp
+++ b/libkcal/vcalformat.cpp
@@ -30,4 +30,5 @@
30 30
31#include <kdebug.h> 31#include <kdebug.h>
32#include <kglobal.h>
32#include <kmessagebox.h> 33#include <kmessagebox.h>
33#include <kiconloader.h> 34#include <kiconloader.h>
@@ -47,4 +48,5 @@ VCalFormat::VCalFormat()
47{ 48{
48 mCalendar = 0; 49 mCalendar = 0;
50 useLocalTime = false;
49} 51}
50 52
@@ -167,7 +169,10 @@ bool VCalFormat::fromString( Calendar *calendar, const QString &text )
167} 169}
168 170
169QString VCalFormat::eventToString( Event * event, Calendar *calendar) 171QString VCalFormat::eventToString( Event * event, Calendar *calendar, bool useLocal)
170{ 172{
173
171 if ( !event ) return QString::null; 174 if ( !event ) return QString::null;
175 bool useL = useLocalTime;
176 useLocalTime = useLocal;
172 mCalendar = calendar; 177 mCalendar = calendar;
173 VObject *vevent = eventToVEvent( event ); 178 VObject *vevent = eventToVEvent( event );
@@ -175,9 +180,13 @@ QString VCalFormat::eventToString( Event * event, Calendar *calendar)
175 QString result( buf ); 180 QString result( buf );
176 cleanVObject( vevent ); 181 cleanVObject( vevent );
182 useLocalTime = useL;
177 return result; 183 return result;
178} 184}
179QString VCalFormat::todoToString( Todo * todo, Calendar *calendar ) 185QString VCalFormat::todoToString( Todo * todo, Calendar *calendar, bool useLocal )
180{ 186{
187
181 if ( !todo ) return QString::null; 188 if ( !todo ) return QString::null;
189 bool useL = useLocalTime;
190 useLocalTime = useLocal;
182 mCalendar = calendar; 191 mCalendar = calendar;
183 VObject *vevent = eventToVTodo( todo ); 192 VObject *vevent = eventToVTodo( todo );
@@ -185,4 +194,5 @@ QString VCalFormat::todoToString( Todo * todo, Calendar *calendar )
185 QString result( buf ); 194 QString result( buf );
186 cleanVObject( vevent ); 195 cleanVObject( vevent );
196 useLocalTime = useL;
187 return result; 197 return result;
188} 198}
@@ -1435,7 +1445,6 @@ QString VCalFormat::qDateTimeToISO(const QDateTime &qdt, bool zulu)
1435 ASSERT(qdt.date().isValid()); 1445 ASSERT(qdt.date().isValid());
1436 ASSERT(qdt.time().isValid()); 1446 ASSERT(qdt.time().isValid());
1437 if (zulu) { 1447 if (zulu && !useLocalTime ) {
1438 QDateTime tmpDT(qdt); 1448 QDateTime tmpDT = qdt.addSecs ( -KGlobal::locale()->localTimeOffset( qdt )*60);
1439 tmpDT = tmpDT.addSecs(60*(-mCalendar->getTimeZone())); // correct to GMT.
1440 tmpStr.sprintf("%.2d%.2d%.2dT%.2d%.2d%.2dZ", 1449 tmpStr.sprintf("%.2d%.2d%.2dT%.2d%.2d%.2dZ",
1441 tmpDT.date().year(), tmpDT.date().month(), 1450 tmpDT.date().year(), tmpDT.date().month(),