See ChangeLog

Monotone-Parent: 0df4e36b439ce8ec4afb7517b7d82ef4710c8bce
Monotone-Revision: e44e3640213c46f7a069d1612037b80c15c40ea7

Monotone-Author: flachapelle@inverse.ca
Monotone-Date: 2011-03-19T02:06:32
Monotone-Branch: ca.inverse.sogo
This commit is contained in:
Francis Lachapelle
2011-03-19 02:06:32 +00:00
parent e42aceffdf
commit 66e53da063
2 changed files with 40 additions and 11 deletions

View File

@@ -8,9 +8,17 @@
(-takeValuesFromRequest:inContext:): we no longer associate a
vTimeZone to start/end dates of an all-day vEvent.
2011-03-17 Francis Lachapelle <flachapelle@inverse.ca>
* UI/Scheduler/UIxCalListingActions.m
(-_fetchFields:forComponentOfType:): we don't add components
outside the covered period. This could happen with all-day events,
since their dates are always GMT.
* SoObjects/Appointments/iCalEvent+SOGo.m (-quickRecord):
* SoObjects/Appointments/iCalEvent+SOGo.m (-quickRecord): an all-day
event usually doesn't have a timezone. However, if it does, we must
convert its dates to GMT. All-day events are "floating", in the
sense that are timezone-independant.
2011-03-17 Francis Lachapelle <flachapelle@inverse.ca>
* UI/MailerUI/UIxMailAccountActions.m (-listMailboxesAction):
moved code that fetches the inbox quota to [SOGoMailAccount getInboxQuota].

View File

@@ -32,6 +32,7 @@
#import <NGCards/iCalAlarm.h>
#import <NGCards/iCalDateTime.h>
#import <NGCards/iCalTimeZone.h>
#import <NGCards/iCalEvent.h>
#import <NGCards/iCalPerson.h>
#import <NGCards/iCalTrigger.h>
@@ -74,6 +75,8 @@
unsigned int i, count, boolTmp;
BOOL isAllDay;
iCalAccessClass accessClass;
iCalDateTime *date;
iCalTimeZone *timeZone;
/* extract values */
@@ -124,18 +127,36 @@
if ([startDate isNotNull])
{
// if (isAllDay)
// NSLog (@"start date...");
if (isAllDay)
{
// An all-day event usually doesn't have a timezone associated to its
// start date; however, if it does, we convert it to GMT.
date = (iCalDateTime*) [self uniqueChildWithTag: @"dtstart"];
timeZone = [(iCalDateTime*) date timeZone];
if (timeZone)
startDate = [timeZone computedDateForDate: startDate];
}
[row setObject: [self quickRecordDateAsNumber: startDate
withOffset: 0 forAllDay: isAllDay]
forKey: @"c_startdate"];
withOffset: 0
forAllDay: isAllDay]
forKey: @"c_startdate"];
}
if ([endDate isNotNull])
[row setObject: [self quickRecordDateAsNumber: endDate
withOffset: ((isAllDay) ? -1 : 0)
forAllDay: isAllDay]
forKey: @"c_enddate"];
{
if (isAllDay)
{
// An all-day event usually doesn't have a timezone associated to its
// end date; however, if it does, we convert it to GMT.
date = (iCalDateTime*) [self uniqueChildWithTag: @"dtend"];
timeZone = [(iCalDateTime*) date timeZone];
if (timeZone)
endDate = [timeZone computedDateForDate: endDate];
}
[row setObject: [self quickRecordDateAsNumber: endDate
withOffset: ((isAllDay) ? -1 : 0)
forAllDay: isAllDay]
forKey: @"c_enddate"];
}
if ([self isRecurrent])
{
NSCalendarDate *date;