Пример #1
0
        public ObservatoryFrm()
        {
            InitializeComponent();
            ExtendControl.DoubleBuffered(listEvent, true);
            Text                         = $"{Text} - v{Application.ProductVersion}";
            logMonitor                   = new LogMonitor();
            logMonitor.LogEntry         += LogEvent;
            Icon                         = Icon.ExtractAssociatedIcon(Application.ExecutablePath);
            columnSorter                 = new ListViewColumnSorter();
            listEvent.ListViewItemSorter = columnSorter;
            capiState                    = Properties.Observatory.Default.UseCapi ? CapiState.Enabled : CapiState.Disabled;
            CheckCapi(capiState);
            overlay = new EDOverlay();

            if (Properties.Observatory.Default.TTS)
            {
                speech = new SpeechSynthesizer();
                speech.SetOutputToDefaultAudioDevice();
            }

            try
            {
                string releasesResponse;

                var request = new HttpRequestMessage
                {
                    Method     = HttpMethod.Get,
                    RequestUri = new Uri("https://api.github.com/repos/xjph/EliteObservatory/releases"),
                    Headers    = { { "User-Agent", "Xjph/EliteObservatory" } }
                };

                releasesResponse = HttpClient.SendRequest(request).Content.ReadAsStringAsync().Result;

                if (!string.IsNullOrEmpty(releasesResponse))
                {
                    JArray releases = (JArray)JsonConvert.DeserializeObject(releasesResponse, new JsonSerializerSettings()
                    {
                        DateParseHandling = DateParseHandling.None
                    });
                    foreach (JObject release in releases)
                    {
                        if (release["tag_name"].ToString().CompareTo($"v{Application.ProductVersion}") > 0)
                        {
                            linkUpdate.Enabled = true;
                            linkUpdate.Visible = true;
                            break;
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show($"Error checking for update: {ex.Message}");
            }
        }
Пример #2
0
        public ObservatoryFrm()
        {
            InitializeComponent();
            logMonitor           = new LogMonitor("");
            logMonitor.LogEntry += LogEvent;
            Icon         = Icon.ExtractAssociatedIcon(Application.ExecutablePath);
            columnSorter = new ListViewColumnSorter();
            listEvent.ListViewItemSorter = columnSorter;
            if (Properties.Observatory.Default.TTS)
            {
                speech = new SpeechSynthesizer();
                speech.SetOutputToDefaultAudioDevice();
            }

            try
            {
                string releasesResponse;
                using (System.Net.WebClient client = new System.Net.WebClient())
                {
                    System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12;
                    client.Headers["user-agent"] = "Xjph/EliteObservatory";
                    releasesResponse             = client.DownloadString("https://api.github.com/repos/xjph/EliteObservatory/releases");
                }

                if (!string.IsNullOrEmpty(releasesResponse))
                {
                    JArray releases = (JArray)JsonConvert.DeserializeObject(releasesResponse, new JsonSerializerSettings()
                    {
                        DateParseHandling = DateParseHandling.None
                    });
                    foreach (JObject release in releases)
                    {
                        if (release["tag_name"].ToString().CompareTo($"v{Application.ProductVersion}") > 0)
                        {
                            linkUpdate.Enabled = true;
                            linkUpdate.Visible = true;
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show($"Error checking for update: {ex.Message}");
            }
        }