mirror of
https://github.com/inverse-inc/sogo.git
synced 2026-09-03 12:47:16 +00:00
See ChangeLog
Monotone-Parent: 6105680d967d026c63b9b9f96cb3aeae9884e804 Monotone-Revision: b532b841f572a64aa9b471da32a51bb939539334 Monotone-Author: ludovic@Sophos.ca Monotone-Date: 2012-06-19T13:17:48
This commit is contained in:
@@ -2764,7 +2764,7 @@ firstInstanceCalendarDateRange: (NGCalendarDateRange *) fir
|
||||
iCalEvent *event;
|
||||
|
||||
int imported, count, i;
|
||||
|
||||
|
||||
imported = 0;
|
||||
|
||||
if (calendar)
|
||||
@@ -2799,6 +2799,41 @@ firstInstanceCalendarDateRange: (NGCalendarDateRange *) fir
|
||||
tzId = [startDate value: 0 ofAttribute: @"tzid"];
|
||||
if ([tzId length])
|
||||
timezone = [timezones valueForKey: tzId];
|
||||
else
|
||||
{
|
||||
// If the start date is a "floating time", let's use the user's timezone
|
||||
// during the import for both the start and end dates.
|
||||
NSString *s;
|
||||
|
||||
s = [[startDate valuesAtIndex: 0 forKey: @""] objectAtIndex: 0];
|
||||
|
||||
if ([element isKindOfClass: [iCalEvent class]] &&
|
||||
![(iCalEvent *)element isAllDay] &&
|
||||
![s hasSuffix: @"Z"] &&
|
||||
![s hasSuffix: @"z"])
|
||||
{
|
||||
iCalDateTime *endDate;
|
||||
int delta;
|
||||
|
||||
timezone = [iCalTimeZone timeZoneForName: [[[self->context activeUser] userDefaults] timeZoneName]];
|
||||
[calendar addTimeZone: timezone];
|
||||
|
||||
delta = [[timezone periodForDate: [startDate dateTime]] secondsOffsetFromGMT];
|
||||
event = (iCalEvent *)element;
|
||||
|
||||
[event setStartDate: [[event startDate] dateByAddingYears: 0 months: 0 days: 0 hours: 0 minutes: 0 seconds: -delta]];
|
||||
[startDate setTimeZone: timezone];
|
||||
|
||||
endDate = (iCalDateTime *) [element uniqueChildWithTag: @"dtend"];
|
||||
|
||||
if (endDate)
|
||||
{
|
||||
[event setEndDate: [[event endDate] dateByAddingYears: 0 months: 0 days: 0 hours: 0 minutes: 0 seconds: -delta]];
|
||||
[endDate setTimeZone: timezone];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ([element isKindOfClass: [iCalEvent class]])
|
||||
{
|
||||
event = (iCalEvent *)element;
|
||||
|
||||
Reference in New Issue
Block a user