private void OnScanCompleted(ScanCompletedEventArgs e) { if (this.ScanCompleted != null) { this.ScanCompleted(this, e); } }
/// <summary> /// Called when scanning has been completed. /// </summary> private void PostCompleted(Volume volume, Exception error, bool cancelled) { SendOrPostCallback cb = delegate(object args) { OnScanCompleted((ScanCompletedEventArgs)args); }; ScanCompletedEventArgs e = new ScanCompletedEventArgs(volume, error, cancelled); asyncOperation.PostOperationCompleted(cb, e); }
private void scanner_ScanCompleted(object sender, ScanCompletedEventArgs e) { Application.Invoke(delegate { if (e.Error != null) { UpdateLog(LogIcon.Error, string.Format(S._("Scanning failed. Reason: an unhandled exception occured ({0})."), e.Error.Message)); } else if (e.Cancelled) { UpdateLog(LogIcon.Error, S._("Scanning aborted.")); } else { UpdateLog(LogIcon.Info, S._("Scanning completed successfully.")); newVolume = e.Volume; // the volume editor may have been disabled in the ctor // for some volume types (e.g. AudioCD volumes) if (!volEditor.Sensitive) { volEditor.Load(newVolume); volEditor.Sensitive = true; } } if (!btnAbort.Sensitive) /* possibly disabled in AbortScan() */ btnAbort.Sensitive = true; btnAbort.Label = Stock.Close; scanCompleted = true; }); /* remove timeout handler (installed in ctor) */ timer.Remove(); }