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);
        }
Exemple #3
0
        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();
        }