Beispiel #1
0
        static WeatherController()
        {
            CurrentLocationIndex = 0;

            Sources = new Dictionary <string, AbstractWeatherSource> ();

            Sources.Add(WeatherChannelWeatherSource.GetInstance().Name, WeatherChannelWeatherSource.GetInstance());
            Sources.Add(WunderWeatherSource.GetInstance().Name, WunderWeatherSource.GetInstance());

            ResetWeatherSource();

            WeatherPreferences.LocationsChanged += HandleLocationsChanged;
            WeatherPreferences.SourceChanged    += HandleSourceChanged;
            WeatherPreferences.TimeoutChanged   += HandleTimeoutChanged;
            WeatherPreferences.MetricChanged    += HandleMetricChanged;

            DockServices.System.ConnectionStatusChanged += HandleStateChanged;
        }
Beispiel #2
0
        /// <summary>
        /// Resets the weather source, using a default if needed.
        /// </summary>
        public static void ResetWeatherSource()
        {
            if (Weather != null)
            {
                Weather.WeatherReloading -= HandleWeatherReloading;
                Weather.WeatherError     -= HandleWeatherError;
                Weather.WeatherUpdated   -= HandleWeatherUpdated;
            }

            if (Sources.ContainsKey(WeatherPreferences.Source))
            {
                Weather = Sources [WeatherPreferences.Source];
            }
            else
            {
                Weather = Sources [WunderWeatherSource.GetInstance().Name];
            }

            AbstractWeatherSource.UseMetric = WeatherPreferences.Metric;

            Weather.WeatherReloading += HandleWeatherReloading;
            Weather.WeatherError     += HandleWeatherError;
            Weather.WeatherUpdated   += HandleWeatherUpdated;
        }