Exemplo n.º 1
0
 private void HandleScanCompleted(object sender, ScanCompletedEventArgs args)
 {
     //if (!args.Auto || args.Cancelled || args.Error || !args.UpdateNeeded)
       //  return;
       //if (config.MonitorDrives && config.UpdateMode == UpdateMode.ScanAndUpdate)
       //  updateTimer.Start();
 }
Exemplo n.º 2
0
        private void HandleScanCompleted(object sender, ScanCompletedEventArgs args)
        {
            ((DataDrive)sender).ScanCompleted -= HandleScanCompleted;
              foreach (DataDriveViewModel vm in viewModel.Drives)
            if (vm.DataDrive == sender)
              vm.PropertyChanged -= HandleDataDrivePropertyChanged;

              if (args.UpdateNeeded)
            anyDriveNeedsUpdate = true;

              if (args.Error)
            scanError = true;

              Interlocked.Decrement(ref runningScans);
              if (runningScans > 0)
            return;

              scanning = false;
              viewModel.StopProgress();

              if (cancelled) {
            viewModel.Status = Name + " cancelled";
            End();
            return;
              }

              if (scanError && AbortIfScanErrors) {
            // FIXME: Need to report what the errors were!
            viewModel.Status = "Error(s) encountered during scan";
            End();
            return;
              }

              // I don't like calling Run() on the ScanCompleted callback from DataDrive's scan thread,
              // so run it on the main UI thread instead.
              Application.Current.Dispatcher.BeginInvoke(new Action(() =>
              {
            Run();
              }));
        }