private async void ExportOpmlButton_Click(object sender, RoutedEventArgs e) { ExportOpmlButton.IsEnabled = false; ExportOpmlButton.Content = AppTools.GetReswLanguage("Tip_Waiting"); var allList = MainPage.Current.Categories.ToList(); try { var opml = new Opml(allList); string content = opml.ToString(); string fileName = AppTools.GetLocalSetting(AppSettings.UserName, "") + "_" + DateTime.Now.ToString("yyyyMMdd_HH_mm_ss") + ".opml"; var file = await IOTools.GetSaveFile(".opml", fileName, "OPML File"); if (file != null) { await FileIO.WriteTextAsync(file, content); new PopupToast(AppTools.GetReswLanguage("Tip_ExportSuccess")).ShowPopup(); } } catch (Exception) { new PopupToast(AppTools.GetReswLanguage("Tip_ImportError"), AppTools.GetThemeSolidColorBrush(ColorType.ErrorColor)).ShowPopup(); } ExportOpmlButton.IsEnabled = true; ExportOpmlButton.Content = AppTools.GetReswLanguage("Tip_Export"); }
private async Task ValidateChannelLink() { var reg = new Regex(@"(https?|ftp|file)://[-A-Za-z0-9+&@#/%?=~_|!:,.;]+[-A-Za-z0-9+&@#/%=~_|]"); string link = ChannelLinkTextBox.Text.Trim(); if (string.IsNullOrEmpty(link)) { new PopupToast(AppTools.GetReswLanguage("Tip_FieldEmpty"), AppTools.GetThemeSolidColorBrush(ColorType.ErrorColor)).ShowPopup(); } else { TryLinkButton.IsEnabled = false; LoadingRing.IsActive = true; if (!reg.IsMatch(link)) { var results = await FeedlyResult.GetFeedlyResultFromText(link); TryLinkButton.IsEnabled = true; LoadingRing.IsActive = false; if (results.Count > 0) { SearchResultContainer.Visibility = Visibility.Visible; FeedlyResults.Clear(); foreach (var item in results) { FeedlyResults.Add(item); } } else { SearchResultContainer.Visibility = Visibility.Collapsed; FeedlyResults.Clear(); new PopupToast(AppTools.GetReswLanguage("Tip_NoData"), AppTools.GetThemeSolidColorBrush(ColorType.ErrorColor)).ShowPopup(); } } else { var channel = await AppTools.GetChannelFromUrl(link); if (channel != null && !string.IsNullOrEmpty(channel.Name)) { _sourceChannel = channel; LoadingRing.IsActive = false; TryLinkButton.IsEnabled = true; DetailContainer.Visibility = Visibility.Visible; if (string.IsNullOrEmpty(ChannelNameTextBox.Text) && string.IsNullOrEmpty(ChannelDescriptionTextBox.Text)) { ChannelNameTextBox.Text = channel.Name; ChannelDescriptionTextBox.Text = channel.Description; } } else { LoadingRing.IsActive = false; TryLinkButton.IsEnabled = true; new PopupToast(AppTools.GetReswLanguage("App_InvalidUrl"), AppTools.GetThemeSolidColorBrush(ColorType.ErrorColor)).ShowPopup(); } } } }
private async Task AddCategory() { string icon = IconTextBlock.Text; string name = CategoryNameTextBox.Text; if (!string.IsNullOrEmpty(icon) && !string.IsNullOrEmpty(name)) { IsPrimaryButtonEnabled = false; PrimaryButtonText = AppTools.GetReswLanguage("Tip_Waiting"); var cate = new Category(name, icon); MainPage.Current.Categories.Add(cate); MainPage.Current._categoryListCount += 1; new PopupToast(AppTools.GetReswLanguage("Tip_AddCategorySuccess")).ShowPopup(); Hide(); try { await IOTools.AddCategory(cate); } catch (Exception) { await Task.Delay(1000); await IOTools.AddCategory(cate); } } else { new PopupToast(AppTools.GetReswLanguage("Tip_FieldEmpty"), AppTools.GetThemeSolidColorBrush(ColorType.ErrorColor)).ShowPopup(); } }
private static void Data_Changed(DependencyObject d, DependencyPropertyChangedEventArgs e) { var data = e.NewValue as RssSchema; if (data != null) { var c = d as Feed_Card; bool isRead = MainPage.Current.ReadIds.Any(p => p.Equals(data.InternalID, StringComparison.OrdinalIgnoreCase)); c.TitleBlock.Text = data.Title; c.TitleBlock.Foreground = isRead ? AppTools.GetThemeSolidColorBrush(ColorType.TipTextColor) : AppTools.GetThemeSolidColorBrush(ColorType.ImportantTextColor); c.SummaryBlock.Text = data.Summary; c.FavIconImage.Source = new BitmapImage(new Uri(AppTools.GetFavIcon(data.FeedUrl))); if (!string.IsNullOrEmpty(data.ImageUrl)) { string imageUrl = data.ImageUrl.StartsWith("//") ? "http" + data.ImageUrl : data.ImageUrl; c.Hold.Source = imageUrl; } else { c.ContentContainer.VerticalAlignment = VerticalAlignment.Top; c.SummaryBlock.MaxLines = 5; c.CardContainer.Background = AppTools.GetThemeSolidColorBrush(ColorType.CardBackground); c.MainContainer.Background = AppTools.GetThemeSolidColorBrush(ColorType.TransparentBackground); } } }
private async void ContentDialog_PrimaryButtonClick(ContentDialog sender, ContentDialogButtonClickEventArgs args) { args.Cancel = true; string icon = IconTextBlock.Text; string name = CategoryNameTextBox.Text; if (!string.IsNullOrEmpty(icon) && !string.IsNullOrEmpty(name)) { IsPrimaryButtonEnabled = false; PrimaryButtonText = AppTools.GetReswLanguage("Tip_Waiting"); _sourceCategory.Name = name; _sourceCategory.Icon = icon; foreach (var item in MainPage.Current.Categories) { if (item.Id == _sourceCategory.Id) { item.Name = _sourceCategory.Name; item.Icon = _sourceCategory.Icon; } } new PopupToast(AppTools.GetReswLanguage("Tip_UpdateCategorySuccess")).ShowPopup(); Hide(); await IOTools.UpdateCategory(_sourceCategory); } else { new PopupToast(AppTools.GetReswLanguage("Tip_FieldEmpty"), AppTools.GetThemeSolidColorBrush(ColorType.ErrorColor)).ShowPopup(); } }
/// <summary> /// 文章详情页面,主体是WebView /// </summary> public FeedDetailPage() { this.InitializeComponent(); Current = this; NavigationCacheMode = NavigationCacheMode.Enabled; ToolTipService.SetToolTip(AddTodoButton, AppTools.GetReswLanguage("Tip_AddTodoList")); ToolTipService.SetToolTip(RemoveTodoButton, AppTools.GetReswLanguage("Tip_DeleteTodoList")); ToolTipService.SetToolTip(AddStarButton, AppTools.GetReswLanguage("Tip_AddStarList")); ToolTipService.SetToolTip(RemoveStarButton, AppTools.GetReswLanguage("Tip_DeleteStarList")); ToolTipService.SetToolTip(ReadabilityButton, AppTools.GetReswLanguage("Tip_Readability")); bool isSideLocked = Convert.ToBoolean(AppTools.GetLocalSetting(AppSettings.SideListLocked, "False")); if (!isSideLocked) { LockButton.Foreground = AppTools.GetThemeSolidColorBrush(ColorType.ImportantTextColor); } else { LockButton.Foreground = AppTools.GetThemeSolidColorBrush(ColorType.PrimaryColor); } if (_latestPoint == null) { this.PointerPressed += (_s, _e) => { }; } }
private async Task FeedReInit(RssSchema data) { bool isUnread = Convert.ToBoolean(AppTools.GetLocalSetting(AppSettings.IsJustUnread, "False")); if (!isUnread) { ShowFeeds.Insert(0, _sourceFeed); } ShowFeeds.Remove(data); _sourceFeed = data; LoadingRing.IsActive = true; if (MainPage.Current.ChannelListView.SelectedItem != null) { var selectChannel = MainPage.Current.ChannelListView.SelectedItem as Channel; if (MainPage.Current.ReadableList.Any(c => c.Id == selectChannel.Id)) { DetailWebView.NavigateToString(""); SmartReader.Article article = await SmartReader.Reader.ParseArticleAsync(_sourceFeed.FeedUrl); if (article.IsReadable || !string.IsNullOrEmpty(article.TextContent)) { _sourceFeed.Content = article.Content; } else { new PopupToast(AppTools.GetReswLanguage("Tip_ReadError"), AppTools.GetThemeSolidColorBrush(ColorType.ErrorColor)).ShowPopup(); } } } await UpdateFeed(); LoadingRing.IsActive = false; }
private async void ContentDialog_PrimaryButtonClick(ContentDialog sender, ContentDialogButtonClickEventArgs args) { args.Cancel = true; string name = ChannelNameTextBox.Text?.Trim(); string des = ChannelDescriptionTextBox.Text?.Trim(); string link = ChannelLinkTextBox.Text?.Trim(); var reg = new Regex(@"(https?|ftp|file)://[-A-Za-z0-9+&@#/%?=~_|!:,.;]+[-A-Za-z0-9+&@#/%=~_|]"); if (string.IsNullOrEmpty(name) || string.IsNullOrEmpty(des) || string.IsNullOrEmpty(link)) { new PopupToast(AppTools.GetReswLanguage("Tip_FieldEmpty"), AppTools.GetThemeSolidColorBrush(ColorType.ErrorColor)).ShowPopup(); return; } else if (!reg.IsMatch(link)) { new PopupToast(AppTools.GetReswLanguage("Tip_FieldFormatError"), AppTools.GetThemeSolidColorBrush(ColorType.ErrorColor)).ShowPopup(); return; } else { _sourceChannel.Name = name; _sourceChannel.Description = des; _sourceChannel.Link = link; var sourceCategory = MainPage.Current.CategoryListView.SelectedItem as Category; if (sourceCategory != null) { IsPrimaryButtonEnabled = false; PrimaryButtonText = AppTools.GetReswLanguage("Tip_Waiting"); foreach (var item in sourceCategory.Channels) { if (item.Id == _sourceChannel.Id) { item.Name = name; item.Description = des; item.Link = link; } } if (MainPage.Current.MainFrame.Content is Pages.ChannelDetailPage) { if (Pages.ChannelDetailPage.Current._sourceData.Id == _sourceChannel.Id) { Pages.ChannelDetailPage.Current.ChannelNameTextBlock.Text = name; Pages.ChannelDetailPage.Current.ChannelDescriptionTextBlock.Text = des; Pages.ChannelDetailPage.Current._sourceData.Name = name; Pages.ChannelDetailPage.Current._sourceData.Description = des; Pages.ChannelDetailPage.Current._sourceData.Link = link; } } new PopupToast(AppTools.GetReswLanguage("Tip_UpdateChannelSuccess")).ShowPopup(); Hide(); await IOTools.UpdateCategory(sourceCategory); } else { new PopupToast(AppTools.GetReswLanguage("Tip_NoCategorySelected"), AppTools.GetThemeSolidColorBrush(ColorType.ErrorColor)).ShowPopup(); return; } } }
private async void ContentDialog_PrimaryButtonClick(ContentDialog sender, ContentDialogButtonClickEventArgs args) { args.Cancel = true; if (_sourceChannel != null) { string showName = ChannelNameTextBox.Text; string showDescription = ChannelDescriptionTextBox.Text; if (!string.IsNullOrEmpty(showName)) { _sourceChannel.Name = showName; } if (!string.IsNullOrEmpty(showDescription)) { _sourceChannel.Description = showDescription; } var selectCategory = MainPage.Current.CategoryListView.SelectedItem as Category; if (selectCategory != null) { if (selectCategory.Channels.Any(c => c.Link.ToLower() == _sourceChannel.Link)) { new PopupToast(AppTools.GetReswLanguage("Tip_ChannelRepeat"), AppTools.GetThemeSolidColorBrush(ColorType.ErrorColor)).ShowPopup(); return; } else { IsPrimaryButtonEnabled = false; PrimaryButtonText = AppTools.GetReswLanguage("Tip_Waiting"); selectCategory.Channels.Add(_sourceChannel); MainPage.Current.Channels.Add(_sourceChannel); MainPage.Current._channelListCount += 1; int count = Convert.ToInt32(MainPage.Current.TotalSourceNumRun.Text); count++; MainPage.Current.TotalSourceNumRun.Text = count.ToString(); new PopupToast(AppTools.GetReswLanguage("Tip_AddChannelSuccess")).ShowPopup(); Hide(); try { await IOTools.UpdateCategory(selectCategory); } catch (Exception) { await Task.Delay(1000); await IOTools.UpdateCategory(selectCategory); } } } else { new PopupToast(AppTools.GetReswLanguage("Tip_NoCategorySelected"), AppTools.GetThemeSolidColorBrush(ColorType.ErrorColor)).ShowPopup(); return; } } else { new PopupToast(AppTools.GetReswLanguage("Tip_TryLinkFirst"), AppTools.GetThemeSolidColorBrush(ColorType.ErrorColor)).ShowPopup(); } }
private async void SelectMenu_Mark_Click(object sender, RoutedEventArgs e) { try { await DetailWebView.InvokeScriptAsync("setMark", new string[] { }); } catch (Exception) { new PopupToast(AppTools.GetReswLanguage("Tip_DoNotMarkAgain"), AppTools.GetThemeSolidColorBrush(ColorType.ErrorColor)).ShowPopup(); } }
private async void OpenChannelButton_Click(object sender, RoutedEventArgs e) { if (!string.IsNullOrEmpty(_sourceData.SourceUrl)) { await Launcher.LaunchUriAsync(new Uri(_sourceData.SourceUrl)); } else { new PopupToast(AppTools.GetReswLanguage("App_InvalidUrl"), AppTools.GetThemeSolidColorBrush(ColorType.ErrorColor)).ShowPopup(); } }
/// <summary> /// 选中文本翻译 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private async void TextMenu_Translate_Click(object sender, RoutedEventArgs e) { if (!NetworkHelper.Instance.ConnectionInformation.IsInternetAvailable) { new PopupToast(AppTools.GetReswLanguage("Tip_FailedWithoutInternet"), AppTools.GetThemeSolidColorBrush(ColorType.ErrorColor)).ShowPopup(); return; } string language = (sender as MenuFlyoutItem).Name.Replace("SelectMenu_Translate_", ""); string appId = AppTools.GetRoamingSetting(AppSettings.Translate_BaiduAppId, ""); string appKey = AppTools.GetRoamingSetting(AppSettings.Translate_BaiduKey, ""); if (string.IsNullOrEmpty(appId)) { new PopupToast(AppTools.GetReswLanguage("Tip_NeedLinkTranslateService"), AppTools.GetThemeSolidColorBrush(ColorType.ErrorColor)).ShowPopup(); return; } else { LoadingRing.IsActive = true; string output = await TranslateTools.Translate(_selectText, appId, appKey, "auto", language.ToLower()); if (!string.IsNullOrEmpty(output)) { var pos = new Point(); if (_latestPoint == null) { pos = Window.Current.CoreWindow.PointerPosition; } else { pos = _latestPoint.Position; } double x = pos.X - Window.Current.Bounds.X; double y = pos.Y - Window.Current.Bounds.Y; if (_latestPoint == null) { x -= 30; y -= 50; } var option = new FlyoutShowOptions(); option.Position = new Point(x, y); TranslateContent.Text = output; TranslateFlyout.ShowAt(MainPage.Current.RootGrid, option); } else { new PopupToast(AppTools.GetReswLanguage("Tip_TranslateFailed"), AppTools.GetThemeSolidColorBrush(ColorType.ErrorColor)).ShowPopup(); } LoadingRing.IsActive = false; } }
private async void UnhandleExceptionHandle(object sender, Windows.UI.Xaml.UnhandledExceptionEventArgs e) { e.Handled = true; string msg = e.Exception.Message; if (e.Exception is UnauthorizedAccessException) { if (NetworkHelper.Instance.ConnectionInformation.IsInternetAvailable) { await OneDrive.OneDriveAuthorize(); } } new PopupToast(msg, AppTools.GetThemeSolidColorBrush(ColorType.ErrorColor)).ShowPopup(); }
private async void OpenWeb_MenuItemClicked(object sender, RoutedEventArgs e) { if (Data != null) { if (!string.IsNullOrEmpty(Data.FeedUrl)) { await Launcher.LaunchUriAsync(new Uri(Data.FeedUrl)); } else { new PopupToast(AppTools.GetReswLanguage("App_InvalidUrl"), AppTools.GetThemeSolidColorBrush(ColorType.ErrorColor)).ShowPopup(); } } }
private void LockButton_Click(object sender, RoutedEventArgs e) { bool isSideLocked = Convert.ToBoolean(AppTools.GetLocalSetting(AppSettings.SideListLocked, "False")); if (isSideLocked) { LockButton.Foreground = AppTools.GetThemeSolidColorBrush(ColorType.ImportantTextColor); } else { LockButton.Foreground = AppTools.GetThemeSolidColorBrush(ColorType.PrimaryColor); } AppTools.WriteLocalSetting(AppSettings.SideListLocked, (!isSideLocked).ToString()); }
public async void NextArticle() { if (AllFeeds.Count > 0) { var index = AllFeeds.IndexOf(_sourceFeed); if (index < AllFeeds.Count - 1) { var data = AllFeeds[index + 1]; await FeedReInit(data); return; } } new PopupToast(AppTools.GetReswLanguage("Tip_NoNextArticle"), AppTools.GetThemeSolidColorBrush(ColorType.ErrorColor)).ShowPopup(); }
private static void Data_Changed(DependencyObject d, DependencyPropertyChangedEventArgs e) { var data = e.NewValue as RssSchema; if (data != null) { var c = d as Feed_List; bool isRead = MainPage.Current.ReadIds.Any(p => p.Equals(data.InternalID, StringComparison.OrdinalIgnoreCase)); c.TitleBlock.Text = data.Title; c.TitleBlock.Foreground = isRead ? AppTools.GetThemeSolidColorBrush(ColorType.TipTextColor) : AppTools.GetThemeSolidColorBrush(ColorType.ImportantTextColor); c.DateBlock.Text = data.PublishDate.ToString(AppTools.GetReswLanguage("App_DateFormat")); c.FavIconImage.Source = new BitmapImage(new Uri(AppTools.GetFavIcon(data.FeedUrl))); ToolTipService.SetToolTip(c.TitleBlock, data.Title); } }
private async void RemoveStarButton_Click(object sender, RoutedEventArgs e) { (sender as Button).IsEnabled = false; try { MainPage.Current.StarList.RemoveAll(p => p.Equals(_sourceFeed)); AddStarButton.Visibility = Visibility.Visible; RemoveStarButton.Visibility = Visibility.Collapsed; new PopupToast(AppTools.GetReswLanguage("Tip_DeleteStarListSuccess")).ShowPopup(); await IOTools.DeleteStar(_sourceFeed); } catch (Exception ex) { new PopupToast(ex.Message, AppTools.GetThemeSolidColorBrush(ColorType.ErrorColor)).ShowPopup(); } (sender as Button).IsEnabled = true; }
private async void AddTodoButton_Click(object sender, RoutedEventArgs e) { (sender as Button).IsEnabled = false; try { MainPage.Current.TodoList.Add(_sourceFeed); AddTodoButton.Visibility = Visibility.Collapsed; RemoveTodoButton.Visibility = Visibility.Visible; new PopupToast(AppTools.GetReswLanguage("Tip_AddTodoListSuccess")).ShowPopup(); await IOTools.AddTodoRead(_sourceFeed); } catch (Exception ex) { new PopupToast(ex.Message, AppTools.GetThemeSolidColorBrush(ColorType.ErrorColor)).ShowPopup(); } (sender as Button).IsEnabled = true; }
private void ContentDialog_PrimaryButtonClick(ContentDialog sender, ContentDialogButtonClickEventArgs args) { args.Cancel = true; IsPrimaryButtonEnabled = false; PrimaryButtonText = AppTools.GetReswLanguage("Tip_Waiting"); string appId = AppIdTextBox.Text; string key = KeyTextBox.Text; if (!string.IsNullOrEmpty(appId) && !string.IsNullOrEmpty(key)) { AppTools.WriteRoamingSetting(AppSettings.Translate_BaiduAppId, appId); AppTools.WriteRoamingSetting(AppSettings.Translate_BaiduKey, key); Hide(); } else { IsPrimaryButtonEnabled = true; PrimaryButtonText = AppTools.GetReswLanguage("Tip_Confirm"); new PopupToast(AppTools.GetReswLanguage("Tip_FieldEmpty"), AppTools.GetThemeSolidColorBrush(ColorType.ErrorColor)).ShowPopup(); } }
public async Task TranslateArticle(string language) { if (!NetworkHelper.Instance.ConnectionInformation.IsInternetAvailable) { new PopupToast(AppTools.GetReswLanguage("Tip_FailedWithoutInternet"), AppTools.GetThemeSolidColorBrush(ColorType.ErrorColor)).ShowPopup(); return; } string appId = AppTools.GetRoamingSetting(AppSettings.Translate_BaiduAppId, ""); if (string.IsNullOrEmpty(appId)) { var dialog = new Dialog.BaiduTranslateDialog(); await dialog.ShowAsync(); } appId = AppTools.GetRoamingSetting(AppSettings.Translate_BaiduAppId, ""); string appKey = AppTools.GetRoamingSetting(AppSettings.Translate_BaiduKey, ""); if (string.IsNullOrEmpty(appId) || string.IsNullOrEmpty(appKey)) { return; } else { LoadingRing.IsActive = true; string output = await TranslateTools.Translate(_sourceFeed.Content, appId, appKey, "auto", language.ToLower()); if (!string.IsNullOrEmpty(output)) { string html = await PackageHTML(output); DetailWebView.NavigateToString(html); } else { new PopupToast(AppTools.GetReswLanguage("Tip_TranslateFailed"), AppTools.GetThemeSolidColorBrush(ColorType.ErrorColor)).ShowPopup(); } LoadingRing.IsActive = false; } }
private static void Data_Changed(DependencyObject d, DependencyPropertyChangedEventArgs e) { var data = e.NewValue as RssSchema; if (data != null) { var c = d as Feed_Waterful; if (string.IsNullOrEmpty(data.ImageUrl)) { c.HoldImageControl.Visibility = Visibility.Collapsed; } else { c.HoldImageControl.Visibility = Visibility.Visible; c.HoldImageControl.Source = data.ImageUrl.StartsWith("//") ? "http:" + data.ImageUrl : data.ImageUrl; } bool isRead = MainPage.Current.ReadIds.Any(p => p.Equals(data.InternalID, StringComparison.OrdinalIgnoreCase)); c.TitleBlock.Text = data.Title; c.TitleBlock.Foreground = isRead ? AppTools.GetThemeSolidColorBrush(ColorType.TipTextColor) : AppTools.GetThemeSolidColorBrush(ColorType.ImportantTextColor); c.AuthorNameBlock.Text = data.Author ?? "Yo!"; c.SummaryBlock.Text = data.Summary; c.DateBlock.Text = data.PublishDate.ToString(AppTools.GetReswLanguage("App_DateFormat")); if (data.Categories.Count() > 0) { c.TagListView.Visibility = Visibility.Visible; foreach (var item in data.Categories) { c.Categories.Add(item); } } else { c.TagListView.Visibility = Visibility.Collapsed; } c.FavIconImage.Source = new BitmapImage(new Uri(AppTools.GetFavIcon(data.FeedUrl))); ToolTipService.SetToolTip(c.TitleBlock, data.Title); } }
private async void ContentDialog_PrimaryButtonClick(ContentDialog sender, ContentDialogButtonClickEventArgs args) { args.Cancel = true; var selectCategory = CategoryListView.SelectedItem as Category; if (selectCategory == null) { new PopupToast(AppTools.GetReswLanguage("Tip_NoCategorySelected"), AppTools.GetThemeSolidColorBrush(ColorType.ErrorColor)).ShowPopup(); return; } else { var sourceCategory = MainPage.Current.CategoryListView.SelectedItem as Category; if (sourceCategory == null) { new PopupToast(AppTools.GetReswLanguage("Tip_NoCategorySelected"), AppTools.GetThemeSolidColorBrush(ColorType.ErrorColor)).ShowPopup(); return; } else { IsPrimaryButtonEnabled = false; PrimaryButtonText = AppTools.GetReswLanguage("Tip_Waiting"); if (selectCategory.Id != sourceCategory.Id) { sourceCategory.Channels.RemoveAll(p => p.Id == _sourceChannel.Id); selectCategory.Channels.Add(_sourceChannel); new PopupToast(AppTools.GetReswLanguage("Tip_MoveChannelSuccess")).ShowPopup(); MainPage.Current.Channels.Remove(MainPage.Current.Channels.Where(p => p.Id == _sourceChannel.Id).FirstOrDefault()); MainPage.Current._channelListCount -= 1; Hide(); await IOTools.UpdateCategory(sourceCategory); await IOTools.UpdateCategory(selectCategory); } } } }
private void RuleComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e) { if (!_isInit) { return; } var comboBox = sender as ComboBox; if (comboBox.SelectedIndex == -1) { return; } var data = comboBox.DataContext as FilterItem; var temp = FilterCollection.Where(p => p.Rule.Type == data.Rule.Type); var collection = FilterCollection; if (temp.Count() > 1) { data.Rule = null; comboBox.SelectedIndex = -1; new PopupToast(AppTools.GetReswLanguage("Tip_RuleRepeat"), AppTools.GetThemeSolidColorBrush(CoreLib.Enums.ColorType.ErrorColor)).ShowPopup(); } }
private static void Data_Changed(DependencyObject d, DependencyPropertyChangedEventArgs e) { var data = e.NewValue as RssSchema; if (data != null) { var c = d as Feed_SideList; if (string.IsNullOrEmpty(data.ImageUrl)) { c.HoldImageControl.Visibility = Visibility.Collapsed; } else { c.HoldImageControl.Visibility = Visibility.Visible; c.HoldImageControl.Source = data.ImageUrl.StartsWith("//") ? "http:" + data.ImageUrl : data.ImageUrl; } bool isRead = MainPage.Current.ReadIds.Any(p => p.Equals(data.InternalID, StringComparison.OrdinalIgnoreCase)); c.TitleBlock.Text = data.Title; c.TitleBlock.Foreground = isRead ? AppTools.GetThemeSolidColorBrush(ColorType.TipTextColor) : AppTools.GetThemeSolidColorBrush(ColorType.ImportantTextColor); c.SummaryBlock.Text = data.Summary; ToolTipService.SetToolTip(c.TitleBlock, data.Title); } }
private async void ImportLocalListButton_Click(object sender, RoutedEventArgs e) { ImportLocalListButton.IsEnabled = false; ImportLocalListButton.Content = AppTools.GetReswLanguage("Tip_Waiting"); var file = await IOTools.OpenLocalFile(".json"); if (file != null) { try { await IOTools.ImportLocalList(file); ToastChannels.Clear(); var toastList = await IOTools.GetNeedToastChannels(); if (toastList.Count > 0) { foreach (var item in toastList) { ToastChannels.Add(item); } } MainPage.Current.TodoList = await IOTools.GetLocalTodoReadList(); MainPage.Current.StarList = await IOTools.GetLocalStarList(); MainPage.Current.ToastList = toastList; new PopupToast(AppTools.GetReswLanguage("Tip_ImportSuccess")).ShowPopup(); } catch (Exception ex) { new PopupToast(ex.Message, AppTools.GetThemeSolidColorBrush(ColorType.ErrorColor)).ShowPopup(); } } ImportLocalListButton.IsEnabled = true; ImportLocalListButton.Content = AppTools.GetReswLanguage("Tip_Import"); }
private async void ImportOpmlButton_Click(object sender, RoutedEventArgs e) { ImportOpmlButton.IsEnabled = false; ImportOpmlButton.Content = AppTools.GetReswLanguage("Tip_Waiting"); var file = await IOTools.OpenLocalFile(".opml"); if (file != null) { try { var list = await AppTools.GetRssListFromFile(file); if (list != null && list.Count > 0) { var allList = MainPage.Current.Categories.ToList(); foreach (var item in list) { allList.Add(item); } await IOTools.ReplaceCategory(allList, true); MainPage.Current.ReplaceList(allList); new PopupToast(AppTools.GetReswLanguage("Tip_ImportSuccess")).ShowPopup(); } else { new PopupToast(AppTools.GetReswLanguage("Tip_ImportError"), AppTools.GetThemeSolidColorBrush(ColorType.ErrorColor)).ShowPopup(); } } catch (Exception ex) { new PopupToast(ex.Message, AppTools.GetThemeSolidColorBrush(ColorType.ErrorColor)).ShowPopup(); } } ImportOpmlButton.IsEnabled = true; ImportOpmlButton.Content = AppTools.GetReswLanguage("Tip_Import"); }
public async Task <Article> ReadabilityFromUrl(string url) { if (!NetworkHelper.Instance.ConnectionInformation.IsInternetAvailable) { new PopupToast(AppTools.GetReswLanguage("Tip_FailedWithoutInternet"), AppTools.GetThemeSolidColorBrush(ColorType.ErrorColor)).ShowPopup(); return(null); } LoadingRing.IsActive = true; try { ReadabilityButton.IsEnabled = false; Article article = await Reader.ParseArticleAsync(url); if (article.IsReadable || !string.IsNullOrEmpty(article.TextContent)) { if (_sourceFeed != null) { _sourceFeed.Content = article.Content ?? article.TextContent; } } else { new PopupToast(AppTools.GetReswLanguage("Tip_ReadError"), AppTools.GetThemeSolidColorBrush(ColorType.ErrorColor)).ShowPopup(); } ReadabilityButton.IsEnabled = true; LoadingRing.IsActive = false; return(article); } catch (Exception ex) { ReadabilityButton.IsEnabled = true; LoadingRing.IsActive = false; new PopupToast(ex.Message, AppTools.GetThemeSolidColorBrush(ColorType.ErrorColor)).ShowPopup(); return(null); } }
private async void CacheAllButton_Click(object sender, RoutedEventArgs e) { if (!NetworkHelper.Instance.ConnectionInformation.IsInternetAvailable) { new PopupToast(AppTools.GetReswLanguage("Tip_FailedWithoutInternet"), AppTools.GetThemeSolidColorBrush(ColorType.ErrorColor)).ShowPopup(); return; } CacheAllButton.IsEnabled = false; CacheProgressBar.Visibility = Visibility.Visible; var list = new List <Channel>(); foreach (var item in MainPage.Current.Categories) { foreach (var cha in item.Channels) { list.Add(cha); } } var pageList = MainPage.Current.CustomPages; if (list.Count > 0) { try { CacheProgressBar.Maximum = list.Count + pageList.Count; int channelCount = 0; int pageCount = 0; var tasks = new Task[2]; tasks[0] = Task.Run(async() => { await IOTools.AddCacheChannel(async(count) => { await DispatcherHelper.ExecuteOnUIThreadAsync(() => { channelCount = count; CacheProgressBar.Value = channelCount + pageCount; }); }, list.ToArray()); }); tasks[1] = Task.Run(async() => { await IOTools.AddCachePage(async(count) => { await DispatcherHelper.ExecuteOnUIThreadAsync(() => { pageCount = count; CacheProgressBar.Value = channelCount + pageCount; }); }, pageList.ToArray()); }); await Task.WhenAll(tasks); new PopupToast(AppTools.GetReswLanguage("Tip_CacheSuccess")).ShowPopup(); } catch (Exception ex) { new PopupToast(ex.Message).ShowPopup(); } } CacheSizeTextBlock.Text = await IOTools.GetCacheSize(); CacheAllButton.IsEnabled = true; CacheProgressBar.Visibility = Visibility.Collapsed; }
private async void ForceSyncButton_Click(object sender, RoutedEventArgs e) { if (!NetworkHelper.Instance.ConnectionInformation.IsInternetAvailable) { new PopupToast(AppTools.GetReswLanguage("Tip_FailedWithoutInternet"), AppTools.GetThemeSolidColorBrush(ColorType.ErrorColor)).ShowPopup(); return; } var btn = sender as Button; btn.IsEnabled = false; btn.Content = AppTools.GetReswLanguage("Tip_Waiting"); var tasks = new List <Task>(); var cateList = new List <Category>(); var toastList = new List <Channel>(); var pageList = new List <CustomPage>(); var readList = new List <string>(); var readableList = new List <Channel>(); var cate = Task.Run(async() => { cateList = await App.OneDrive.GetCategoryList(); await IOTools.ReplaceCategory(cateList); }); var todo = Task.Run(async() => { var TodoList = await App.OneDrive.GetTodoList(); await IOTools.ReplaceTodo(TodoList); }); var star = Task.Run(async() => { var StarList = await App.OneDrive.GetStarList(); await IOTools.ReplaceStar(StarList); }); var toast = Task.Run(async() => { toastList = await App.OneDrive.GetToastList(); await IOTools.ReplaceToast(toastList); }); var page = Task.Run(async() => { pageList = await App.OneDrive.GetPageList(); await IOTools.ReplacePage(pageList); }); var read = Task.Run(async() => { readList = await App.OneDrive.GetReadList(); await IOTools.ReplaceReadIds(readList); }); var readable = Task.Run(async() => { readableList = await App.OneDrive.GetReadableList(); await IOTools.ReplaceReadable(readableList); }); tasks.Add(cate); tasks.Add(todo); tasks.Add(star); tasks.Add(toast); tasks.Add(page); tasks.Add(read); tasks.Add(readable); try { await Task.WhenAll(tasks.ToArray()); string basicUpdateTime = AppTools.GetRoamingSetting(AppSettings.BasicUpdateTime, "1"); string todoUpdateTime = AppTools.GetRoamingSetting(AppSettings.TodoUpdateTime, "1"); string starUpdateTime = AppTools.GetRoamingSetting(AppSettings.StarUpdateTime, "1"); string toastUpdateTime = AppTools.GetRoamingSetting(AppSettings.ToastUpdateTime, "1"); string pageUpdateTime = AppTools.GetRoamingSetting(AppSettings.PageUpdateTime, "1"); string readUpdateTime = AppTools.GetRoamingSetting(AppSettings.ReadUpdateTime, "1"); string readableUpdateTime = AppTools.GetRoamingSetting(AppSettings.ReadableUpdateTime, "1"); AppTools.WriteLocalSetting(AppSettings.BasicUpdateTime, basicUpdateTime); AppTools.WriteLocalSetting(AppSettings.TodoUpdateTime, todoUpdateTime); AppTools.WriteLocalSetting(AppSettings.StarUpdateTime, starUpdateTime); AppTools.WriteLocalSetting(AppSettings.ToastUpdateTime, toastUpdateTime); AppTools.WriteLocalSetting(AppSettings.PageUpdateTime, pageUpdateTime); AppTools.WriteLocalSetting(AppSettings.ReadUpdateTime, readUpdateTime); AppTools.WriteLocalSetting(AppSettings.ReadableUpdateTime, readableUpdateTime); AppTools.WriteLocalSetting(AppSettings.IsChannelsChangeInOffline, "False"); AppTools.WriteLocalSetting(AppSettings.IsTodoChangeInOffline, "False"); AppTools.WriteLocalSetting(AppSettings.IsStarChangeInOffline, "False"); AppTools.WriteLocalSetting(AppSettings.IsToastChangeInOffline, "False"); AppTools.WriteLocalSetting(AppSettings.IsPageChangeInOffline, "False"); AppTools.WriteLocalSetting(AppSettings.IsReadChangeInOffline, "False"); AppTools.WriteLocalSetting(AppSettings.IsReadableChangeInOffline, "False"); MainPage.Current.ReplaceList(cateList); MainPage.Current.ReplacePageList(pageList); MainPage.Current.ReadIds = readList; MainPage.Current.ReadableList = readableList; ToastChannels.Clear(); foreach (var item in toastList) { ToastChannels.Add(item); } ReadableChannels.Clear(); foreach (var item in readableList) { ReadableChannels.Add(item); } btn.IsEnabled = true; btn.Content = AppTools.GetReswLanguage("Tip_ForceSync"); new PopupToast(AppTools.GetReswLanguage("Tip_SyncSuccess")).ShowPopup(); } catch (Exception ex) { btn.IsEnabled = true; btn.Content = AppTools.GetReswLanguage("Tip_ForceSync"); new PopupToast(ex.Message, AppTools.GetThemeSolidColorBrush(ColorType.ErrorColor)).ShowPopup(); } }