/* * void form_DoWork(ProgressForm sender, DoWorkEventArgs e) * { * bool throwException = (bool)e.Argument; * * for (int i = 0; i < 100; i++) * { * if (throwException && i == 50) * throw new Exception("Throwing exception!"); * * System.Threading.Thread.Sleep(50); * sender.SetProgress(i, "Step " + i.ToString() + " / 100..."); * if (sender.CancellationPending) * { * e.Cancel = true; * return; * } * } * } */ void saveSceneEnd(MarqueeProgress sender, RunWorkerCompletedEventArgs e) { /* if ((bool)e.Result == true) * { * lbScene.Items.Add(txtSceneName.Text); * endSceneEditing(); * * } */ string sceneName = txtSceneName.Text; if ((bool)e.Result == true) { cmCloseScene_Click(null, null); string destination = Path.Combine(App.SceneDir, sceneName); Util.DirDelete(destination); string source = Path.Combine(App.SceneDir, "_temp"); Directory.Move(source, destination); if (lbScene.Items.Contains(sceneName) == false) { lbScene.Items.Add(sceneName); } endSceneEditing(); //App.MsgBox("保存成功!"); } }
private void doMergeCreateZip(MarqueeProgress sender, DoWorkEventArgs e) { log.w("mSelectedSceneList.Count: " + mSelectedSceneList.Count); if (mSelectedSceneList.Count > 0) { mergeScene(mSelectedSceneList, mSelectedSceneTiming); //string zipfile = CreateAdZip(); } }
public void showMergeCreateZip() { MarqueeProgress form = new MarqueeProgress(); form.Text = Resource1.save; //pass the check box state as an argument for our background worker //form.Argument = arg; form.DoWork += new MarqueeProgress.DoWorkEventHandler(doMergeCreateZip); DialogResult result = form.ShowDialog(); }
private void showSaveScene(string arg) { MarqueeProgress form = new MarqueeProgress(); form.Text = Resource1.save; //pass the check box state as an argument for our background worker form.Argument = arg; // checkBoxThrowException.Checked; form.DoWork += new MarqueeProgress.DoWorkEventHandler(doSaveScene); form.WorkCompleted += new MarqueeProgress.WorkCompletedEventHandler(saveSceneEnd); //check how the background worker finished DialogResult result = form.ShowDialog(); //if (result == DialogResult.Cancel) // MessageBox.Show("Operation has been cancelled"); //if (result == DialogResult.Abort) // MessageBox.Show("Exception:" + Environment.NewLine + form.Result.Error.Message); }
/// <summary> /// 文件夹名称就是场景名称, json 保存 video, subtitle, picture 位置等信息, /// 图片视频等资源拷贝进来即可 /// </summary> //private void doSaveScene(string sceneName) void doSaveScene(MarqueeProgress sender, DoWorkEventArgs e) { Toast("正在保存场景文件, 请稍候!", 3); string sceneName = (string)e.Argument; string dir = Path.Combine(App.SceneDir, sceneName); Scene scene = new Scene() { timing = AdScene.Timing_0000, name = sceneName, // + " (定时 " + SceneTiming.Replace(':', '.') + ")", }; for (int i = 0; i < CanvasMain.Kernel.getShapeList().Count; i++) { RectShape rect = CanvasMain.Kernel.getShapeList()[i] as RectShape; log.w("saveScene: " + rect.ItemType); scene.layers.Add(rect.ItemType); switch (rect.ItemType) { case AdItemType.Video: if (!App.VIDEO) { scene.video.Add(rect.Prop as Video); } else { Video video = rect.Prop as Video; if (video.filelist.Count == 0 && App.HDMI == false) { App.MsgBoxE("没有设置视频元素的视频源!"); Directory.Delete(dir, true); e.Result = false; return; } scene.video.Add(createVid(video, dir)); } break; case AdItemType.Picture: Picture picture = rect.Prop as Picture; if (picture.filelist.Count == 0) { App.MsgBoxE("没有设置图片元素的图片源!"); Directory.Delete(dir, true); e.Result = false; return; } scene.picture.Add(createPic(picture, dir)); break; case AdItemType.Subtitle: scene.subtitle.Add(rect.Prop as Subtitle); break; case AdItemType.Select: break; default: break; } } string json = JsonConvert.SerializeObject(scene, Formatting.Indented); log.t(json); json = BluCodec.Encode(json); //Console.WriteLine(json); using (StreamWriter sw = new StreamWriter(File.Open(Path.Combine(dir, AD_CONFIG_JSON), FileMode.Create))) { sw.WriteLine(json); } e.Result = true; //lbScene.Items.Add(scene.name); //endSceneEditing(); //App.MsgBox("保存成功!"); }