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.");
                }
            }));
        }
示例#2
0
        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();
            }
        }
示例#3
0
        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);
        }
示例#5
0
        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();
        }