We have a new version (4.51) of CC Calendar available to address a bug in the display of months which begin on Monday when the calendar is set to "start week on Monday". We apologize for any inconvenience this may cause.
Below you'll find instructions for downloading a new copy of the Free Version, or requesting a new copy of the Pro Version. You'll also find out how to reproduce the bug so you can see if this is something you want to mess with at all.
Finally, if you've made extensive modifications to your calendar, we're offering to make the repairs on your modified copy at no charge. Just email us for details: [email protected] (You must be using the latest version of the calendar- the one which contains the "start week on Monday" option.)
Special thanks to Rick Rowland for help in debugging this.
All the best,
John Sindelar
________________________________________________
Download a new Free Version
Download a new free version here:
http://www.seedcode.com/lists/?p=subscribe&id=2
________________________________________________
Request a new Pro Version
If you'd like a fresh copy of CC Calendar Pro Version, please email us a request at [email protected] Please use or include the original email address you used to purchase the product. If you bought the calendar at DevCon and did not provide us with an email address, just include your full name and your phone number.
________________________________________________
Reproduce the Bug
From the About tab, click on Settings and check the box that says "start week on Monday". Move to the Daily View in CC Calendar. Navigate to December 2004. Select any Day in December in the Daily View's mini Calendar. Now click on January 5th. The bug shows up in how the first week of January is not visible in the mini calendar. A related problem can be demonstrated by clicking on January 18th at this point. Notice how no red indicator appears on the 18th. Both these problems are addressed in the new version.
________________________________________________
Repair Your Copy
Buckle up...
Part 1. Pro Version Only
1. Backup your files.
2. Find and Duplicate the "Locate Selected Week" script in CCCalendar.fp5. Rename the newly duplicated script "Locate Selected Week on Week View".
3. Edit this script ("Locate Selected Week on Week View").
4. Change the ExitLoopIf step to use "ThirtyDay1WeekCalc" instead of "ThirtyDay1Calc" and to use "ThirtyDay7WeekCalc" instead of "ThirtyDay7Calc".
5. Edit the "Btn Show Current Week" script to call "Locate Selected Week on Week View" instead of "Locate Selected Week".
6. Edit all the "Select Day from Day 1 WeekMini" scripts in CCCalendar.fp5. There are 7 of these toward the end of the script list. Edit the first one ("Select Day from Day 1 WeekMini") from:
- Code: Select all
Freeze Window
Set Field [ LinkDateGlob, SelfbyCommonOne::ThirtyDay1WeekCalc - 7 ]
Perform Script [ ìLocate Selected Weekî ] [ Sub-scripts ]
Set Field [ LinkDateGlob, LinkDateGlob + 7 ]
To:
- Code: Select all
Freeze Window
Set Field [ LinkDateGlob, SelfbyCommonOne::ThirtyDay2WeekCalc ]
Perform Script [ ìLocate Selected Week on Week Viewî ] [ Sub-scripts ]
Edit the other 6 scripts to call ìLocate Selected Week on Week Viewî instead of ìLocate Selected Weekî in the Perform Script line.
Part Two. All Versions.
1. Backup your files.
2. Create new field: ThirtyDayRecordNumberCalc, type= calculation, returns number.
3. Define this calc as follows: Unstored calculation.
- Code: Select all
Case( ThirtyDayFirstDayCalc=0, ThirtyDayRecordNumber-StartWeekOnMondayGlob, ThirtyDayRecordNumber )
4. Change the field definition for DayIndicatorRedCalc from
- Code: Select all
GetRepetition(DayIndicatorRedHolderGlob,
If(
Day(LinkDateGlob)>=(1-ThirtyDayFirstDayCalc)+(ThirtyDayRecordNumber*7) and
Day(LinkDateGlob)<=(7-ThirtyDayFirstDayCalc)+(ThirtyDayRecordNumber*7),
DayofWeek(LinkDateGlob),
0) - StartWeekOnMondayGlob
)
To:
- Code: Select all
GetRepetition(DayIndicatorRedHolderGlob,
If(Day(LinkDateGlob)>=(1-ThirtyDayFirstDayCalc)+(ThirtyDayRecordNumberCalc*7) + StartWeekOnMondayGlob and Day(LinkDateGlob)<=(7-ThirtyDayFirstDayCalc)+(ThirtyDayRecordNumberCalc*7) + StartWeekOnMondayGlob, DayofWeek(LinkDateGlob)-Case(DayofWeek(LinkDateGlob)=1 and StartWeekOnMondayGlob=1, -6,StartWeekOnMondayGlob) , 0) )
5. Change Each of the ThirtyDaySlot calcs (ThirtyDaySlot1Calc, ThirtyDaySlot2Calc, etc.) to use ThirtyDayRecordNumberCalc instead of ThirtyDayRecordNumber. The example below is from ThirtyDaySlot1Calc:
From:
- Code: Select all
(1-ThirtyDayFirstDayCalc)+(ThirtyDayRecordNumber*7) +
If(PatternCount(Status(CurrentLayoutName), "week")>0,0,
StartWeekOnMondayGlob)
To:
- Code: Select all
(1-ThirtyDayFirstDayCalc)+(ThirtyDayRecordNumberCalc*7) +
If(PatternCount(Status(CurrentLayoutName), "week")>0,0,
StartWeekOnMondayGlob)
That's it!