/// <summary> /// Value was saved. Collect info, then finish /// </summary> /// <param name="sender"></param> /// <param name="args"></param> void Value_Saved(object sender, OnSavedEventArgs args) { lock (_PicturesToSave) { PictureComparer pc = sender as PictureComparer; if (pc != null) { _SaveResult += pc.FileName + ":" + Environment.NewLine; } _SaveResult += args.ToolOutput; _NumberOfPicturesToSave--; if (PictureSaved != null) { PictureSaved(this, new OnPictureSavedEventArgs(pc.FileName, (int)(100 - 100 * (float)((float)_NumberOfPicturesToSave / (float)_TotalNumberOfPictures)))); } // one more in the queue? -> dequeue, start saving if (_PicturesToSave.Count > 0) { PictureComparer pic = _PicturesToSave.Dequeue(); pic.Save(); } Debug.WriteLine(_PicturesToSave.Count.ToString() + " Pictures in Save-Queue"); // finished? if (_NumberOfPicturesToSave == 0) { if (Saved != null) { Saved(this, new OnPictureListSavedEventArgs(_SaveResult)); } } } }
/// <summary> /// Value was saved. Collect info, then finish /// </summary> /// <param name="sender"></param> /// <param name="args"></param> void Value_Saved(object sender, OnSavedEventArgs args) { lock (_PicturesToSave) { PictureComparer pc = sender as PictureComparer; if (pc != null) { _SaveResult += pc.FileName + ":" + Environment.NewLine; } _SaveResult += args.ToolOutput; _NumberOfPicturesToSave--; if (PictureSaved != null) { PictureSaved(this, new OnPictureSavedEventArgs(pc.FileName, (int)(100 - 100 * (float)((float)_NumberOfPicturesToSave / (float)_TotalNumberOfPictures)))); } // one more in the queue? -> dequeue, start saving if (_PicturesToSave.Count > 0) { PictureComparer pic = _PicturesToSave.Dequeue(); pic.Save(); } Debug.WriteLine(_PicturesToSave.Count.ToString() + " Pictures in Save-Queue"); // finished? if (_NumberOfPicturesToSave == 0) { if (Saved != null) { Saved(this, new OnPictureListSavedEventArgs(_SaveResult)); } } } }