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)); } }
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")); } }
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; } }