Пример #1
0
 private void BrightnessDialog_FormClosing(object sender, FormClosingEventArgs e)
 {
     if (BrightnessManager.IsDDCSupported())
     {
         brightnessEventWatcher.Stop();
         brightnessEventWatcher.EventArrived -= new EventArrivedEventHandler(WmiEventHandler);
     }
 }
Пример #2
0
 private void CheckDDCSupport()
 {
     if (!BrightnessManager.IsDDCSupported())
     {
         setBrightnessGroupBox.Enabled           = false;
         currentDisplayBrightnessValueLabel.Text = BrightnessManager.CurrentDisplayBrightnessValue();
         ddcErrorTextBox.Visible = true;
     }
     else
     {
         currentDisplayBrightnessValueLabel.Text = BrightnessManager.CurrentDisplayBrightnessValue();
         MonitorCurrentDisplayBrightnessValue();
     }
 }
Пример #3
0
        public AppContext(string[] args)
        {
            DebugLogger.WriteLogFile();
            JsonConfig.LoadConfig();
            Localization.Initialize();
            BrightnessManager.Initialize();

            ThemeManager.importPaths = args.Where(System.IO.File.Exists).ToList();
            HandleMultiInstance();

            InitializeTrayIcon();
            LocationManager.Initialize();
            ThemeManager.Initialize();
            wpEngine.RunScheduler();
            LaunchSequence.NextStep();
            UpdateChecker.Initialize();
        }
Пример #4
0
        public Tuple <int, long> GetImageData(SolarData data, ThemeConfig theme)
        {
            int[]    imageList;
            DateTime segmentStart;
            DateTime segmentEnd;

            if (!JsonConfig.settings.darkMode)
            {
                switch (GetCurrentDaySegment(data))
                {
                case DaySegment.AllDay:
                    imageList    = theme.dayImageList;
                    segmentStart = DateTime.Today;
                    segmentEnd   = DateTime.Today.AddDays(1);
                    BrightnessManager.ChangeBrightness(0);
                    break;

                case DaySegment.AllNight:
                    imageList    = theme.nightImageList;
                    segmentStart = DateTime.Today;
                    segmentEnd   = DateTime.Today.AddDays(1);
                    BrightnessManager.ChangeBrightness(1);
                    break;

                case DaySegment.Sunrise:
                    imageList    = theme.sunriseImageList;
                    segmentStart = data.solarTimes[0];
                    segmentEnd   = data.solarTimes[1];
                    BrightnessManager.ChangeBrightness(2);
                    break;

                case DaySegment.Day:
                    imageList    = theme.dayImageList;
                    segmentStart = data.solarTimes[1];
                    segmentEnd   = data.solarTimes[2];
                    BrightnessManager.ChangeBrightness(3);
                    break;

                case DaySegment.Sunset:
                    imageList    = theme.sunsetImageList;
                    segmentStart = data.solarTimes[2];
                    segmentEnd   = data.solarTimes[3];
                    BrightnessManager.ChangeBrightness(4);
                    break;

                default:
                    imageList = theme.nightImageList;

                    if (DateTime.Now < data.solarTimes[0])
                    {
                        SolarData yesterdaysData = SunriseSunsetService.GetSolarData(
                            DateTime.Today.AddDays(-1));
                        segmentStart = yesterdaysData.solarTimes[3];
                        segmentEnd   = data.solarTimes[0];
                    }
                    else
                    {
                        segmentStart = data.solarTimes[3];
                        SolarData tomorrowsData = SunriseSunsetService.GetSolarData(
                            DateTime.Today.AddDays(1));
                        segmentEnd = tomorrowsData.solarTimes[0];
                    }

                    BrightnessManager.ChangeBrightness(5);
                    break;
                }
            }
            else
            {
                imageList = theme.nightImageList;

                BrightnessManager.ChangeBrightness(5);

                if (data.polarPeriod != PolarPeriod.None)
                {
                    segmentStart = DateTime.Today;
                    segmentEnd   = DateTime.Today.AddDays(1);
                }
                else if (isSunUp)
                {
                    segmentStart = data.sunriseTime;
                    segmentEnd   = data.sunsetTime;
                }
                else if (DateTime.Now < data.sunriseTime)
                {
                    SolarData yesterdaysData = SunriseSunsetService.GetSolarData(
                        DateTime.Today.AddDays(-1));
                    segmentStart = yesterdaysData.sunsetTime;
                    segmentEnd   = data.sunriseTime;
                }
                else
                {
                    segmentStart = data.sunsetTime;
                    SolarData tomorrowsData = SunriseSunsetService.GetSolarData(
                        DateTime.Today.AddDays(1));
                    segmentEnd = tomorrowsData.sunriseTime;
                }
            }

            TimeSpan segmentLength = segmentEnd - segmentStart;
            TimeSpan timerLength   = new TimeSpan(segmentLength.Ticks / imageList.Length);

            int  imageNumber     = (int)((DateTime.Now - segmentStart).Ticks / timerLength.Ticks);
            long nextUpdateTicks = segmentStart.Ticks + timerLength.Ticks * (imageNumber + 1);

            return(new Tuple <int, long>(imageList[imageNumber], nextUpdateTicks));
        }