private void ConversionProgressCallback(ProgressUpdate update) { lock (_progressLock) { CurrentApplicationState = ApplicationState.Converting; if (CurrentProgressUpdate.Equals(NoProgress)) { CurrentProgressUpdate = update; RaisePropertyChanged("CurrentProgress"); RaisePropertyChanged("CurrentProgressTotal"); RaisePropertyChanged("OperationCanBeCancelled"); } else if (update.Progress > CurrentProgressUpdate.Progress) { CurrentProgressUpdate = update; RaisePropertyChanged("CurrentProgress"); } //Check if this is the last update (so we can change over to copy progress) if (CurrentProgressUpdate.Progress == CurrentProgressUpdate.Total) { //time to switch over to copying, yo. Reset progress to be nice. CurrentProgressUpdate = NoProgress; } } }
private void CopyingProgressCallback(ProgressUpdate update) { lock (_progressLock) { CurrentApplicationState = ApplicationState.Copying; if (CurrentProgressUpdate.Equals(NoProgress)) { CurrentProgressUpdate = update; RaisePropertyChanged("CurrentProgress"); RaisePropertyChanged("CurrentProgressTotal"); RaisePropertyChanged("OperationCanBeCancelled"); } else if (update.Progress > CurrentProgressUpdate.Progress) { RaisePropertyChanged("CurrentProgress"); CurrentProgressUpdate = update; } } }