Пример #1
0
        private async void SelectMenu_SearchText_Click(object sender, RoutedEventArgs e)
        {
            string searchEngine = AppTools.GetRoamingSetting(AppSettings.SearchEngine, "Bing");
            string url          = "";
            string content      = WebUtility.UrlEncode(_selectText);

            switch (searchEngine)
            {
            case "Google":
                url = $"https://www.google.com/search?q={content}";
                break;

            case "Baidu":
                url = $"https://www.baidu.com/s?wd={content}";
                break;

            case "Bing":
                url = $"https://cn.bing.com/search?q={content}";
                break;

            default:
                break;
            }
            if (!string.IsNullOrEmpty(url))
            {
                await Launcher.LaunchUriAsync(new Uri(url));
            }
        }
Пример #2
0
        private void LayoutMenuItem_Click(object sender, RoutedEventArgs e)
        {
            string name = (sender as ToggleMenuFlyoutItem).Name;

            switch (name)
            {
            case "Waterfall":
                // 由于迭代的问题,这里不好修改,就定为All了
                name           = "All";
                Card.IsChecked = false;
                List.IsChecked = false;
                break;

            case "Card":
                Waterfall.IsChecked = false;
                List.IsChecked      = false;
                break;

            case "List":
                Card.IsChecked      = false;
                Waterfall.IsChecked = false;
                break;

            default:
                name = "All";
                break;
            }
            string oldLayout = AppTools.GetRoamingSetting(AppSettings.FeedLayoutType, "All");

            if (oldLayout != name)
            {
                AppTools.WriteRoamingSetting(AppSettings.FeedLayoutType, name);
                ChangeLayout();
            }
        }
Пример #3
0
        private void ChangeLayout()
        {
            string name = AppTools.GetRoamingSetting(AppSettings.FeedLayoutType, "All");

            if (name == "All")
            {
                FeedGridView.Visibility   = Visibility.Visible;
                FeedListView.Visibility   = Visibility.Collapsed;
                FeedGridView.ItemTemplate = FeedWaterfallItemTemplate;
                Waterfall.IsChecked       = true;
            }
            else if (name == "Card")
            {
                FeedGridView.Visibility   = Visibility.Visible;
                FeedListView.Visibility   = Visibility.Collapsed;
                FeedGridView.ItemTemplate = FeedCardItemTemplate;
                Card.IsChecked            = true;
            }
            else
            {
                FeedGridView.Visibility = Visibility.Collapsed;
                FeedListView.Visibility = Visibility.Visible;
                List.IsChecked          = true;
            }
        }
Пример #4
0
        /// <summary>
        /// 伪装的启动页,用以进行OneDrive数据同步
        /// </summary>
        public SplashPage()
        {
            this.InitializeComponent();
            string theme = AppTools.GetRoamingSetting(AppSettings.Theme, "Light");
            var    image = new BitmapImage(new Uri($"ms-appx:///Assets/{theme}.png"));

            AppIcon.Source = image;
            Sync();
        }
Пример #5
0
        public App()
        {
            ChangeLanguage();
            this.InitializeComponent();

            this.Suspending    += OnSuspending;
            RequestedTheme      = AppTools.GetRoamingSetting(AppSettings.Theme, "Light") == "Light" ? ApplicationTheme.Light : ApplicationTheme.Dark;
            UnhandledException += UnhandleExceptionHandle;
        }
Пример #6
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");
        }
Пример #7
0
        /// <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;
            }
        }
Пример #8
0
        /// <summary>
        /// 更改语言首选项
        /// </summary>
        private void ChangeLanguage()
        {
            string lan = AppTools.GetRoamingSetting(AppSettings.Language, "en_US");

            if (lan == "")
            {
                var Languages = Windows.System.UserProfile.GlobalizationPreferences.Languages;
                if (Languages.Count > 0)
                {
                    var language = Languages[0];
                    if (language.ToLower().IndexOf("zh") != -1)
                    {
                        AppTools.WriteRoamingSetting(AppSettings.Language, "zh_CN");
                        //if (language.ToLower() == "zh-hans-cn")
                        //{

                        //}
                        //else
                        //{
                        //    AppTools.WriteLocalSetting(AppSettings.Language, "Tw");
                        //}
                    }
                    else
                    {
                        AppTools.WriteRoamingSetting(AppSettings.Language, "en_US");
                    }
                }
                else
                {
                    AppTools.WriteRoamingSetting(AppSettings.Language, "en_US");
                }
            }
            lan = AppTools.GetRoamingSetting(AppSettings.Language, "en_US");
            string code = "";

            switch (lan)
            {
            case "zh_CN":
                code = "zh-CN";
                break;

            case "en_US":
                code = "en-US";
                break;

            default:
                code = "en-US";
                break;
            }
            ApplicationLanguages.PrimaryLanguageOverride = code;
        }
Пример #9
0
        /// <summary>
        /// 包装HTML页面
        /// </summary>
        /// <param name="content">文章主题</param>
        /// <returns></returns>
        private async Task <string> PackageHTML(string content)
        {
            bool   isHideScroll = Convert.ToBoolean(AppTools.GetLocalSetting(AppSettings.IsHideWebScroll, "True"));
            string html         = await FileIO.ReadTextAsync(await StorageFile.GetFileFromApplicationUriAsync(new Uri("ms-appx:///Template/ShowPage.html")));

            string theme = AppTools.GetRoamingSetting(AppSettings.Theme, "Light");
            string css   = await FileIO.ReadTextAsync(await StorageFile.GetFileFromApplicationUriAsync(new Uri($"ms-appx:///Template/{theme}.css")));

            string fontFamily = AppTools.GetLocalSetting(AppSettings.ReadFontFamily, "Tw Cen MT");
            string fontSize   = AppTools.GetLocalSetting(AppSettings.ReadFontSize, "16");

            css = css.Replace("$FontFamily$", fontFamily).Replace("$FontSize$", fontSize);
            string result = html.Replace("$theme$", theme.ToLower()).Replace("$style$", css).Replace("$body$", content);

            result = isHideScroll ? result.Replace("$noscroll$", "style=\"-ms-overflow-style: none;\"") : result.Replace("$noscroll$", "");
            result = isHideScroll ? result.Replace("$return$", "") : result.Replace("$return$", "return;");
            return(result);
        }
Пример #10
0
        /// <summary>
        /// 欢迎页
        /// </summary>
        public WelcomePage()
        {
            this.InitializeComponent();
            Current = this;
            string theme = AppTools.GetRoamingSetting(CoreLib.Enums.AppSettings.Theme, "Light");
            var    image = new BitmapImage(new Uri($"ms-appx:///Assets/{theme}.png"));

            AppIcon.Source = image;
            string name = AppTools.GetLocalSetting(CoreLib.Enums.AppSettings.UserName, "");

            if (string.IsNullOrEmpty(name))
            {
                WelcomeTextBlock.Text = AppTools.GetReswLanguage("Tip_WelcomeText");
            }
            else
            {
                WelcomeTextBlock.Text = AppTools.GetReswLanguage("Tip_PreWelcome") + name;
            }
        }
Пример #11
0
        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;
            }
        }
Пример #12
0
        /// <summary>
        /// 检查版本更新,并弹出更新通告
        /// </summary>
        /// <returns></returns>
        private async Task CheckVersion()
        {
            try
            {
                string localVersion = AppTools.GetLocalSetting(AppSettings.AppVersion, "");
                string nowVersion   = string.Format("{0}.{1}.{2}.{3}", Package.Current.Id.Version.Major, Package.Current.Id.Version.Minor, Package.Current.Id.Version.Build, Package.Current.Id.Version.Revision);
                string lan          = AppTools.GetRoamingSetting(AppSettings.Language, "en_US");
                if (localVersion != nowVersion)
                {
                    var updateFile = await StorageFile.GetFileFromApplicationUriAsync(new Uri($"ms-appx:///{lan}.txt"));

                    string updateInfo = await FileIO.ReadTextAsync(updateFile);

                    await new ConfirmDialog(AppTools.GetReswLanguage("Tip_UpdateTip"), updateInfo).ShowAsync();
                    AppTools.WriteLocalSetting(AppSettings.AppVersion, nowVersion);
                }
            }
            catch (Exception)
            {
                return;
            }
        }
Пример #13
0
        public async void PageInit()
        {
            string theme                 = AppTools.GetRoamingSetting(AppSettings.Theme, "Light");
            bool   isOneDrive            = Convert.ToBoolean(AppTools.GetLocalSetting(AppSettings.IsBindingOneDrive, "False"));
            string language              = AppTools.GetRoamingSetting(AppSettings.Language, "en_US");
            string oneDriveUserName      = AppTools.GetLocalSetting(AppSettings.UserName, "");
            string searchEngine          = AppTools.GetRoamingSetting(AppSettings.SearchEngine, "Bing");
            string iconType              = AppTools.GetRoamingSetting(AppSettings.FaviconType, "Default");
            bool   isSyncWithStart       = Convert.ToBoolean(AppTools.GetLocalSetting(AppSettings.SyncWithStart, "False"));
            bool   isScreenChannel       = Convert.ToBoolean(AppTools.GetLocalSetting(AppSettings.IsScreenChannelCustom, "False"));
            bool   isScreenPage          = Convert.ToBoolean(AppTools.GetLocalSetting(AppSettings.IsScreenPageCustom, "False"));
            double speechRate            = Convert.ToDouble(AppTools.GetLocalSetting(AppSettings.SpeechRate, "1.0"));
            string gender                = AppTools.GetLocalSetting(AppSettings.VoiceGender, "Female");
            bool   isAutoCache           = Convert.ToBoolean(AppTools.GetLocalSetting(AppSettings.AutoCacheWhenOpenChannel, "False"));
            bool   isFirstCache          = Convert.ToBoolean(AppTools.GetLocalSetting(AppSettings.IsCacheFirst, "False"));
            bool   isShowFeedDescription = Convert.ToBoolean(AppTools.GetLocalSetting(AppSettings.IsShowFeedDescription, "True"));
            bool   isHidePage            = Convert.ToBoolean(AppTools.GetLocalSetting(AppSettings.IsHidePage, "False"));
            bool   isShowNoRead          = Convert.ToBoolean(AppTools.GetLocalSetting(AppSettings.IsShowNoRead, "True"));
            bool   isHideWebScroll       = Convert.ToBoolean(AppTools.GetLocalSetting(AppSettings.IsHideWebScroll, "True"));

            if (!isOneDrive)
            {
                ForceSyncContainer.Visibility     = Visibility.Collapsed;
                SyncWithStartContainer.Visibility = Visibility.Collapsed;
                OneDriveNameTextBlock.Visibility  = Visibility.Collapsed;
                OneDriveLogoutButton.Visibility   = Visibility.Collapsed;
                LoginOneDriveButton.Visibility    = Visibility.Visible;
            }
            if (theme == "Light")
            {
                ThemeComboBox.SelectedIndex = 0;
            }
            else
            {
                ThemeComboBox.SelectedIndex = 1;
            }
            if (language == "zh_CN")
            {
                LanguageComboBox.SelectedIndex = 0;
            }
            else
            {
                LanguageComboBox.SelectedIndex = 1;
            }
            switch (searchEngine)
            {
            case "Google":
                SearchEngineComboBox.SelectedIndex = 0;
                break;

            case "Baidu":
                SearchEngineComboBox.SelectedIndex = 1;
                break;

            case "Bing":
                SearchEngineComboBox.SelectedIndex = 2;
                break;

            default:
                break;
            }
            switch (iconType)
            {
            case "Default":
                IconTypeComboBox.SelectedIndex = 0;
                break;

            case "Google":
                IconTypeComboBox.SelectedIndex = 1;
                break;

            default:
                break;
            }
            ShowFeedDescriptionSwitch.IsOn = isShowFeedDescription;
            HidePageSwitch.IsOn            = isHidePage;
            AutoCacheChannel.IsOn          = isAutoCache;
            FirstCacheChannel.IsOn         = isFirstCache;
            ShowNoReadChannel.IsOn         = isShowNoRead;
            CacheSizeTextBlock.Text        = await IOTools.GetCacheSize();

            VoiceGenderComboBox.SelectedIndex = gender == "Female" ? 1 : 0;
            SpeechRateSlider.Value            = speechRate;
            SyncWithStartSwitch.IsOn          = isSyncWithStart;
            OneDriveNameTextBlock.Text        = oneDriveUserName;
            HideWebScrollSwitch.IsOn          = isHideWebScroll;
            ToastChannels.Clear();
            var toastList = await IOTools.GetNeedToastChannels();

            if (toastList.Count > 0)
            {
                foreach (var item in toastList)
                {
                    ToastChannels.Add(item);
                }
            }
            else
            {
                ToastGridView.Visibility = Visibility.Collapsed;
            }
            var readableList = await IOTools.GetNeedReadableChannels();

            if (readableList.Count > 0)
            {
                foreach (var item in readableList)
                {
                    ReadableChannels.Add(item);
                }
            }
            else
            {
                ReadableGridView.Visibility = Visibility.Collapsed;
            }
            if (isScreenChannel)
            {
                ScreenChannelComboBox.SelectedIndex = 1;
            }
            else if (isScreenPage)
            {
                ScreenChannelComboBox.SelectedIndex = 2;
            }
            else
            {
                ScreenChannelComboBox.SelectedIndex = 0;
            }
            //TestRoamingTimeBlock.Text = AppTools.GetRoamingSetting(AppSettings.BasicUpdateTime, "1");
            string shortcutFileName = language == "zh_CN" ? "shortcut_zh" : "shortcut_en";
            var    file             = await StorageFile.GetFileFromApplicationUriAsync(new Uri($"ms-appx:///{shortcutFileName}.txt"));

            ShortcutMarkdown.Text = await FileIO.ReadTextAsync(file);

            _isInit = true;
        }
Пример #14
0
        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();
            }
        }
Пример #15
0
        private async void Sync()
        {
            bool result = await App.OneDrive.OneDriveAuthorize();

            if (result)
            {
                int now   = AppTools.DateToTimeStamp(DateTime.Now.ToLocalTime());
                var tasks = new List <Task>();
                var cate  = Task.Run(async() =>
                {
                    var categoryList = await App.OneDrive.GetCategoryList();
                    await IOTools.ReplaceCategory(categoryList);
                });
                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() =>
                {
                    var ToastList = await App.OneDrive.GetToastList();
                    await IOTools.ReplaceToast(ToastList);
                });
                var page = Task.Run(async() =>
                {
                    var PageList = await App.OneDrive.GetPageList();
                    await IOTools.ReplacePage(PageList);
                });
                var read = Task.Run(async() =>
                {
                    var ReadList = await App.OneDrive.GetReadList();
                    await IOTools.ReplaceReadIds(ReadList);
                });
                var readable = Task.Run(async() =>
                {
                    var ReadList = await App.OneDrive.GetReadableList();
                    await IOTools.ReplaceReadable(ReadList);
                });
                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.ToastUpdateTime, toastUpdateTime);
                    AppTools.WriteLocalSetting(AppSettings.StarUpdateTime, starUpdateTime);
                    AppTools.WriteLocalSetting(AppSettings.TodoUpdateTime, todoUpdateTime);
                    AppTools.WriteLocalSetting(AppSettings.BasicUpdateTime, basicUpdateTime);
                    AppTools.WriteLocalSetting(AppSettings.PageUpdateTime, pageUpdateTime);
                    AppTools.WriteLocalSetting(AppSettings.ReadUpdateTime, readUpdateTime);
                    AppTools.WriteLocalSetting(AppSettings.ReadableUpdateTime, readableUpdateTime);
                    AppTools.WriteLocalSetting(AppSettings.LastSyncTime, now.ToString());
                }
                catch (Exception)
                {
                }
                finally
                {
                    var frame = Window.Current.Content as Frame;
                    frame.Navigate(typeof(MainPage));
                }
            }
            else
            {
                var frame = Window.Current.Content as Frame;
                frame.Navigate(typeof(MainPage));
            }
        }
Пример #16
0
        private async void OneDirveButton_Click(object sender, RoutedEventArgs e)
        {
            ControlContainer.Visibility = Visibility.Collapsed;
            WaitingContainer.Visibility = Visibility.Visible;
            TitleIcon.Text = "";
            bool result = await App.OneDrive.OneDriveAuthorize();

            try
            {
                if (result)
                {
                    LinkLoadingRing.IsActive        = false;
                    SyncLoadingContainer.Background = AppTools.GetThemeSolidColorBrush(ColorType.PrimaryColor);
                    SyncLoadingText.Foreground      = AppTools.GetThemeSolidColorBrush(ColorType.PrimaryInsideColor);
                    SyncLoadingRing.IsActive        = true;
                    new PopupToast(AppTools.GetReswLanguage("Tip_BindingOneDriveSuccess")).ShowPopup();
                    var tasks = new List <Task>();
                    var cate  = Task.Run(async() =>
                    {
                        var categoryList = await App.OneDrive.GetCategoryList();
                        await IOTools.ReplaceCategory(categoryList);
                    });
                    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() =>
                    {
                        var ToastList = await App.OneDrive.GetToastList();
                        await IOTools.ReplaceToast(ToastList);
                    });
                    var page = Task.Run(async() =>
                    {
                        var PageList = await App.OneDrive.GetPageList();
                        await IOTools.ReplacePage(PageList);
                    });
                    var read = Task.Run(async() =>
                    {
                        var ReadList = await App.OneDrive.GetReadList();
                        await IOTools.ReplaceReadIds(ReadList);
                    });
                    var readable = Task.Run(async() =>
                    {
                        var ReadList = await App.OneDrive.GetReadableList();
                        await IOTools.ReplaceReadable(ReadList);
                    });
                    tasks.Add(cate);
                    tasks.Add(todo);
                    tasks.Add(star);
                    tasks.Add(toast);
                    tasks.Add(page);
                    tasks.Add(read);
                    tasks.Add(readable);
                    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.ToastUpdateTime, toastUpdateTime);
                    AppTools.WriteLocalSetting(AppSettings.StarUpdateTime, starUpdateTime);
                    AppTools.WriteLocalSetting(AppSettings.TodoUpdateTime, todoUpdateTime);
                    AppTools.WriteLocalSetting(AppSettings.BasicUpdateTime, basicUpdateTime);
                    AppTools.WriteLocalSetting(AppSettings.PageUpdateTime, pageUpdateTime);
                    AppTools.WriteLocalSetting(AppSettings.PageUpdateTime, readUpdateTime);
                    AppTools.WriteLocalSetting(AppSettings.ReadableUpdateTime, readableUpdateTime);
                    AppTools.WriteLocalSetting(AppSettings.IsBindingOneDrive, "True");
                    var frame = Window.Current.Content as Frame;
                    frame.Navigate(typeof(MainPage));
                }
                else
                {
                    TitleIcon.Text = "";
                    ControlContainer.Visibility = Visibility.Visible;
                    WaitingContainer.Visibility = Visibility.Collapsed;
                    new PopupToast(AppTools.GetReswLanguage("Tip_BindingOneDriveFailed"), AppTools.GetThemeSolidColorBrush(ColorType.ErrorColor)).ShowPopup();
                }
            }
            catch (Exception ex)
            {
                TitleIcon.Text = "";
                ControlContainer.Visibility     = Visibility.Visible;
                WaitingContainer.Visibility     = Visibility.Collapsed;
                LinkLoadingRing.IsActive        = true;
                SyncLoadingRing.IsActive        = false;
                SyncLoadingContainer.Background = AppTools.GetThemeSolidColorBrush(ColorType.LineColor);
                SyncLoadingText.Foreground      = AppTools.GetThemeSolidColorBrush(ColorType.NormalTextColor);
                new PopupToast(ex.Message, AppTools.GetThemeSolidColorBrush(ColorType.ErrorColor)).ShowPopup();
            }
        }