private void UpdateResultsFilesUI()
        {
            // Update the results files list boxes
            UpdateResultsFilesList(FoundResultsFiles.Select(kvp => kvp.Path), listResultsFilesFound);
            UpdateResultsFilesList(MissingResultsFiles, listResultsFilesMissing);

            bool allFilesFound = !MissingResultsFiles.Any();

            resultsSplitContainer.Panel1.Dock    = allFilesFound ? DockStyle.Fill : DockStyle.None;
            resultsSplitContainer.Panel2.Visible = !allFilesFound;

            // If any match has an exact match, the "Exclude spectrum source files" checkbox should be visible
            cbExcludeSourceFiles.Visible = ImportPeptideSearch.SpectrumSourceFiles.Values.Any(s => s.HasExactMatch);

            // Fire ResultsFilesChanged, if it has been set
            if (ResultsFilesChanged != null)
            {
                ResultsFilesChanged(this, new ResultsFilesEventArgs(FoundResultsFiles.Count));
            }
        }
        public bool UpdateResultsFiles(IEnumerable <string> dirPaths, bool overwrite)
        {
            using (var longWaitDlg = new LongWaitDlg
            {
                Text = Resources.ImportResultsControl_FindResultsFiles_Searching_for_Results_Files
            })
            {
                try
                {
                    longWaitDlg.PerformWork(WizardForm, 1000, longWaitBroker =>
                                            ImportPeptideSearch.UpdateSpectrumSourceFilesFromDirs(dirPaths, overwrite, longWaitBroker));
                }
                catch (Exception x)
                {
                    MessageDlg.ShowWithException(WizardForm, TextUtil.LineSeparate(
                                                     Resources.ImportResultsControl_FindResultsFiles_An_error_occurred_attempting_to_find_results_files_,
                                                     x.Message), x);
                }
            }

            UpdateResultsFilesUI();

            return(!MissingResultsFiles.Any());
        }