public static async void SetTheme() { if (await ApplicationData.Current.RoamingFolder.TryGetItemAsync("Settings.json") != null) { var settings = await UserDataHelper.GetSettings("Settings.json"); if (Application.Current.Resources.MergedDictionaries.Count > 1) { Application.Current.Resources.MergedDictionaries.RemoveAt(1); } if (settings.Theme != null && settings.Theme != "Colored") { Application.Current.Resources.MergedDictionaries.Add(new ResourceDictionary { Source = new Uri("ms-appx:///Styles/" + settings.Theme + ".xaml") }); } var titleBar = ApplicationView.GetForCurrentView().TitleBar; if (settings.Theme == "Light") { titleBar.ButtonForegroundColor = Windows.UI.Colors.Black; titleBar.ButtonBackgroundColor = Windows.UI.Colors.Transparent; } else { titleBar.ButtonForegroundColor = Windows.UI.Colors.White; titleBar.ButtonBackgroundColor = Windows.UI.Colors.Transparent; } } }
protected async override void OnNavigatedTo(NavigationEventArgs e) { var settings = await UserDataHelper.GetSettings("Settings.json"); DefaultLocation.Text = settings.DefaultLocation.DisplayName; ChoosenPlace = settings.DefaultLocation; var _Languages = new Data.Settings().GetSettings()[4].values; Languages.ItemsSource = _Languages; Languages.SelectedIndex = settings.Language != null?_Languages.IndexOf(_Languages.Where(x => x.Key == settings.Language).ToList()[0]) : 0; if (settings.CheckLocation == 1) { AlwaysDetect.IsChecked = true; } if (settings.Theme == "Colored") { Themes0.IsChecked = true; } else if (settings.Theme == "Light") { Themes1.IsChecked = true; } else { Themes2.IsChecked = true; } if (settings.SaveData == "0") { SaveData0.IsChecked = true; } else { SaveData1.IsChecked = true; } if (settings.DataFormat.UnitsFormat == "metric") { Units0.IsChecked = true; } else { Units1.IsChecked = true; } if (settings.DataFormat.TimeFormat == "24h") { TimeFormat0.IsChecked = true; } else { TimeFormat1.IsChecked = true; } }
private async void AvailableActions_ItemClick(object sender, ItemClickEventArgs e) { switch ((e.ClickedItem as StackPanel).Tag.ToString()) { case "SetHome": var settings = await UserDataHelper.GetSettings("Settings.json"); settings.DefaultLocation = _CityData.PlaceInfo; await UserDataHelper.WriteFile("Settings.json", settings); SetAsHome.IsEnabled = false; ShowToolTip("SavedAsHome", 2000); break; case "Favorite": var IsFavorited = (await UserDataHelper.SaveToFavorites("Favorites.json", _CityData.PlaceInfo)); if (IsFavorited == true) { await UserDataHelper.SaveFavoriteWeather(_CityData); SaveToFavorites.Visibility = Visibility.Collapsed; RemoveFromFavorites.Visibility = Visibility.Visible; ShowToolTip("Favorited", 2000); } break; case "UnFavorite": var IsUnfavorited = (await UserDataHelper.RemoveFromFavorites("Favorites.json", _CityData.PlaceInfo)); if (IsUnfavorited == true) { await UserDataHelper.RemoveFavoriteWeather(_CityData.PlaceInfo.PlaceId); SaveToFavorites.Visibility = Visibility.Visible; RemoveFromFavorites.Visibility = Visibility.Collapsed; ShowToolTip("Unfavorited", 2000); } break; case "Pin": ShowToolTip("Pinning", 2000); var IsPined = await LiveTile.UpdateCustomTile(PlaceInfo, CurrentWeatherResult, DailyForecastResult, CoverLink); if (IsPined == true) { PinToStart.Visibility = Visibility.Collapsed; UnPinFromStart.Visibility = Visibility.Visible; ShowToolTip("Pined", 2000); } break; case "UnPin": ShowToolTip("Unpinning", 2000); var IsUnPined = await LiveTile.UnpinCustomTile(_CityData.PlaceInfo.PlaceId); if (IsUnPined == true) { PinToStart.Visibility = Visibility.Visible; UnPinFromStart.Visibility = Visibility.Collapsed; ShowToolTip("Unpined", 2000); } break; case "Download": ShowToolTip("DownloadingImage", 2000); BitmapImage bitMap = Cover.Source as BitmapImage; string uri = bitMap?.UriSource.ToString(); await UserDataHelper.DownloadAsset(uri); ShowToolTip("Downloaded", 2000); break; case "Rate": await Launcher.LaunchUriAsync(new Uri(string.Format("ms-windows-store:REVIEW?PFN={0}", Windows.ApplicationModel.Package.Current.Id.FamilyName))); break; case "Feedback": await Microsoft.Services.Store.Engagement.StoreServicesFeedbackLauncher.GetDefault().LaunchAsync(); break; default: break; } }
protected async override void OnNavigatedTo(NavigationEventArgs e) { base.OnNavigatedTo(e); _CityData = e.Parameter as CityData; /*set country flag*/ /*string _CountryCode = _CityData.PlaceInfo.DisplayName; * _CountryCode = _CountryCode.Substring(_CountryCode.LastIndexOf(",") + 2); * StorageFolder _assets = await Windows.ApplicationModel.Package.Current.InstalledLocation.GetFolderAsync("Assets"); * StorageFolder _flags = await _assets.GetFolderAsync("CountriesFlag"); * * if (_flags.TryGetItemAsync(_CountryCode + ".png") != null) * { * CurrentPlaceName.Text = _CityData.PlaceInfo.DisplayName.Substring(0, _CityData.PlaceInfo.DisplayName.LastIndexOf(",")); * BitmapImage image = new BitmapImage(new Uri("ms-appx:///Assets/CountriesFlag/" + _CountryCode + ".png")); * CountryFlag.Source = image; * } * else { * CurrentPlaceName.Text = _CityData.PlaceInfo.DisplayName; * }*/ /*set country flag*/ CurrentPlaceName.Text = _CityData.PlaceInfo.DisplayName; this.DataContext = _CityData; DailyForecastResult = _CityData.DailyForecast; CurrentWeatherResult = _CityData.Current; PlaceInfo = _CityData.PlaceInfo; CoverLink = _CityData.CoverImage; /*set back navigation arguments*/ if (_LocationHistory == null) { _LocationHistory = new List <PlaceInfo>(); _LocationHistory.Add(_CityData.PlaceInfo); } if (_LocationHistory[_LocationHistory.Count - 1].PlaceId != _CityData.PlaceInfo.PlaceId) { _LocationHistory.Add(_CityData.PlaceInfo); } if (_LocationHistory.Count > 1) { SystemNavigationManager.GetForCurrentView().AppViewBackButtonVisibility = AppViewBackButtonVisibility.Visible; AppNameGrid.Margin = new Thickness(55, 10, 0, 10); } else { SystemNavigationManager.GetForCurrentView().AppViewBackButtonVisibility = AppViewBackButtonVisibility.Collapsed; AppNameGrid.Margin = new Thickness(20, 10, 0, 10); } /*set back navigation arguments*/ _Settings = await UserDataHelper.GetSettings("Settings.json"); if (_Settings.SaveData == "1" || _CityData.IsLocalData == true) { BottomItemsPivot.Items.Remove(BottomItemsPivot.Items.Single(p => ((PivotItem)p).Name == "NewsPivot")); BottomItemsPivot.Items.Remove(BottomItemsPivot.Items.Single(p => ((PivotItem)p).Name == "GalleryPivot")); _CityData.CoverImage = "ms-appx:///Assets/Weather/11.jpg"; if (_CityData.CoverImage != null) { BitmapImage image = new BitmapImage(new Uri(_CityData.CoverImage)); Cover.Source = image; } } else { int _CheckFileAge = await ApplicationData.Current.LocalFolder.TryGetItemAsync("News.json") != null ? await UserDataHelper.CheckFileAge("News.json", "local") : 1441; string Language = _Settings.Language ?? "en"; if (_CheckFileAge >= 1440) { _NewsResults = await News.GetNewsData(Language); bool _SaveNews = await UserDataHelper.SaveNewsData(_NewsResults); } else { _NewsResults = await UserDataHelper.GetSavedNews(); if (_NewsResults.Language != _Settings.Language) { _NewsResults = await News.GetNewsData(Language); bool _SaveNews = await UserDataHelper.SaveNewsData(_NewsResults); } } NewsData.ItemsSource = _NewsResults.articles; await GetCover(_CityData.PlaceInfo.DisplayName); } CoverLink = _CityData.CoverImage; var favorites = (await UserDataHelper.GetFavorites("Favorites.json")); var _CurrentPlace = favorites.Where(x => x.PlaceId == _CityData.PlaceInfo.PlaceId).ToList(); if (_CurrentPlace.Count > 0) { SaveToFavorites.Visibility = Visibility.Collapsed; RemoveFromFavorites.Visibility = Visibility.Visible; } SetAsHome.IsEnabled = _CityData.PlaceInfo.PlaceId == _Settings.DefaultLocation.PlaceId ? false : true; if (SecondaryTile.Exists(_CityData.PlaceInfo.PlaceId)) { PinToStart.Visibility = Visibility.Collapsed; UnPinFromStart.Visibility = Visibility.Visible; await LiveTile.UpdateCustomTile(PlaceInfo, CurrentWeatherResult, DailyForecastResult, CoverLink); } if (_CityData.PlaceInfo.PlaceId == _Settings.DefaultLocation.PlaceId) { LiveTile.UpdateTile(PlaceInfo, CurrentWeatherResult, DailyForecastResult, CoverLink); } if (favorites.ToList().Where(x => x.PlaceId == _CityData.PlaceInfo.PlaceId).FirstOrDefault() != null) { await UserDataHelper.SaveFavoriteWeather(_CityData); } }
protected override async void OnNavigatedTo(NavigationEventArgs e) { Frame PageFrame = Window.Current.Content as Frame; if (PageFrame == null) { PageFrame = new Frame(); } var settings = await ApplicationData.Current.RoamingFolder.TryGetItemAsync("Settings.json") == null ? null : await UserDataHelper.GetSettings("Settings.json"); if (settings == null) { ApplicationLanguages.PrimaryLanguageOverride = "en"; DefaultFrame.Navigate(typeof(FirstUse)); LoadingControl.IsLoading = false; return; } string Language = settings.Language ?? "en"; ApplicationLanguages.PrimaryLanguageOverride = Language; bool IsConnected = NetworkInformation.GetInternetConnectionProfile() != null ? true : false; string TimeFormat = settings.DataFormat.TimeFormat == "24h" ? "H:mm" : "h:mmtt"; if (IsConnected == false && e.Parameter == null) { if (await ApplicationData.Current.LocalFolder.TryGetItemAsync("HomeWeather.json") == null) { NoInternetGrid.Visibility = Visibility.Visible; return; } _CityData = await UserDataHelper.GetSavedHomeWeather(); _CityData.IsLocalData = true; var _File = await ApplicationData.Current.LocalFolder.GetFileAsync("HomeWeather.json"); _CityData.LastUpdate = System.IO.File.GetLastWriteTime(_File.Path).ToString(TimeFormat); PageFrame.Navigate(typeof(WeatherPage), _CityData); return; } if (e.Parameter != null) { if (IsConnected == true) { _PlaceInfo = e.Parameter as PlaceInfo; _CityData = (await WeatherData.GetWeather(_PlaceInfo, settings.DataFormat, Language)); if (_CityData.Current.cod == 200) { _CityData.LastUpdate = DateTime.Now.ToLocalTime().ToString(TimeFormat); PageFrame.Navigate(typeof(WeatherPage), _CityData); return; } } NoInternetGrid.Visibility = Visibility.Visible; } else { if (settings.CheckLocation == 1) { var coords = await Geolocation.GetLocationInfo(); if (coords.Latitude == 0 && coords.Longitude == 0) { LoadingControl.IsLoading = false; NotFoundGrid.Visibility = Visibility.Visible; NotFoundText.Text = "Sorry! Can't locate you!"; NotFoudHint.Text = "You can try searching instead"; return; } else { var plid = await PlacesSearch.GetCityNameByCoordinate(coords.Latitude, coords.Longitude); if (plid != null) { _PlaceInfo = new PlaceInfo() { Latitude = plid.Latitude, Longitude = plid.Longitude, DisplayName = plid.DisplayName, PlaceId = plid.PlaceId }; } else { LoadingControl.IsLoading = false; NotFoundGrid.Visibility = Visibility.Visible; NotFoundText.Text = "Sorry! Can't locate you!"; NotFoudHint.Text = "You can try searching instead"; return; } } } else { _PlaceInfo = new PlaceInfo { Latitude = settings.DefaultLocation.Latitude, Longitude = settings.DefaultLocation.Longitude, DisplayName = settings.DefaultLocation.DisplayName, PlaceId = settings.DefaultLocation.PlaceId }; } _CityData = (await WeatherData.GetWeather(_PlaceInfo, settings.DataFormat, Language)); _CityData.LastUpdate = DateTime.Now.ToLocalTime().ToString(TimeFormat); bool _SaveData = await UserDataHelper.SaveHomeWeather(_CityData); PageFrame.Navigate(typeof(WeatherPage), _CityData); } LoadingControl.IsLoading = false; /*try * { * } * catch (Exception) * { * await new MessageDialog("Unexpected exception occurred: 7221252017").ShowAsync(); * }*/ }