See SOPE/NGCards/ChangeLog.
Monotone-Parent: d03d201f9e10ea4b211b8adbb66f692be8661797 Monotone-Revision: 8084a82ca1ab7dad7f78c35f529f9e3db7d02314 Monotone-Author: flachapelle@inverse.ca Monotone-Date: 2012-04-11T17:57:54maint-2.0.2
parent
262481d6e1
commit
c2dec4f1cb
4
NEWS
4
NEWS
|
@ -3,12 +3,14 @@
|
||||||
New Features
|
New Features
|
||||||
- Sources address books are now exposed in Apple and iOS AddressBook app
|
- Sources address books are now exposed in Apple and iOS AddressBook app
|
||||||
using the "directory gateway" extension of CardDAV
|
using the "directory gateway" extension of CardDAV
|
||||||
|
- sogo-tool: new "expire-sessions" command
|
||||||
|
|
||||||
Enhancements
|
Enhancements
|
||||||
-
|
- Updated Spanish (Argentina) translation
|
||||||
|
|
||||||
Bug Fixes
|
Bug Fixes
|
||||||
- fixed wrong date validation in preferences module affecting French users
|
- fixed wrong date validation in preferences module affecting French users
|
||||||
|
- fixed bugs in weekly recurrence calculator
|
||||||
|
|
||||||
1.3.14 (2012-03-23)
|
1.3.14 (2012-03-23)
|
||||||
-------------------
|
-------------------
|
||||||
|
|
|
@ -1,3 +1,11 @@
|
||||||
|
2012-04-11 Francis Lachapelle <flachapelle@inverse.ca>
|
||||||
|
|
||||||
|
* iCalWeeklyRecurrenceCalculator.m
|
||||||
|
(-recurrenceRangesWithinCalendarDateRange): we now return
|
||||||
|
occurrences that intersects with the period (not only occurrences
|
||||||
|
within the period). We no longer rely on NSCalendarDate to compute
|
||||||
|
the number of days since the master event start date (it is bugged).
|
||||||
|
|
||||||
2012-03-26 Wolfgang Sourdeau <wsourdeau@inverse.ca>
|
2012-03-26 Wolfgang Sourdeau <wsourdeau@inverse.ca>
|
||||||
|
|
||||||
* iCalDateTime.m (_setDateTime:forAllDayEntity:): set or unset the
|
* iCalDateTime.m (_setDateTime:forAllDayEntity:): set or unset the
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Copyright (C) 2004-2005 SKYRIX Software AG
|
Copyright (C) 2004-2005 SKYRIX Software AG
|
||||||
Copyright (C) 2006-2010 Inverse inc.
|
Copyright (C) 2006-2012 Inverse inc.
|
||||||
|
|
||||||
This file is part of SOPE.
|
This file is part of SOPE.
|
||||||
|
|
||||||
|
@ -85,7 +85,7 @@
|
||||||
dayMask = [rrule byDayMask];
|
dayMask = [rrule byDayMask];
|
||||||
|
|
||||||
// If rule is bound, check the bounds
|
// If rule is bound, check the bounds
|
||||||
if (![rrule isInfinite])
|
if (![rrule isInfinite])
|
||||||
{
|
{
|
||||||
NSCalendarDate *until, *lastDate;
|
NSCalendarDate *until, *lastDate;
|
||||||
|
|
||||||
|
@ -118,7 +118,7 @@
|
||||||
currentStartDate = [firStart copy];
|
currentStartDate = [firStart copy];
|
||||||
[currentStartDate autorelease];
|
[currentStartDate autorelease];
|
||||||
ranges = [NSMutableArray array];
|
ranges = [NSMutableArray array];
|
||||||
i = 1;
|
i = 0;
|
||||||
count = 0;
|
count = 0;
|
||||||
|
|
||||||
if (dayMask == nil)
|
if (dayMask == nil)
|
||||||
|
@ -137,10 +137,10 @@
|
||||||
if ([_r containsDateRange: r])
|
if ([_r containsDateRange: r])
|
||||||
[ranges addObject: r];
|
[ranges addObject: r];
|
||||||
}
|
}
|
||||||
|
i++;
|
||||||
currentStartDate = [firStart dateByAddingYears: 0
|
currentStartDate = [firStart dateByAddingYears: 0
|
||||||
months: 0
|
months: 0
|
||||||
days: (interval * i * 7)];
|
days: (interval * i * 7)];
|
||||||
i++;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -151,28 +151,25 @@
|
||||||
[currentStartDate compare: endDate] == NSOrderedSame)
|
[currentStartDate compare: endDate] == NSOrderedSame)
|
||||||
{
|
{
|
||||||
BOOL isRecurrence = NO;
|
BOOL isRecurrence = NO;
|
||||||
NSInteger days, week;
|
NSInteger week;
|
||||||
|
|
||||||
if (repeatCount > 0 ||
|
if (repeatCount > 0 ||
|
||||||
[startDate compare: currentStartDate] == NSOrderedAscending ||
|
[startDate compare: currentStartDate] == NSOrderedAscending ||
|
||||||
[startDate compare: currentStartDate] == NSOrderedSame)
|
[startDate compare: currentStartDate] == NSOrderedSame)
|
||||||
{
|
{
|
||||||
// If the rule count is defined, stop once the count is reached.
|
// If the rule count is defined, stop once the count is reached.
|
||||||
if (i == 1)
|
if (i == 0)
|
||||||
{
|
{
|
||||||
// Always add the start date the recurring event if within
|
// Always add the start date of the recurring event if within
|
||||||
// the lookup range.
|
// the lookup range.
|
||||||
isRecurrence = YES;
|
isRecurrence = YES;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
[currentStartDate years:NULL months:NULL days:&days hours:NULL
|
// The following always set the first day of the week as the day
|
||||||
minutes:NULL seconds:NULL sinceDate: firStart];
|
// of the master event start date, ie WKST is ignored.
|
||||||
|
week = i / 7;
|
||||||
// The following adjustment always set the first day of the
|
|
||||||
// week to Sunday, ie WKST is ignored.
|
|
||||||
week = (days + [firStart dayOfWeek]) / 7;
|
|
||||||
|
|
||||||
if ((week % interval) == 0 &&
|
if ((week % interval) == 0 &&
|
||||||
[dayMask occursOnDay: [currentStartDate dayOfWeek]])
|
[dayMask occursOnDay: [currentStartDate dayOfWeek]])
|
||||||
isRecurrence = YES;
|
isRecurrence = YES;
|
||||||
|
@ -187,7 +184,7 @@
|
||||||
r = [NGCalendarDateRange calendarDateRangeWithStartDate: currentStartDate
|
r = [NGCalendarDateRange calendarDateRangeWithStartDate: currentStartDate
|
||||||
endDate: currentEndDate];
|
endDate: currentEndDate];
|
||||||
|
|
||||||
if ([_r containsDateRange: r])
|
if ([_r doesIntersectWithDateRange: r])
|
||||||
[ranges addObject: r];
|
[ranges addObject: r];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue