private void ViewModel_OnFinished(object sender, ExtractionFinishedState e)
        {
            this.Dispatcher.Invoke(() =>
            {
                ViewModel.OnFinished -= ViewModel_OnFinished;
                ViewModel.ExtractionProgress.ProgressChanged -= ExtractionProgress_ProgressChanged;

                UpdateExtractionProgress(ViewModel.ExtractionFileCount, ViewModel.ExtractionFileCount, true);
                SetExtractingWindowTitle(ExtractionProgress.Value);

                if (e == ExtractionFinishedState.Canceled)
                {
                    this.Cancel.Content = "Canceled";
                    this.Title          = "Canceled " + ViewModel.ArchiveInfo.FileName;
                }
                else
                {
                    if (NotifyOnFinishedCheckBox.IsChecked.Value)
                    {
                        MessageBox.Show(this, "Extraction completed.", "Extraction completed.", MessageBoxButton.OK,
                                        MessageBoxImage.Information);
                    }
                }

                this.Close();
            });
        }
Example #2
0
 public ExtractionEventArgs(string extractedFileName, int extractedCount, string destFolder, ExtractionFinishedState state)
 {
     ExtractedFileName = extractedFileName;
     ExtractedCount    = extractedCount;
     DestinationFolder = destFolder;
     State             = state;
 }