Revision: 28342
http://sourceforge.net/p/bibdesk/svn/28342
Author: hofman
Date: 2023-09-13 17:07:35 +0000 (Wed, 13 Sep 2023)
Log Message:
-----------
use calendar for offset of date by one week for workaround
Modified Paths:
--------------
trunk/bibdesk/NSDate_BDSKExtensions.m
Modified: trunk/bibdesk/NSDate_BDSKExtensions.m
===================================================================
--- trunk/bibdesk/NSDate_BDSKExtensions.m 2023-09-13 16:23:42 UTC (rev
28341)
+++ trunk/bibdesk/NSDate_BDSKExtensions.m 2023-09-13 17:07:35 UTC (rev
28342)
@@ -270,12 +270,19 @@
NSUInteger unitFlags = NSYearCalendarUnit | NSMonthCalendarUnit;
unitFlags |= period == BDSKPeriodWeek ? NSWeekCalendarUnit :
NSDayCalendarUnit;
NSDateComponents *components = [calendar components:unitFlags
fromDate:self];
- BOOL needsWorkaround = NO;
+ NSDateComponents *weekOffset = nil;
// workaround for a known bug, week is 1 for last week of the year
if (period == BDSKPeriodWeek && [components weekOfYear] == 1 &&
[components month] > 1) {
components = [calendar components:unitFlags fromDate:[self
dateByAddingTimeInterval:-7 * 24 * 3600]];
- needsWorkaround = YES;
+ weekOffset = [[[NSDateComponents alloc] init] autorelease];
+ [weekOffset setWeekday:0];
+ [weekOffset setWeekOfYear:-1];
+ [weekOffset setDay:NSUndefinedDateComponent];
+ [weekOffset setMonth:NSUndefinedDateComponent];
+ [weekOffset setYear:0];
+ components = [calendar components:unitFlags fromDate:[calendar
dateByAddingComponents:weekOffset toDate:self options:0]];
+ [weekOffset setWeekOfYear:1];
}
[components setHour:0];
[components setMinute:0];
@@ -300,8 +307,8 @@
break;
}
NSDate *date = [calendar dateFromComponents:components];
- if (needsWorkaround)
- date = [date dateByAddingTimeInterval:7 * 24 * 3600];
+ if (weekOffset)
+ date = [calendar dateByAddingComponents:weekOffset toDate:date
options:0];
return date;
}
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
_______________________________________________
Bibdesk-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bibdesk-commit