mirror of
https://github.com/inverse-inc/sogo.git
synced 2026-10-06 04:20:33 +00:00
See ChangeLog.
Monotone-Parent: d11c3e99fe05eb716e0732c7b5c44019dcd75934 Monotone-Revision: 0a8cad3c6a768c445cd15f040d34f93bba3eb6ea Monotone-Author: flachapelle@inverse.ca Monotone-Date: 2011-06-13T20:28:10 Monotone-Branch: ca.inverse.sogo
This commit is contained in:
@@ -210,7 +210,7 @@
|
||||
NSCalendarDate *newStartDate, *now;
|
||||
NSTimeZone *timeZone;
|
||||
SOGoUserDefaults *ud;
|
||||
int hour;
|
||||
int hour, minute;
|
||||
unsigned int uStart, uEnd;
|
||||
|
||||
newStartDate = [self selectedDate];
|
||||
@@ -226,12 +226,15 @@
|
||||
{
|
||||
uEnd = [ud dayEndHour];
|
||||
hour = [now hourOfDay];
|
||||
minute = [now minuteOfHour];
|
||||
if (minute % 15)
|
||||
minute += 15 - (minute % 15);
|
||||
if (hour < uStart)
|
||||
newStartDate = [now hour: uStart minute: 0];
|
||||
else if (hour > uEnd)
|
||||
newStartDate = [[now tomorrow] hour: uStart minute: 0];
|
||||
else
|
||||
newStartDate = now;
|
||||
newStartDate = [now hour: [now hourOfDay] minute: minute];
|
||||
}
|
||||
else
|
||||
newStartDate = [newStartDate hour: uStart minute: 0];
|
||||
|
||||
@@ -280,6 +280,7 @@ static NSArray *tasksFields = nil;
|
||||
...
|
||||
*/
|
||||
|
||||
//NSLog(@"***[UIxCalListingActions _fixDates:] %@", [theRecord objectForKey: @"c_title"]);
|
||||
if (dayBasedView || [[theRecord objectForKey: @"c_isallday"] boolValue])
|
||||
{
|
||||
for (count = 0; count < 2; count++)
|
||||
@@ -288,6 +289,7 @@ static NSArray *tasksFields = nil;
|
||||
aDate = [theRecord objectForKey: aDateField];
|
||||
daylightOffset = (int) ([userTimeZone secondsFromGMTForDate: aDate]
|
||||
- [userTimeZone secondsFromGMTForDate: startDate]);
|
||||
//NSLog(@"***[UIxCalListingActions _fixDates:] %@ = %@ (%i)", aDateField, aDate, daylightOffset);
|
||||
if (daylightOffset)
|
||||
{
|
||||
aDate = [aDate dateByAddingYears: 0 months: 0 days: 0 hours: 0
|
||||
@@ -413,6 +415,7 @@ static NSArray *tasksFields = nil;
|
||||
|
||||
date = [NSCalendarDate dateWithTimeIntervalSince1970: seconds];
|
||||
// Adjust for daylight saving time? (wrt to startDate)
|
||||
//NSLog(@"***[UIxCalListingActions _formattedDateForSeconds] user timezone is %@", userTimeZone);
|
||||
[date setTimeZone: userTimeZone];
|
||||
if (forAllDay)
|
||||
formattedDate = [dateFormatter formattedDate: date];
|
||||
@@ -975,6 +978,11 @@ _computeBlocksPosition (NSArray *blocks)
|
||||
for (count = 0; count < max; count++)
|
||||
{
|
||||
event = [events objectAtIndex: count];
|
||||
// NSLog(@"***[UIxCalListingActions eventsBlocksAction] %i = %@ : %@ / %@ / %@", count,
|
||||
// [event objectAtIndex: eventTitleIndex],
|
||||
// [event objectAtIndex: eventStartDateIndex],
|
||||
// [event objectAtIndex: eventEndDateIndex],
|
||||
// [event objectAtIndex: eventRecurrenceIdIndex]);
|
||||
eventNbr = [NSNumber numberWithUnsignedInt: count];
|
||||
isAllDay = [[event objectAtIndex: eventIsAllDayIndex] boolValue];
|
||||
if (dayBasedView && isAllDay)
|
||||
|
||||
@@ -257,7 +257,7 @@
|
||||
NSCalendarDate *newStartDate, *now;
|
||||
NSTimeZone *timeZone;
|
||||
SOGoUserDefaults *ud;
|
||||
int hour;
|
||||
int hour, minute;
|
||||
unsigned int uStart, uEnd;
|
||||
|
||||
newStartDate = [self selectedDate];
|
||||
@@ -273,12 +273,15 @@
|
||||
{
|
||||
uEnd = [ud dayEndHour];
|
||||
hour = [now hourOfDay];
|
||||
minute = [now minuteOfHour];
|
||||
if (minute % 15)
|
||||
minute += 15 - (minute % 15);
|
||||
if (hour < uStart)
|
||||
newStartDate = [now hour: uStart minute: 0];
|
||||
else if (hour > uEnd)
|
||||
newStartDate = [[now tomorrow] hour: uStart minute: 0];
|
||||
else
|
||||
newStartDate = now;
|
||||
newStartDate = [now hour: [now hourOfDay] minute: minute];
|
||||
}
|
||||
else
|
||||
newStartDate = [newStartDate hour: uStart minute: 0];
|
||||
@@ -302,8 +305,14 @@
|
||||
{
|
||||
startDate = [todo startDate];
|
||||
dueDate = [todo due];
|
||||
hasStartDate = (startDate != nil);
|
||||
hasDueDate = (dueDate != nil);
|
||||
if (startDate)
|
||||
hasStartDate = YES;
|
||||
else
|
||||
startDate = [self newStartDate];
|
||||
if (dueDate)
|
||||
hasDueDate = YES;
|
||||
else
|
||||
dueDate = [self newStartDate];
|
||||
ASSIGN (status, [todo status]);
|
||||
if ([status isEqualToString: @"COMPLETED"])
|
||||
{
|
||||
|
||||
@@ -33,36 +33,23 @@
|
||||
NSString *controlID;
|
||||
NSString *label;
|
||||
NSCalendarDate *date;
|
||||
id hour;
|
||||
id minute;
|
||||
id second;
|
||||
NSString *time;
|
||||
id day;
|
||||
id month;
|
||||
id year;
|
||||
BOOL displayTimeControl;
|
||||
unsigned int startHour;
|
||||
unsigned int endHour;
|
||||
NSNumber *currentHour;
|
||||
NSNumber *currentMinute;
|
||||
BOOL isDisabled;
|
||||
}
|
||||
|
||||
- (void) setDayStartHour: (unsigned int) hour;
|
||||
- (void) setDayEndHour: (unsigned int) hour;
|
||||
|
||||
- (void)setControlID:(NSString *)_controlID;
|
||||
- (NSString *)controlID;
|
||||
- (void)setLabel:(NSString *)_label;
|
||||
- (NSString *)label;
|
||||
- (void)setDate:(NSCalendarDate *)_date;
|
||||
- (NSCalendarDate *)date;
|
||||
- (void)setTime:(NSString *)_time;
|
||||
- (NSString *)time;
|
||||
|
||||
- (void)setHour:(id)_hour;
|
||||
- (id)hour;
|
||||
- (void)setMinute:(id)_minute;
|
||||
- (id)minute;
|
||||
- (void)setSecond:(id)_second;
|
||||
- (id)second;
|
||||
- (void)setDay:(id)_day;
|
||||
- (id)day;
|
||||
- (void)setMonth:(id)_month;
|
||||
|
||||
@@ -45,9 +45,7 @@
|
||||
[controlID release];
|
||||
[label release];
|
||||
[date release];
|
||||
[hour release];
|
||||
[minute release];
|
||||
[second release];
|
||||
[time release];
|
||||
[day release];
|
||||
[month release];
|
||||
[year release];
|
||||
@@ -56,23 +54,28 @@
|
||||
|
||||
/* accessors */
|
||||
|
||||
- (void)setControlID:(NSString *)_controlID {
|
||||
- (void)setControlID:(NSString *)_controlID
|
||||
{
|
||||
ASSIGNCOPY(controlID, _controlID);
|
||||
}
|
||||
- (NSString *)controlID {
|
||||
|
||||
- (NSString *)controlID
|
||||
{
|
||||
return controlID;
|
||||
}
|
||||
- (void)setLabel:(NSString *)_label {
|
||||
|
||||
- (void)setLabel:(NSString *)_label
|
||||
{
|
||||
ASSIGNCOPY(label, _label);
|
||||
}
|
||||
- (NSString *)label {
|
||||
- (NSString *)label
|
||||
{
|
||||
return label;
|
||||
}
|
||||
|
||||
- (void) setDate: (NSCalendarDate *) _date
|
||||
{
|
||||
SOGoUserDefaults *ud;
|
||||
int minuteValue;
|
||||
|
||||
if (!_date)
|
||||
_date = [NSCalendarDate date];
|
||||
@@ -81,148 +84,63 @@
|
||||
[_date setTimeZone: [ud timeZone]];
|
||||
|
||||
[self _setDate: _date];
|
||||
[self setTime: [_date descriptionWithCalendarFormat: @"%H:%M"]];
|
||||
|
||||
minuteValue = [_date minuteOfHour];
|
||||
if (minuteValue % 15)
|
||||
minuteValue += 15 - (minuteValue % 15);
|
||||
[self setHour: [NSNumber numberWithInt: [_date hourOfDay]]];
|
||||
[self setMinute: [NSNumber numberWithInt: minuteValue]];
|
||||
[self setYear: [NSNumber numberWithInt: [_date yearOfCommonEra]]];
|
||||
[self setMonth: [NSNumber numberWithInt: [_date monthOfYear]]];
|
||||
[self setDay: [NSNumber numberWithInt: [_date dayOfMonth]]];
|
||||
}
|
||||
|
||||
- (void)_setDate:(NSCalendarDate *)_date {
|
||||
- (void)_setDate:(NSCalendarDate *)_date
|
||||
{
|
||||
ASSIGN(date, _date);
|
||||
}
|
||||
|
||||
- (NSCalendarDate *)date {
|
||||
- (NSCalendarDate *)date
|
||||
{
|
||||
return date;
|
||||
}
|
||||
|
||||
- (void)setHour:(id)_hour {
|
||||
ASSIGN(hour, _hour);
|
||||
- (void) setTime: (NSString *)_time
|
||||
{
|
||||
ASSIGN(time, _time);
|
||||
}
|
||||
|
||||
- (id)hour {
|
||||
return hour;
|
||||
}
|
||||
- (void)setMinute:(id)_minute {
|
||||
ASSIGN(minute, _minute);
|
||||
}
|
||||
- (id)minute {
|
||||
return minute;
|
||||
}
|
||||
- (void)setSecond:(id)_second {
|
||||
ASSIGN(second, _second);
|
||||
}
|
||||
- (id)second {
|
||||
return second;
|
||||
- (NSString *) time
|
||||
{
|
||||
return time;
|
||||
}
|
||||
|
||||
- (void)setDay:(id)_day {
|
||||
- (void)setDay:(id)_day
|
||||
{
|
||||
ASSIGN(day, _day);
|
||||
}
|
||||
- (id)day {
|
||||
|
||||
- (id)day
|
||||
{
|
||||
return day;
|
||||
}
|
||||
- (void)setMonth:(id)_month {
|
||||
|
||||
- (void)setMonth:(id)_month
|
||||
{
|
||||
ASSIGN(month, _month);
|
||||
}
|
||||
- (id)month {
|
||||
|
||||
- (id)month
|
||||
{
|
||||
return month;
|
||||
}
|
||||
- (void)setYear:(id)_year {
|
||||
|
||||
- (void)setYear:(id)_year
|
||||
{
|
||||
ASSIGN(year, _year);
|
||||
}
|
||||
- (id)year {
|
||||
|
||||
- (id)year
|
||||
{
|
||||
return year;
|
||||
}
|
||||
|
||||
- (void) setDayStartHour: (unsigned int) aStartHour
|
||||
{
|
||||
startHour = aStartHour;
|
||||
}
|
||||
|
||||
- (void) setDayEndHour: (unsigned int) anEndHour
|
||||
{
|
||||
endHour = anEndHour;
|
||||
}
|
||||
|
||||
- (void) setHourOption: (NSNumber *) option
|
||||
{
|
||||
currentHour = option;
|
||||
}
|
||||
|
||||
- (BOOL) isCurrentHour
|
||||
{
|
||||
return [currentHour isEqual: hour];
|
||||
}
|
||||
|
||||
- (BOOL) isCurrentMinute
|
||||
{
|
||||
return [currentMinute isEqual: minute];
|
||||
}
|
||||
|
||||
- (int) hourValue
|
||||
{
|
||||
return [currentHour intValue];
|
||||
}
|
||||
|
||||
- (NSString *) hourLabel
|
||||
{
|
||||
return [NSString stringWithFormat: @"%.2d", [currentHour intValue]];
|
||||
}
|
||||
|
||||
- (NSArray *) selectableHours
|
||||
{
|
||||
NSMutableArray *hours;
|
||||
unsigned int h;
|
||||
|
||||
hours = [NSMutableArray array];
|
||||
for (h = startHour; h < (endHour + 1); h++)
|
||||
[hours addObject: [NSNumber numberWithInt: h]];
|
||||
|
||||
return hours;
|
||||
}
|
||||
|
||||
- (NSString *) hourSelectId
|
||||
{
|
||||
return [[self controlID] stringByAppendingString:@"_time_hour"];
|
||||
}
|
||||
|
||||
- (void) setMinuteOption: (NSNumber *) option
|
||||
{
|
||||
currentMinute = option;
|
||||
}
|
||||
|
||||
- (int) minuteValue
|
||||
{
|
||||
return [currentMinute intValue];
|
||||
}
|
||||
|
||||
- (NSString *) minuteLabel
|
||||
{
|
||||
return [NSString stringWithFormat: @"%.2d", [currentMinute intValue]];
|
||||
}
|
||||
|
||||
- (NSArray *) selectableMinutes
|
||||
{
|
||||
NSMutableArray *minutes;
|
||||
unsigned int m;
|
||||
|
||||
minutes = [NSMutableArray array];
|
||||
for (m = 0; m < 60; m += 15)
|
||||
[minutes addObject: [NSNumber numberWithInt: m]];
|
||||
|
||||
return minutes;
|
||||
}
|
||||
|
||||
- (NSString *) minuteSelectId
|
||||
{
|
||||
return [[self controlID] stringByAppendingString:@"_time_minute"];
|
||||
}
|
||||
|
||||
- (NSString *) timeID
|
||||
{
|
||||
return [[self controlID] stringByAppendingString:@"_time"];
|
||||
@@ -249,8 +167,9 @@
|
||||
inContext: (WOContext *) _ctx
|
||||
{
|
||||
NSCalendarDate *d;
|
||||
unsigned _year, _month, _day, _hour, _minute, _second;
|
||||
unsigned _year, _month, _day, _hour, _minute;//, _second;
|
||||
SOGoUserDefaults *ud;
|
||||
NSArray *_time;
|
||||
|
||||
/* call super, so that the form values are applied on the popups */
|
||||
[super takeValuesFromRequest:_rq inContext:_ctx];
|
||||
@@ -258,18 +177,18 @@
|
||||
_year = [[self year] intValue];
|
||||
if (_year > 0)
|
||||
{
|
||||
[self setHour: [_rq formValueForKey: [self hourSelectId]]];
|
||||
[self setMinute: [_rq formValueForKey: [self minuteSelectId]]];
|
||||
[self setTime: [_rq formValueForKey: [self timeID]]];
|
||||
|
||||
_month = [[self month] intValue];
|
||||
_day = [[self day] intValue];
|
||||
_hour = [[self hour] intValue];
|
||||
_minute = [[self minute] intValue];
|
||||
_second = [[self second] intValue];
|
||||
_time = [[self time] componentsSeparatedByString: @":"];
|
||||
_hour = [[_time objectAtIndex: 0] intValue];
|
||||
_minute = [[_time objectAtIndex: 1] intValue];
|
||||
// _second = [[self second] intValue];
|
||||
|
||||
ud = [[context activeUser] userDefaults];
|
||||
d = [NSCalendarDate dateWithYear: _year month: _month day: _day
|
||||
hour: _hour minute: _minute second: _second
|
||||
hour: _hour minute: _minute second: 0
|
||||
timeZone: [ud timeZone]];
|
||||
[self _setDate: d];
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user