public FinderEventArgs(Finder.FindResultItem resultItem, Stats stats, Status status, bool isSilent = false) { ResultItem = resultItem; Stats = stats; Status = status; IsSilent = isSilent; }
public void PrintFinderResultRow(Finder.FindResultItem item, Stats stats) { PrintFileAndEncoding(item); if (item.IsSuccess) { PrintNameValuePair("Matches", item.NumMatches.ToString()); } else { PrintNameValuePair("Error", item.ErrorMessage); } Console.WriteLine(); }
private void ShowFindResult(Finder.FindResultItem findResultItem, Stats stats, Status status) { if (stats.Files.Total != 0) { if (findResultItem.IncludeInResultsList) { gvResults.Rows.Add(); int currentRow = gvResults.Rows.Count - 1; gvResults.Rows[currentRow].ContextMenuStrip = CreateContextMenu(currentRow); int columnIndex = 0; gvResults.Rows[currentRow].Cells[columnIndex++].Value = findResultItem.FileName; gvResults.Rows[currentRow].Cells[columnIndex++].Value = findResultItem.FileRelativePath; if (_lastOperationFormData.ShowEncoding) { gvResults.Rows[currentRow].Cells[columnIndex++].Value = findResultItem.FileEncoding != null ? findResultItem.FileEncoding.WebName : String.Empty; } gvResults.Rows[currentRow].Cells[columnIndex++].Value = findResultItem.NumMatches; gvResults.Rows[currentRow].Cells[columnIndex++].Value = findResultItem.ErrorMessage; gvResults.Rows[currentRow].Resizable = DataGridViewTriState.False; if (findResultItem.IsSuccess && findResultItem.NumMatches > 0) //Account for errors and IncludeFilesWithoutMatches { string fileContent = string.Empty; using (var sr = new StreamReader(findResultItem.FilePath, findResultItem.FileEncoding)) { fileContent = sr.ReadToEnd(); } List <MatchPreviewLineNumber> lineNumbers = Utils.GetLineNumbersForMatchesPreview(fileContent, findResultItem.Matches); gvResults.Rows[currentRow].Cells[columnIndex].Value = GenerateMatchesPreviewText(fileContent, lineNumbers.Select( ln => ln.LineNumber).ToList()); } //Grid likes to select the first row for some reason if (gvResults.Rows.Count == 1) { gvResults.ClearSelection(); } } progressBar.Maximum = stats.Files.Total; progressBar.Value = stats.Files.Processed; lblStatus.Text = "Processing " + stats.Files.Processed + " of " + stats.Files.Total + " files. Last file: " + findResultItem.FileRelativePath; ShowStats(stats); } else { HideResultPanel(); txtNoMatches.Visible = true; HideStats(); } //When last file - enable buttons back if (status == Status.Completed || status == Status.Cancelled) { if (status == Status.Completed) { lblStatus.Text = "Processed " + stats.Files.Processed + " files."; } if (status == Status.Cancelled) { lblStatus.Text = "Operation was cancelled."; } EnableButtons(); } }