public NotifyWindow(PlanetaryHours pHours, Config conf) : this(pHours.DayString(), pHours.CurrentHourString(), conf, pHours.CurrentEnglishHour(), conf.PlanetColor(pHours.CurrentHour()), conf.NotifyFont, pHours.CurrentHourNum() == 0 ? true : false, conf.Sticky) { }
/// <summary> /// Update the tray icon /// </summary> private void updateTray() { if (conf.Caption == Config.CaptionType.LunarPhase && localPhases == null) { localPhases = new LunarPhase(DateTime.UtcNow); currentPhase = localPhases.CurrentPhase(DateTime.UtcNow); } if (currentHour == (PlanetaryHours.Planet)(-1)) { pHours = new PlanetaryHours(conf); currentHour = pHours.CurrentHour(); } if (currentHour == (PlanetaryHours.Planet)(-1)) { trayIcon.Icon = new Icon(conf.Fx.ResourceStream("Exclamation.ico")); ErrorMessage("A serious internal error has occured; please report this error to the author of ChronosXP at " + Config.Email, new Exception("ChronosXP.PlanetaryHours failed twice at " + DateTime.Now.ToString() + "; unable to determine planetary hour."), conf); } else { try { if (conf.Fx.IconSet.Equals("Silver") && pHours.CurrentHour() == PlanetaryHours.Planet.Saturn) { trayIcon.Icon = conf.Fx.GlyphIconSmall("Tray.Saturn"); } else { trayIcon.Icon = conf.Fx.GlyphIconSmall(pHours.CurrentEnglishHour()); } string stat; switch (conf.Caption) { default: case Config.CaptionType.HourNumber: stat = pHours.HourOfDay(DateTime.Now); break; case Config.CaptionType.HouseOfMoment: stat = pHours.HouseOfMoment(DateTime.Now); break; case Config.CaptionType.LunarPhase: int i = localPhases.PhaseNum(DateTime.UtcNow); if (i == -1) { i = 7; } stat = conf.GetString(LunarPhase.PhaseName[i]); break; } string s = pHours.DayString() + "\r\n" + pHours.CurrentHourString() + "\r\n" + stat; // Too bad we're limited to 64 chars, because this would be nice... //string s = pHours.DayString() + ", " + pHours.CurrentHourString() + "\r\n" + // pHours.HourOfDay(DateTime.Now) + ", " + pHours.HouseOfMoment(DateTime.Now) + "\r\n" + // localPhases.PhaseNum(DateTime.UtcNow); if (s.Length >= 64) { s = s.Remove(60, s.Length - 60) + "..."; } trayIcon.Text = s; } catch (Exception ex) { trayIcon.Icon = new Icon(conf.Fx.ResourceStream("Exclamation.ico")); ErrorMessage("Unable to set glyph icon. [CurrentEnglishHour=" + pHours.CurrentEnglishHour() + "]", ex); } } }