コード例 #1
0
        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();
        }
コード例 #2
0
ファイル: Wallpaper.cs プロジェクト: micro123/LiveWallpaper
        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));
        }