Monotone-Parent: 1900d82b81c570a73d4db548a566ed09b57ee43a

Monotone-Revision: b0de6c606ce6f295a8956a42ed0f0bc3b6e3cca3

Monotone-Author: wsourdeau@inverse.ca
Monotone-Date: 2012-03-30T19:58:16
Monotone-Branch: ca.inverse.sogo
This commit is contained in:
Wolfgang Sourdeau
2012-03-30 19:58:16 +00:00
parent a4b083eb1e
commit 4f148bafc6
5 changed files with 75 additions and 52 deletions

View File

@@ -329,7 +329,8 @@
iCalToDo *vToDo;
id value;
iCalDateTime *date;
NSString *status, *priority;
iCalTimeZone *tz;
NSString *status, *priority, *tzName;
NSCalendarDate *now;
NSInteger tzOffset;
double doubleValue;
@@ -338,6 +339,10 @@
vCalendar = [vToDo parent];
[vCalendar setProdID: @"-//Inverse inc.//OpenChange+SOGo//EN"];
tzName = [[[self userContext] timeZone] name];
tz = [iCalTimeZone timeZoneForName: tzName];
[vCalendar addTimeZone: tz];
// summary
value = [properties
objectForKey: MAPIPropertyKey (PR_NORMALIZED_SUBJECT_UNICODE)];
@@ -358,12 +363,12 @@
value = [value htmlToText];
}
}
if (value && [value length] == 0)
value = nil;
[vToDo setComment: value];
if (value)
[vToDo setComment: value];
{
if ([value length] == 0)
value = nil;
[vToDo setComment: value];
}
// location
value = [properties objectForKey: MAPIPropertyKey (PidLidLocation)];
@@ -388,31 +393,17 @@
if (value)
{
date = (iCalDateTime *) [vToDo uniqueChildWithTag: @"dtstart"];
tzOffset = [[value timeZone] secondsFromGMTForDate: value];
value = [value dateByAddingYears: 0 months: 0 days: 0
hours: 0 minutes: 0
seconds: -tzOffset];
[date setDate: value];
[date setTimeZone: tz];
[date setDateTime: value];
}
else
{
[vToDo setStartDate: nil];
}
// due
value = [properties objectForKey: MAPIPropertyKey (PidLidTaskDueDate)];
if (value)
{
date = (iCalDateTime *) [vToDo uniqueChildWithTag: @"due"];
tzOffset = [[value timeZone] secondsFromGMTForDate: value];
value = [value dateByAddingYears: 0 months: 0 days: 0
hours: 0 minutes: 0
seconds: -tzOffset];
[date setDate: value];
}
else
{
[vToDo setDue: nil];
[date setTimeZone: tz];
[date setDateTime: value];
}
// completed
@@ -426,10 +417,6 @@
seconds: -tzOffset];
[date setDate: value];
}
else
{
[vToDo setCompleted: nil];
}
// status
value = [properties objectForKey: MAPIPropertyKey (PidLidTaskStatus)];
@@ -459,10 +446,8 @@
default: // IMPORTANCE_NORMAL
priority = @"5";
}
[vToDo setPriority: priority];
}
else
priority = @"0"; // None
[vToDo setPriority: priority];
// percent complete
// NOTE: this does not seem to work on Outlook 2003. PidLidPercentComplete's value