Пример #1
0
 /// <summary>
 /// 添加频道对话框
 /// </summary>
 public AddChannelDialog()
 {
     this.InitializeComponent();
     Title               = AppTools.GetReswLanguage("Tip_AddChannel");
     PrimaryButtonText   = AppTools.GetReswLanguage("Tip_Confirm");
     SecondaryButtonText = AppTools.GetReswLanguage("Tip_Cancel");
 }
Пример #2
0
        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();
                    }
                }
            }
        }
Пример #3
0
        /// <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) =>
                {
                };
            }
        }
Пример #4
0
        private async void ContentDialog_PrimaryButtonClick(ContentDialog sender, ContentDialogButtonClickEventArgs args)
        {
            // 需要检查组名是否为空(或者只包含空格)
            // 检查组名是否重复

            args.Cancel = true;
            string groupName = GroupInputBox.Text.Trim();

            if (!string.IsNullOrEmpty(groupName))
            {
                bool isIn = App.Db.Groups.Any(p => p.GroupName.ToLower() == groupName.ToLower());
                if (!isIn)
                {
                    var group = new OneDriveImageGroup(groupName);
                    await App.OneDriveTools.AddGroupToDatabase(App.Db, group);

                    new PopupMaskTip(AppTools.GetReswLanguage("AddGroupSuccess")).Show();
                    MainPage.Current.GroupCollectionAdd(group);
                    this.Hide();
                    return;
                }
                else
                {
                    new PopupMaskTip(AppTools.GetReswLanguage("GroupNameRepeat")).Show();
                }
            }
            else
            {
                new PopupMaskTip(AppTools.GetReswLanguage("GroupNameEmpty")).Show();
            }
        }
Пример #5
0
 public AddGroupDialog()
 {
     this.InitializeComponent();
     Title               = AppTools.GetReswLanguage("AddGroupTitle");
     PrimaryButtonText   = AppTools.GetReswLanguage("OK");
     SecondaryButtonText = AppTools.GetReswLanguage("Cancel");
 }
Пример #6
0
        public FilterRule(FilterRuleType type) : base()
        {
            Type = type;
            switch (type)
            {
            case FilterRuleType.Filter:
                RuleName = AppTools.GetReswLanguage("Tip_RuleFilter");
                break;

            case FilterRuleType.FilterOut:
                RuleName = AppTools.GetReswLanguage("Tip_RuleFilterOut");
                break;

            case FilterRuleType.TotalLimit:
                RuleName = AppTools.GetReswLanguage("Tip_TotalLimit");
                break;

            case FilterRuleType.SingleLimit:
                RuleName = AppTools.GetReswLanguage("Tip_SingleLimit");
                break;

            default:
                break;
            }
        }
Пример #7
0
        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();
            }
        }
Пример #8
0
        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");
        }
Пример #9
0
        private async void TryListenButton_Click(object sender, RoutedEventArgs e)
        {
            string content = AppTools.GetReswLanguage("Tip_SpeechTest");

            //string content = "This choice of voice is reflected in the SpeechSynthesizer.";
            await SpeakTextAsync(content);
        }
Пример #10
0
        private async void OneDriveInit()
        {
            try
            {
                UpdateLoadingRing.IsActive = true;
                // 检查OneDrive授权并获取应用文件夹
                await App.OneDriveTools.OneDriveAuthorize();

                // 检查云端数据库是否需要同步最新更改
                bool isNoNeedSync = await App.OneDriveTools.CheckLastAsync();

                if (!isNoNeedSync)
                {
                    new PopupMaskTip(AppTools.GetReswLanguage("HaveUpdate")).Show();
                    App.Db.Dispose();
                    // 从别的客户端处修改了数据,那么本机进行数据同步
                    await App.OneDriveTools.SyncCloud();

                    App.Db = new ImageDbContext();
                }
                UpdateLoadingRing.IsActive = false;
            }
            catch (Exception ex)
            {
                UpdateLoadingRing.IsActive = false;
                // 这里可能会出现授权失败的情况
                if (ex.GetType() == typeof(UnauthorizedAccessException))
                {
                }
                else
                {
                    throw;
                }
            }
        }
Пример #11
0
 public LoginPage()
 {
     this.InitializeComponent();
     AppTools.SetTitleBarColorInit(App.Current.RequestedTheme == ApplicationTheme.Dark);
     ToolTipService.SetToolTip(OpenSourceButton, AppTools.GetReswLanguage("OpenSourceButton"));
     ToolTipService.SetToolTip(UseInfoButton, AppTools.GetReswLanguage("UseInfoButton"));
 }
Пример #12
0
        private async void ClearCacheButton_Click(object sender, RoutedEventArgs e)
        {
            await IOTools.DeleteCache();

            new PopupToast(AppTools.GetReswLanguage("Tip_ClearSuccess")).ShowPopup();
            CacheSizeTextBlock.Text = await IOTools.GetCacheSize();
        }
Пример #13
0
        private async void RemoveToastButton_Click(object sender, RoutedEventArgs e)
        {
            (sender as Button).IsEnabled = false;
            var data = (sender as Button).DataContext as Channel;

            if (data != null)
            {
                if (SettingPivot.SelectedIndex == 3)
                {
                    await IOTools.RemoveNeedToastChannel(data);

                    ToastChannels.Remove(data);
                    MainPage.Current.ToastList.RemoveAll(p => p.Id == data.Id);
                }
                else if (SettingPivot.SelectedIndex == 4)
                {
                    await IOTools.RemoveNeedReadableChannel(data);

                    ReadableChannels.Remove(data);
                    MainPage.Current.ReadableList.RemoveAll(p => p.Id == data.Id);
                }
                new PopupToast(AppTools.GetReswLanguage("Tip_Removed")).ShowPopup();
            }
            (sender as Button).IsEnabled = true;
        }
Пример #14
0
        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();
            }
        }
Пример #15
0
        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;
        }
Пример #16
0
        public GroupDialog()
        {
            this.InitializeComponent();
            Title               = AppTools.GetReswLanguage("GroupDialogTitle");
            PrimaryButtonText   = AppTools.GetReswLanguage("OK");
            SecondaryButtonText = AppTools.GetReswLanguage("Cancel");
            var group = App.Db.Groups;

            foreach (var item in group)
            {
                GroupCollection.Add(item);
            }
            string selectId = AppTools.GetLocalSetting(AppSettings.SelectGroupIndex, "");

            foreach (var item in GroupCollection)
            {
                if (item.GroupId == selectId)
                {
                    GroupCombo.SelectedItem = item;
                    SelectGroup             = item;
                }
            }
            if (SelectGroup == null)
            {
                GroupCombo.SelectedItem = GroupCollection.First();
                SelectGroup             = GroupCollection.First();
            }
            isInit = true;
        }
Пример #17
0
        public Feed(RssSchema schema)
        {
            Title   = schema.Title ?? "";
            Summary = schema.Summary ?? "";
            Content = schema.Content ?? "";
            string theme = AppTools.GetLocalSetting(Enums.AppSettings.Theme, "Light").ToLower();

            ImageUrl = schema.ImageUrl;
            if (string.IsNullOrEmpty(ImageUrl))
            {
                ImgVisibility = Visibility.Collapsed;
            }
            else if (ImageUrl.StartsWith("//"))
            {
                ImageUrl = "http:" + ImageUrl;
            }
            ExtraImageUrl = schema.ExtraImageUrl ?? "";
            MediaUrl      = schema.MediaUrl ?? "";
            InternalID    = schema.InternalID;
            FeedUrl       = schema.FeedUrl;
            Author        = schema.Author ?? AppTools.GetReswLanguage("App_NoAuthor");
            Date          = schema.PublishDate.ToString(AppTools.GetReswLanguage("App_DateFormat"));
            Categories    = schema.Categories;
            if (Categories == null || Categories.Count() == 0)
            {
                TagVisibility = Visibility.Collapsed;
            }
        }
Пример #18
0
        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;
                }
            }
        }
Пример #19
0
 /// <summary>
 /// 移动频道对话框
 /// </summary>
 /// <param name="data">数据</param>
 public MoveChannelDialog(Channel data)
 {
     this.InitializeComponent();
     _sourceChannel      = data;
     Title               = AppTools.GetReswLanguage("Tip_MoveChannel");
     PrimaryButtonText   = AppTools.GetReswLanguage("Tip_Confirm");
     SecondaryButtonText = AppTools.GetReswLanguage("Tip_Cancel");
 }
Пример #20
0
 public AuthKeyDialog()
 {
     this.InitializeComponent();
     Title = AppTools.GetReswLanguage("AuthorizeTitle");
     TipContentBlock.Text = AppTools.GetReswLanguage("AuthKeyTip");
     PrimaryButtonText    = AppTools.GetReswLanguage("Authorize");
     CloseButtonText      = AppTools.GetReswLanguage("Cancel");
 }
Пример #21
0
 public TipDialog(string title, string tip, string pr, string sec) : this()
 {
     Title = title;
     TipContentBlock.Text = tip;
     PrimaryButtonText    = pr;
     SecondaryButtonText  = sec;
     CloseButtonText      = AppTools.GetReswLanguage("Cancel");
 }
Пример #22
0
        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();
            }
        }
Пример #23
0
        /// <summary>
        /// 更新布局,获取最新资讯
        /// </summary>
        /// <param name="page">频道数据</param>
        /// <returns></returns>
        public async Task UpdateLayout(CustomPage page, bool isForceRefresh = false)
        {
            AllFeeds.Clear();
            LoadingRing.IsActive              = true;
            JustNoReadSwitch.IsEnabled        = false;
            AllReadButton.Visibility          = Visibility.Collapsed;
            LastCacheTimeContainer.Visibility = Visibility.Collapsed;
            NoDataTipContainer.Visibility     = Visibility.Collapsed;
            AllReadTipContainer.Visibility    = Visibility.Collapsed;
            _sourceData            = page;
            PageNameTextBlock.Text = _sourceData.Name;
            FeedCollection.Clear();
            var feed = new List <RssSchema>();

            if (NetworkHelper.Instance.ConnectionInformation.IsInternetAvailable)
            {
                var schema = await IOTools.GetSchemaFromPage(_sourceData);

                foreach (var item in schema)
                {
                    feed.Add(item);
                }
                bool isAutoCache = Convert.ToBoolean(AppTools.GetLocalSetting(AppSettings.AutoCacheWhenOpenChannel, "False"));
                if (isAutoCache && feed.Count > 0)
                {
                    await IOTools.AddCachePage(null, page);
                }
            }
            else
            {
                if (MainPage.Current._isCacheAlert)
                {
                    new PopupToast(AppTools.GetReswLanguage("Tip_WatchingCache")).ShowPopup();
                    MainPage.Current._isCacheAlert = false;
                }
                var data = await IOTools.GetLocalCache(page);

                feed           = data.Item1;
                _lastCacheTime = data.Item2;
                if (_lastCacheTime > 0)
                {
                    LastCacheTimeContainer.Visibility = Visibility.Visible;
                    LastCacheTimeBlock.Text           = AppTools.TimeStampToDate(_lastCacheTime).ToString("HH:mm");
                }
            }
            if (feed != null && feed.Count > 0)
            {
                AllFeeds = feed;
                await FeedInit();
            }
            else
            {
                NoDataTipContainer.Visibility = Visibility.Visible;
            }
            JustNoReadSwitch.IsEnabled = true;
            LoadingRing.IsActive       = false;
        }
Пример #24
0
        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            MainPage.Current._isChannelAbout = true;
            AllList.Clear();
            IconCollection.Clear();
            RuleCollection.Clear();
            foreach (var item in MainPage.Current.Categories)
            {
                AllList.Add(new GroupChannelList(item.Channels)
                {
                    Key = item.Name
                });
            }
            var iconList = AppTools.GetIcons();

            foreach (var item in iconList)
            {
                IconCollection.Add(item);
            }
            var rules = FilterRule.GetRules();

            foreach (var item in rules)
            {
                RuleCollection.Add(item);
            }

            if (e.Parameter != null)
            {
                if (e.Parameter is CustomPage)
                {
                    _sourcePage          = e.Parameter as CustomPage;
                    IconTextBlock.Text   = _sourcePage.Icon;
                    PageNameTextBox.Text = _sourcePage.Name;
                    FilterCollection.Clear();
                    foreach (var item in _sourcePage.Rules)
                    {
                        FilterCollection.Add(item);
                    }
                    foreach (var item in AllList)
                    {
                        item.RemoveAll(p => _sourcePage.Channels.Any(i => i.Id == p.Id));
                    }
                    AllList.Insert(0, new GroupChannelList(_sourcePage.Channels)
                    {
                        Key = AppTools.GetReswLanguage("Tip_Selected")
                    });
                    SourceChannelCollection = new ObservableCollection <GroupChannelList>(AllList);
                }
            }
            else
            {
                IconTextBlock.Text      = IconCollection.First();
                SourceChannelCollection = new ObservableCollection <GroupChannelList>(AllList);
            }
        }
Пример #25
0
 public ModifyChannelDialog(Channel data)
 {
     this.InitializeComponent();
     _sourceChannel                 = data;
     Title                          = AppTools.GetReswLanguage("Tip_UpdateChannel");
     PrimaryButtonText              = AppTools.GetReswLanguage("Tip_Confirm");
     SecondaryButtonText            = AppTools.GetReswLanguage("Tip_Cancel");
     ChannelLinkTextBox.Text        = data.Link;
     ChannelNameTextBox.Text        = data.Name;
     ChannelDescriptionTextBox.Text = data.Description;
 }
Пример #26
0
 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();
     }
 }
Пример #27
0
 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();
     }
 }
Пример #28
0
        private void LanguageComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            if (!_isInit)
            {
                return;
            }
            var item = LanguageComboBox.SelectedItem as ComboBoxItem;

            AppTools.WriteRoamingSetting(AppSettings.Language, item.Name);
            new PopupToast(AppTools.GetReswLanguage("Tip_NeedRestartApp")).ShowPopup();
        }
Пример #29
0
        /// <summary>
        /// 百度翻译令牌对话框
        /// </summary>
        public BaiduTranslateDialog()
        {
            this.InitializeComponent();
            string oldAppId = AppTools.GetRoamingSetting(AppSettings.Translate_BaiduAppId, "");
            string oldKey   = AppTools.GetRoamingSetting(AppSettings.Translate_BaiduKey, "");

            AppIdTextBox.Text   = oldAppId;
            KeyTextBox.Text     = oldKey;
            Title               = AppTools.GetReswLanguage("Tip_BaiduTranslateDialog");
            PrimaryButtonText   = AppTools.GetReswLanguage("Tip_Confirm");
            SecondaryButtonText = AppTools.GetReswLanguage("Tip_Cancel");
        }
Пример #30
0
        private void ThemeComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            if (!_isInit)
            {
                return;
            }
            var item = ThemeComboBox.SelectedItem as ComboBoxItem;

            AppTools.WriteRoamingSetting(AppSettings.Theme, item.Name);
            MainPage.Current.RequestedTheme = item.Name == "Light" ? ElementTheme.Light : ElementTheme.Dark;
            new PopupToast(AppTools.GetReswLanguage("Tip_NeedRestartApp")).ShowPopup();
        }