Incremental changes, updates, and bug reports:
Minor bug fixes and code updates; program compiled in latest version of Embarcadero Technology's RAD Studio 10.4 Syndey.
Modified scaling code for embedded images when printing: allows user to select "1x" for height equal to header line, or "2x", for height equal to header + title lines.
Modified code for placement of titles and headers with images: title is centered for single-height; centered in remaining space for double-height images.
Updated validation code base (based on OnGuard by TurboPower); modified code to use more features supported by Windows International format settings; changed scaling options for images to either single (height of title or header) or double (spanning both).
Modified code to use constant names in Standard.UITypes; modified Print Options not to reset month and year when changing .ini files to facilitate printing calendars using multiple .ini files.
Moved platoon labels on wallet calendars up for improved separation; removed deprecated (non-WIC) code for handling images.
Recompiled in Delphi XE6; regression testing.
Program recompiled in Embarcadero RAD Studio (Delphi) XE3; kept in regression testing until release in January of 2013.
Performed code cleanup in code modules for child windows/dialogs.
Modified centering and scaling code for wallet calendar titles in
landscape mode and activated graphic support for wallet calendars
in portrait mode; changed default font size for Win 7/Vista to 8 points.
Bug Fix: fixed error in displaying "X" platoon correctly.
Modified Page Setup dialog code for setting printed page margins; peformed a general clean-up of printing code. Page Setup margins are now reset when user changes tabs in the Print Options dialog. Added test for Platoon "X" (RDO's and Debit Days) when opening .ini files.
Added "X" Platoon to recognized platoon letters for compatibility with
SC2ICal utility on shift schedules that feature RDO's (rotating days off)
or debit days
Bug Fix: When printing Organizer pages, the calendar header on even-numbered pages masked part of the frame rectangle; fixed
General code update to address the differences between grid color and frame color in on-screen and printed output; added global variable to store printed frame color
Modified Day-of-Week printing code for consistency between on-screen
display and printed output in Autoscale mode
Minor bug fix in Autoscale code
Modified grid-drawing code to use FrameRect, resulting in improved grid lines
GridColor now applies to on-screen grid as well as printed calendars
Modified code that computes default column width and cell height
Removed deprecated code in the ShowGrid click routine
Added form for wallet calendar printer offsets;
moved printer offsets (default printer only) to Registry.
Replaced several deprecated calls with updated versions in Delphi XE:
- CheckWin32Version replaced convoluted "IsWindowsVista" routine;
- FormatSettings replaced GetInternationalLocale for formatting dates and times;
- Consolidated calls to FileOpen and FileSave dialogs.
Bug Fix: failed to link in MIDAS code, causing a run-time error if the user did not have MIDAS.DLL installed; fixed.
Bug Fix: run-time error when closing program after awakening from sleep mode; fixed
Update: re-compiled in RAD Studio XE; removed obsolete call in pop-up menu code.
Bug Fix: the Day of Week font did not update when opening an new .ini file in full-screen mode; fixed.
Modified Message Form to address some anomalous behavior:
- Local menu in "multi-record" mode changes to reflect valid options
- Dialog prompts user when switching between single- and multi-record modes
- Implemented work-around when using Navigator button to delete multiple records
- User can enter edit mode using "F2" key or by double-clicking field with mouse
- User can press "Escape" key once to exit edit mode, or twice to close the form
Added support for Read-Only files, which was dropped in the transition to .cds files.
Minor code changes (general code clean-up) to Message Form.
Added global variable "GridWidth" to control width of grid lines on screen, using default value of 1 for Win2K/XP; 2 for Win Vista and Win 7.
Added global var LegacyImage to allow user to force image handling using legacy code (supports some pdf printer drivers better than WIC).
LegacyImage can be invoked from the command line using "/G" switch or from an .ini file using Boolean key "LegacyImage" - [Config] section.
Modified ImgDlg.Title to display "(legacy code)" when not using WIC; changed FileIni dialogs to display "(subset)" when [F6] option active.
Added labels to display image size in pixels in ImgForm for scaling; added message to advise user when non-scaled image too large to print.
Changed graphics-handling code to the new Microsoft Windows Imaging Component, adding support for TIFF and GIF graphics in printed calendar headers. Supported formats are: JPG, PNG, BMP, GIF, and TIFF.
The Windows Imaging Component is only supported in Windows XP or newer, so Windows 2000 users are still limited to JPG, PNG, and BMP files (using legacy code).
Bug Fix: the "File | Save As" menu option placed the back-up file in the wrong location under a specific set of circumstances; fixed.
Also, calendar now refreshes when validation code is applied.
Update: refined gesture support for annual (pop-up) calendar and added gesture support to base calendar; calendar refreshes after gesture.
Update: recompiled in Delphi 2010; added gesture support to annual (pop-up) calendar.
Update: modified image-handling code for better persistence between multiple calls to the Image dialog. Images now persist when the [F6] ".ini file subset" option is in effect.
Initial Release Candidate 07/04/2009; baseline release for Version 6
New features for Version 6:1. "Load subset" option: keep current calendar size and font settings when opening a shift schedule (.ini file).
Earlier 6.n versions (03/06/2009) were pre-release and only available to beta testers