mirror of
https://github.com/inverse-inc/sogo.git
synced 2026-10-06 04:20:33 +00:00
Monotone-Parent: 1d8390cb8afe22fe543231383205ab7e41337609
Monotone-Revision: f633654a120834c13835a3ef41a1418e31efffe3 Monotone-Author: wsourdeau@inverse.ca Monotone-Date: 2008-07-16T21:48:54 Monotone-Branch: ca.inverse.sogo
This commit is contained in:
@@ -24,10 +24,14 @@
|
||||
#import <Foundation/NSEnumerator.h>
|
||||
#import <Foundation/NSString.h>
|
||||
#import <Foundation/NSValue.h>
|
||||
#import <Foundation/NSTimeZone.h>
|
||||
|
||||
#import <NGCards/iCalCalendar.h>
|
||||
#import <NGCards/iCalPerson.h>
|
||||
|
||||
#import <NGObjWeb/WOApplication.h>
|
||||
#import <NGObjWeb/WOContext+SoObjects.h>
|
||||
|
||||
#import <SoObjects/SOGo/NSArray+Utilities.h>
|
||||
#import <SoObjects/SOGo/SOGoUser.h>
|
||||
|
||||
@@ -35,8 +39,31 @@
|
||||
|
||||
#import "iCalEntityObject+SOGo.h"
|
||||
|
||||
static int utcOffset = -1;
|
||||
|
||||
@implementation iCalEntityObject (SOGoExtensions)
|
||||
|
||||
static inline int
|
||||
_computeAllDayOffset()
|
||||
{
|
||||
NSTimeZone *tz;
|
||||
SOGoUser *user;
|
||||
WOApplication *application;
|
||||
int offset;
|
||||
|
||||
if (utcOffset == -1)
|
||||
{
|
||||
tz = [[NSCalendarDate date] timeZone];
|
||||
utcOffset = [tz secondsFromGMT];
|
||||
}
|
||||
|
||||
application = [WOApplication application];
|
||||
user = [[application context] activeUser];
|
||||
offset = utcOffset - [[user timeZone] secondsFromGMT];
|
||||
|
||||
return offset;
|
||||
}
|
||||
|
||||
+ (void) initializeSOGoExtensions;
|
||||
{
|
||||
if (!iCalDistantFuture)
|
||||
@@ -140,10 +167,24 @@
|
||||
}
|
||||
|
||||
- (NSNumber *) quickRecordDateAsNumber: (NSCalendarDate *) _date
|
||||
withOffset: (int) offset
|
||||
forAllDay: (BOOL) allDay
|
||||
{
|
||||
return ((_date == iCalDistantFuture)
|
||||
? iCalDistantFutureNumber
|
||||
: [NSNumber numberWithUnsignedInt: [_date timeIntervalSince1970]]);
|
||||
unsigned int seconds;
|
||||
NSNumber *dateNumber;
|
||||
|
||||
if (_date == iCalDistantFuture)
|
||||
dateNumber = iCalDistantFutureNumber;
|
||||
else
|
||||
{
|
||||
seconds = [_date timeIntervalSince1970] + offset;
|
||||
if (allDay)
|
||||
seconds += _computeAllDayOffset ();
|
||||
|
||||
dateNumber = [NSNumber numberWithUnsignedInt: seconds];
|
||||
}
|
||||
|
||||
return dateNumber;
|
||||
}
|
||||
|
||||
- (NSMutableDictionary *) quickRecord
|
||||
|
||||
Reference in New Issue
Block a user