Software update: ChronosXP 2.21 beta

Spread the love

ChronosXP is an application that allows the time on Earth to be expressed in planet hours, this designation was coined on the basis of the astrological system of order of the planets according to the Chaldeans. The program is located in the system tray and uses symbols to indicate the time. Version 2.21 beta has recently been released with the following changelog:

Version 2.21 beta:

  • Windows Explorer and IE both use F11, so we now trap Alt+F11 with RegisterHotkey (instead of SetWindowsHookEx)
  • Because of this, ChronosXPCore is now inherited from System.Windows.Forms.Control, because WndProc was needed to for WM_HOTKEY.
  • Since ChronosXPCore is now a Control, ChronosXPCore.tmpForm eliminated (context menu displayed using `this’)
  • SW_SHOWNA isn’t always displaying NotifyWindow’s on top, but a new solution has been found. SetWindowPos() with HWND_TOPMOST and SWP_NOACTIVATE.

Version 2.20 beta:

  • Calendar.updateLabels centering algorithm adjusted.
  • StringFormat.GenericTypographic employed in Calendar.printDocument_PrintPage and Calendar.updateLabels.
  • If BETA, display version in the Planetary Hours Calendar; related strings added to Strings*.resx
  • Config.LaunchBrowser catch launch of IE eliminated – it resulted in two separate browser windows being opened for Firefox users (one Firefox, one IE)
  • Calendar.labelCTime replaced by statusBarTime.
  • Calendar.drawStatusBarPanel now uses a MeasureString overload that uses Width and StringFormat arguments.
  • Calendar.cs: most of the LinkLabel’s were using the Click EventHandler instead of the LinkClicked LinkLabelLinkClickedEventHandler – fixed.
  • Core.CheckUpdates: check always if !conf.RunFromTray (ie, standalone mode)
  • Various improvements in Core.NotifyWindow.
  • Microsoft Sans Serif dropped in favor of Tahoma.
  • VisualCalendar.CalendarFont created.
  • Better way of dealing with locations at high latitudes which are in perpetual light or darkness at various times of the year; when this is the case, divide the day into 24 equal hours beginning at midnight.
  • Locality.cs: Alaska and Hawaii-Aleutian Time Zones corrected.
  • Calendar.trayContextMenu: we now do our own painting, making the ContextMenu resemble VS 2005’s MenuStrip.
  • The Places Editor and Locality forms both now check to see if the stored time zone of a place is in the ComboBox.Items; if not, add it.
  • Improved accuracy of time zone string->double conversion format in Place.cs.
  • When the user makes configuration changes in the Properties form, and the Calendar form is open, the Calendar form will refresh itself to make use of the changes. See Calendar.RefreshForm. conf.UseGradient changes are not considered.
  • PlanetaryHours, SunTime and Place are now overrides of System.IDisposable; better memory management techniques employed throughout.
  • Win32.cs superceded by PInvoke.cs, which is now home to all of our P/Invoke stuff.
  • After two months of failed attempts I finally authored an XP style GroupBox (using UxTheme.dll) with transparency. Yippie.
  • Implemented XPTabControl which draws the XP Visual TabPage background (when applicable.)
  • Also implemented new controls: XPLabel, XPLinkLabel, XPPanel. Each simply overrides OnPaintBackground and calls DrawThemeParentBackground when BackColor == Color.Transparent. This is necessary for use with XPTabControl.
  • XPCheckBox, which draws the entire control itself (if using visual styles,) because overriding OnPaintBackground didn’t work.
  • An XPNumericUpDown, but read the comments at the beginning of this code if you are going to use it.
  • All XP* controls in UxTheme.cs; P/Invoke declarations in PInvoke.cs.
  • VisualMonthCalendar now uses Invalidate instead of directly calling OnPaintBackground.
  • New 16×16 Saturn icon.
  • Date.cs now checks to see if dates entered are valid (for example, February 31st is not)
  • Locality.cs and Date.cs: gradient backgrounds.
  • Replacement for John O’Byrne’s TaskbarNotifier: NotifyWindow. See NotifyWindow.cs. Balloon-window notification removed, since NotifyWindow has similar semantics to balloon windows (while there is no user activity, it will continue to show for around 20 minutes or until there is mouse/keyboard activity.) This implementation also will display on top without stealing focus.
  • Properties.tabPageDisplay superceded by tabPageNotify. Ability for user to choose Font for NotifyWindow and individual background colors used for different hours exist in the new NotifyWindow class, user configuration for this is located in this TabPage.
  • Organized much code in some of the larger code files into #region’s.
  • Core.cs: keyboard hook; when F11 is pressed, open the Planetary Hours Calendar
  • Core.draw*MenuItem modified to support F11. When a string contains, for example “Open|F11” it’ll print “Open” normally and “F11” right-justified.

Version number 2.21 beta
Operating systems Windows 2000, Windows XP, Windows Server 2003
Website ChronosXP
Download
file size

376.00kB

License type Conditions (GNU/BSD/etc.)
CalendarExplorerFirefoxFontPropertiesSoftwareWindowsWindows Server