private void NetworkChange_NetworkAddressChanged(object sender, EventArgs e) { Application.Current.Dispatcher.Invoke(new Action(() => { if (CheckForInternet.Connected()) { NoInternetWarning.Source = null; ConnectedToInternet = true; if (((MainWindow)Application.Current.MainWindow).AlertTextBody.Text == "You may not be connected to the internet...") { ParseWeatherXML.NWSAlertsInfo(); } } else { ConnectedToInternet = false; Thread thread = new Thread(EarlyNetCheck) { IsBackground = true }; thread.Start(); NoInternetWarning.Source = new BitmapImage(new Uri(@"pack://application:,,,/NWS Alerts;component/Resources/NoInternetWarning.png", UriKind.Absolute)); EasyLogger.Info("It appears that you do not have an internet connection. We will retry later."); } })); }
public static void LocationWindowMenuItem_Click(object sender, EventArgs e) { LocationBox locationBox = new LocationBox(); locationBox.ShowDialog(); if (SettingsChanged) { Default.Reload(); EasyLogger.Info("Location settings have changed; Reparsing Weather..."); ParseWeatherXML.LastUpdate = DateTimeOffset.Now.AddMonths(-1); ParseWeatherXML.NWSAlertsInfo(); } }
public static void SettingsMenuItem_Click(object sender, EventArgs e) { SettingsWindow settings = new SettingsWindow(); settings.ShowDialog(); if (SettingsChanged) { Default.Reload(); EasyLogger.Info("Settings have changed; Reparsing Weather..."); ParseWeatherXML.LastUpdate = DateTimeOffset.Now.AddMonths(-1); ParseWeatherXML.NWSAlertsInfo(); } }
public void DateTimeSettings() { timer = new DispatcherTimer(new TimeSpan(0, 0, 1), DispatcherPriority.Normal, delegate { if (Default.ShowDate) { ShowDateCheckBox.IsChecked = true; CurrentDate.Content = DateTime.Now.ToString(@"dddd, MMM d"); ShowDateCheckBox.Checked += ShowDateCheckBox_Checked; ShowDateCheckBox.Unchecked += ShowDateCheckBox_Unchecked; } if (Default.ShowTime) { ShowTimeCheckBox.IsChecked = true; CurrentTime.Content = DateTime.Now.ToString(@"h:mm tt"); ShowTimeCheckBox.Checked += ShowTimeCheckBox_Checked; ShowTimeCheckBox.Unchecked += ShowTimeCheckBox_Unchecked; } if (UpdateTimer.ReturnDateTime(DateTime.Now.AddMinutes(-30), FileTime) && !Updating && ConnectedToInternet) { Updating = true; EasyLogger.Info("Downloading new weather info using values: " + Default.LatValue + "," + Default.LongValue); Thread thread = new Thread(() => DesktopWeatherXML(PreWeatherString + Default.LatValue + "," + Default.LongValue, NWSAlertsDirectory + "\\WeatherInfo.xml")) { IsBackground = true }; thread.Start(); } if (UpdateTimer.ReturnDateTime(DateTime.Now.AddMinutes(-10), AlertTime)) { AlertTime = DateTime.Now.AddSeconds(-DateTime.Now.Second); if (CheckForInternet.Connected()) { ParseWeatherXML.NWSAlertsInfo(); } } }, Dispatcher); }
public MainWindow() { InitializeComponent(); EasyLogger.BackupLogs(EasyLogger.LogFile); EasyLogger.AddListener(EasyLogger.LogFile); ((MainWindow)Application.Current.MainWindow).mainWindow.StateChanged += MainWindow_StateChanged; HideThisWindow(); Closing += MainWindow_Closing; if (Default.UpgradeRequired) { Default.Upgrade(); Default.UpgradeRequired = false; Default.Save(); Default.Reload(); if (Default.FirstRun) { Default.FirstRun = false; SettingsWindow settingsWindow = new SettingsWindow(); settingsWindow.ShowDialog(); LocationBox locationBox = new LocationBox(); locationBox.ShowDialog(); MessageBox.Show("Right click on the Desktop App to change the weather location to your preferred location." + Environment.NewLine + Environment.NewLine + "You will need to find your lattitude and longitude in order for me to find your local weather.", "NWS Alerts", MessageBoxButton.OK, MessageBoxImage.Information); Default.Save(); Default.Reload(); } } NotifyTray.TrayIconCreate(); if (Default.MuteToast) { NotifyTray.MuteMenuItem.Checked = true; ParseWeatherXML.MuteAlerts = true; } NotificationActivatorBase.RegisterComType(typeof(NotificationActivator), OnActivated); NotificationHelper.RegisterComServer(typeof(NotificationActivator), Assembly.GetExecutingAssembly().Location); if (CheckForInternet.Connected()) { ParseWeatherXML.NWSAlertsInfo(); } else { ((MainWindow)Application.Current.MainWindow).AlertTextBody.Text = "You may not be connected to the internet..."; } WeatherApp = new DesktopWeather(); WeatherApp.Show(); }