Пример #1
0
        private async void QuickSave_Click(object sender, RoutedEventArgs e)
        {
            if (tapped == null)
            {
                return;
            }
            var i = tapped;

            try
            {
                FileSavePicker picker = new FileSavePicker();
                picker.SuggestedStartLocation = PickerLocationId.PicturesLibrary;
                picker.FileTypeChoices.Add(GetResourceString("ImageFilePlain"), new List <string>()
                {
                    ".png"
                });
                picker.SuggestedFileName = i.Title;
                var file = await picker.PickSaveFileAsync();

                if (file != null)
                {
                    CachedFileManager.DeferUpdates(file);
                    var res = await new PixivAppAPI(Data.OverAll.GlobalBaseAPI)
                              .GetIllustDetailAsync(i.ItemId.ToString());
                    var illust = Data.IllustDetail.FromObject(res);
                    using (var imgstream = await Data.OverAll.DownloadImage(illust.OriginalUrls[0]))
                    {
                        using (var filestream = await file.OpenAsync(FileAccessMode.ReadWrite))
                        {
                            await imgstream.CopyToAsync(filestream.AsStream());
                        }
                    }
                    var updateStatus = await CachedFileManager.CompleteUpdatesAsync(file);

                    if (updateStatus == FileUpdateStatus.Complete)
                    {
                        await TheMainPage?.ShowTip(string.Format(GetResourceString("WorkSavedPlain"), i.Title));
                    }
                    else
                    {
                        await TheMainPage?.ShowTip(string.Format(GetResourceString("WorkSaveFailedPlain"), i.Title));
                    }
                }
            }
            catch
            {
                await TheMainPage?.ShowTip(string.Format(GetResourceString("WorkSaveFailedPlain"), i.Title));
            }
        }
Пример #2
0
        private void ComboBox_DropDownClosed(object sender, object e)
        {
            if (sender is ComboBox cb)
            {
                // 保存颜色主题信息
                switch (cb.SelectedIndex)
                {
                case 2:
                    ApplicationData.Current.LocalSettings.Values["ColorTheme"] = null;
                    break;

                case 0:
                    ApplicationData.Current.LocalSettings.Values["ColorTheme"] = false;
                    break;

                case 1:
                    ApplicationData.Current.LocalSettings.Values["ColorTheme"] = true;
                    break;
                }
                _ = TheMainPage?.ShowTip(GetResourceString("RestartApplyColorTheme"));
            }
        }
Пример #3
0
        private async void QuickStar_Click(object sender, RoutedEventArgs e)
        {
            if (tapped == null)
            {
                return;
            }
            var i     = tapped;
            var title = i.Title;

            try
            {
                //用Title作标识,表明任务是否在执行
                i.Title = null;
                if (i.IsBookmarked)
                {
                    bool res;
                    try
                    {
                        await new PixivAppAPI(Data.OverAll.GlobalBaseAPI)
                        .PostIllustBookmarkDeleteAsync(i.ItemId.ToString());
                        res = true;
                    }
                    catch
                    {
                        res = false;
                    }
                    i.Title = title;
                    if (res)
                    {
                        i.IsBookmarked = false;
                        i.Stars--;
                        i.NotifyChange("StarsString");
                        i.NotifyChange("IsBookmarked");
                        await TheMainPage?.ShowTip(string.Format(GetResourceString("DeletedBookmarkPlain"), title));
                    }
                    else
                    {
                        await TheMainPage?.ShowTip(string.Format(GetResourceString("BookmarkDeleteFailedPlain"), title));
                    }
                }
                else
                {
                    bool res;
                    try
                    {
                        await new PixivAppAPI(Data.OverAll.GlobalBaseAPI)
                        .PostIllustBookmarkAddAsync(i.ItemId.ToString());
                        res = true;
                    }
                    catch
                    {
                        res = false;
                    }
                    i.Title = title;
                    if (res)
                    {
                        i.IsBookmarked = true;
                        i.Stars++;
                        i.NotifyChange("StarsString");
                        i.NotifyChange("IsBookmarked");
                        await TheMainPage?.ShowTip(string.Format(GetResourceString("WorkBookmarkedPlain"), title));
                    }
                    else
                    {
                        await TheMainPage?.ShowTip(string.Format(GetResourceString("WorkBookmarkFailedPlain"), title));
                    }
                }
            }
            finally
            {
                //确保出错时数据不被破坏
                i.Title = title;
            }
        }