コード例 #1
0
 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)
 {
 }
コード例 #2
0
ファイル: Core.cs プロジェクト: guidoquadrini/Chronos
        /// <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);
                }
            }
        }