public async void Save() { if (CurrentWallpaper == null) { MessageBox.Show(await LanService.Get("wallpaperEditor_warning_invalidWallpaper")); return; } if (string.IsNullOrEmpty(CurrentWallpaper.ProjectInfo.Title)) { MessageBox.Show(await LanService.Get("wallpaperEditor_warning_titleEmpty")); return; } CanSave = false; string destDir = Path.Combine(AppManager.LocalWallpaperDir, Guid.NewGuid().ToString()); try { //await Task.Run(() => //{ var result = await Task.Run(() => { return(WallpaperManager.CreateLocalPack(CurrentWallpaper, destDir)); }); if (_editMode) { //删除旧包 var temp = CurrentWallpaper; CurrentWallpaper = null; bool ok = await WallpaperManager.Delete(temp); if (!ok) { MessageBox.Show("删除失败请手动删除"); } } //}); } catch (Exception ex) { CanSave = true; logger.Error(ex); MessageBox.Show(ex.Message); return; } Result = true; TryClose(); }
public static async Task <Wallpaper> CreateLocalPack(Wallpaper wallpaper, string destDir) { var tmpResult = await WallpaperManager.CreateLocalPack(wallpaper.AbsolutePath, wallpaper.AbsolutePreviewPath, Convert(wallpaper.ProjectInfo), destDir); return(new Wallpaper(Convert(tmpResult.Info), destDir)); }