mirror of
https://github.com/inverse-inc/sogo.git
synced 2026-04-14 09:48:51 +00:00
Monotone-Parent: c89c225a9b1b1ad4ce106e7b74c622f18718ff74
Monotone-Revision: 20c04b0bdf1f43a5ad91e5871e2205434e862cd6 Monotone-Author: wsourdeau@inverse.ca Monotone-Date: 2007-06-13T19:32:57 Monotone-Branch: ca.inverse.sogo
This commit is contained in:
@@ -1,5 +1,8 @@
|
||||
2007-06-13 Wolfgang Sourdeau <wsourdeau@inverse.ca>
|
||||
|
||||
* SoObjects/SOGo/NSObject+AptComparison.[hm]: removed category
|
||||
module, replaced with NSArray+Scheduler in UI/SchedulerUI/.
|
||||
|
||||
* SoObjects/Appointments/SOGoAppointmentFolder.m
|
||||
([SOGoAppointmentFolder
|
||||
-fetchFields:_fieldsfromFolder:_folderfrom:_startDateto:_endDatecomponent:_component]):
|
||||
|
||||
@@ -32,7 +32,6 @@ libSOGo_HEADER_FILES = \
|
||||
LDAPSource.h \
|
||||
SOGoPermissions.h \
|
||||
SOGoLRUCache.h \
|
||||
NSObject+AptComparison.h \
|
||||
WOContext+Agenor.h \
|
||||
SOGoDAVRendererTypes.h \
|
||||
NSArray+Utilities.h \
|
||||
@@ -61,7 +60,6 @@ libSOGo_OBJC_FILES = \
|
||||
SOGoLRUCache.m \
|
||||
LDAPUserManager.m \
|
||||
LDAPSource.m \
|
||||
NSObject+AptComparison.m \
|
||||
WOContext+Agenor.m \
|
||||
SOGoDAVRendererTypes.m \
|
||||
AgenorUserDefaults.m \
|
||||
|
||||
@@ -1,34 +0,0 @@
|
||||
/*
|
||||
Copyright (C) 2004 SKYRIX Software AG
|
||||
|
||||
This file is part of OpenGroupware.org.
|
||||
|
||||
OGo is free software; you can redistribute it and/or modify it under
|
||||
the terms of the GNU Lesser General Public License as published by the
|
||||
Free Software Foundation; either version 2, or (at your option) any
|
||||
later version.
|
||||
|
||||
OGo is distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
|
||||
License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with OGo; see the file COPYING. If not, write to the
|
||||
Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
|
||||
02111-1307, USA.
|
||||
*/
|
||||
// $Id: NSObject+AptComparison.h 620 2005-03-02 19:57:10Z znek $
|
||||
|
||||
#ifndef __SOGo_NSObject_AptComparison_H_
|
||||
#define __SOGo_NSObject_AptComparison_H_
|
||||
|
||||
#import <Foundation/NSObject.h>
|
||||
|
||||
@interface NSObject (SOGoAptComparison)
|
||||
|
||||
- (NSComparisonResult)compareAptsAscending:(id)_other;
|
||||
|
||||
@end
|
||||
|
||||
#endif /* __SOGo_NSObject_AptComparison_H_ */
|
||||
@@ -1,75 +0,0 @@
|
||||
/*
|
||||
Copyright (C) 2004 SKYRIX Software AG
|
||||
|
||||
This file is part of OpenGroupware.org.
|
||||
|
||||
OGo is free software; you can redistribute it and/or modify it under
|
||||
the terms of the GNU Lesser General Public License as published by the
|
||||
Free Software Foundation; either version 2, or (at your option) any
|
||||
later version.
|
||||
|
||||
OGo is distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
|
||||
License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with OGo; see the file COPYING. If not, write to the
|
||||
Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
|
||||
02111-1307, USA.
|
||||
*/
|
||||
// $Id: NSObject+AptComparison.m 620 2005-03-02 19:57:10Z znek $
|
||||
|
||||
#include "NSObject+AptComparison.h"
|
||||
#include <NGExtensions/NGCalendarDateRange.h>
|
||||
#include "common.h"
|
||||
|
||||
@implementation NSObject (SOGoAptComparison)
|
||||
|
||||
- (NSComparisonResult) compareAptsAscending: (id) _other
|
||||
{
|
||||
NSCalendarDate *sd, *ed;
|
||||
NGCalendarDateRange *r1, *r2;
|
||||
NSComparisonResult result;
|
||||
NSTimeInterval t1, t2;
|
||||
|
||||
sd = [self valueForKey: @"startDate"];
|
||||
ed = [self valueForKey: @"endDate"];
|
||||
if (sd && ed)
|
||||
r1 = [NGCalendarDateRange calendarDateRangeWithStartDate: sd
|
||||
endDate: ed];
|
||||
else
|
||||
r1 = nil;
|
||||
|
||||
sd = [_other valueForKey: @"startDate"];
|
||||
ed = [_other valueForKey: @"endDate"];
|
||||
if (sd && ed)
|
||||
r2 = [NGCalendarDateRange calendarDateRangeWithStartDate: sd
|
||||
endDate: ed];
|
||||
else
|
||||
r2 = nil;
|
||||
|
||||
if (r1)
|
||||
if (r2)
|
||||
{
|
||||
result = [r1 compare: r2];
|
||||
if (result != NSOrderedSame)
|
||||
return result;
|
||||
|
||||
t1 = [r1 duration];
|
||||
t2 = [r2 duration];
|
||||
if (t1 == t2)
|
||||
return NSOrderedSame;
|
||||
if (t1 > t2)
|
||||
return NSOrderedDescending;
|
||||
}
|
||||
else
|
||||
return NSOrderedDescending;
|
||||
else
|
||||
if (!r2)
|
||||
return NSOrderedSame;
|
||||
|
||||
return NSOrderedAscending;
|
||||
}
|
||||
|
||||
@end
|
||||
35
UI/Scheduler/NSArray+Scheduler.h
Normal file
35
UI/Scheduler/NSArray+Scheduler.h
Normal file
@@ -0,0 +1,35 @@
|
||||
/* NSArray+Scheduler.m - this file is part of SOGo
|
||||
*
|
||||
* Copyright (C) 2007 Inverse groupe conseil
|
||||
*
|
||||
* Author: Wolfgang Sourdeau <wsourdeau@inverse.ca>
|
||||
*
|
||||
* This file is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2, or (at your option)
|
||||
* any later version.
|
||||
*
|
||||
* This file is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; see the file COPYING. If not, write to
|
||||
* the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
* Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
#ifndef NSARRAY_SCHEDULER_H
|
||||
#define NSARRAY_SCHEDULER_H
|
||||
|
||||
#import <Foundation/NSArray.h>
|
||||
|
||||
@interface NSArray (SOGoEventComparison)
|
||||
|
||||
- (NSComparisonResult) compareEventsAscending: (NSArray *) otherEvent;
|
||||
- (NSComparisonResult) compareTasksAscending: (NSArray *) otherTask;
|
||||
|
||||
@end
|
||||
|
||||
#endif /* NSARRAY_SCHEDULER_H */
|
||||
87
UI/Scheduler/NSArray+Scheduler.m
Normal file
87
UI/Scheduler/NSArray+Scheduler.m
Normal file
@@ -0,0 +1,87 @@
|
||||
/* NSArray+Scheduler.m - this file is part of SOGo
|
||||
*
|
||||
* Copyright (C) 2007 Inverse groupe conseil
|
||||
*
|
||||
* Author: Wolfgang Sourdeau <wsourdeau@inverse.ca>
|
||||
*
|
||||
* This file is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2, or (at your option)
|
||||
* any later version.
|
||||
*
|
||||
* This file is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; see the file COPYING. If not, write to
|
||||
* the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
* Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
#import <Foundation/NSCalendarDate.h>
|
||||
#import <Foundation/NSNull.h>
|
||||
#import <Foundation/NSValue.h>
|
||||
#import <NGExtensions/NGCalendarDateRange.h>
|
||||
|
||||
#import "NSArray+Scheduler.h"
|
||||
|
||||
@implementation NSArray (SOGoEventComparison)
|
||||
|
||||
- (NSComparisonResult) _compareCompletionWithStatus1: (NSNumber *) status1
|
||||
andStatus2: (NSNumber *) status2
|
||||
{
|
||||
NSComparisonResult result;
|
||||
unsigned int ts1, ts2;
|
||||
|
||||
ts1 = [status1 intValue];
|
||||
ts2 = [status2 intValue];
|
||||
if (ts1 == 1 && ts2 != 1)
|
||||
result = NSOrderedDescending;
|
||||
else if (ts1 != 1 && ts2 == 1)
|
||||
result = NSOrderedAscending;
|
||||
else
|
||||
result = NSOrderedSame;
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
- (NSComparisonResult) compareEventsAscending: (NSArray *) otherEvent
|
||||
{
|
||||
return [[self objectAtIndex: 4] compare: [otherEvent objectAtIndex: 4]];
|
||||
}
|
||||
|
||||
- (NSComparisonResult) compareTasksAscending: (NSArray *) otherTask
|
||||
{
|
||||
NSComparisonResult result;
|
||||
unsigned int selfTime, otherTime;
|
||||
Class nullClass;
|
||||
|
||||
result = [self _compareCompletionWithStatus1: [self objectAtIndex: 2]
|
||||
andStatus2: [otherTask objectAtIndex: 2]];
|
||||
if (result == NSOrderedSame)
|
||||
{
|
||||
nullClass = [NSNull class];
|
||||
selfTime = [[self objectAtIndex: 4] intValue];
|
||||
otherTime = [[otherTask objectAtIndex: 4] intValue];
|
||||
if (selfTime && !otherTime)
|
||||
result = NSOrderedAscending;
|
||||
else if (!selfTime && otherTime)
|
||||
result = NSOrderedDescending;
|
||||
else
|
||||
{
|
||||
if (selfTime > otherTime)
|
||||
result = NSOrderedDescending;
|
||||
else if (selfTime < otherTime)
|
||||
result = NSOrderedAscending;
|
||||
else
|
||||
result = [[self objectAtIndex: 1]
|
||||
compare: [otherTask objectAtIndex: 1]];
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
@end
|
||||
Reference in New Issue
Block a user