private void RefreshMessageDetail(LogListViewItem listItem, bool forceRefresh) { if (listItem == null) { logMessageEdit.Text = String.Empty; currentItemStatus.Text = String.Empty; currentLineStatus.Text = String.Empty; return; } if (logMessageEdit.Visible) { if (forceRefresh || prevSelectedListItem == null || prevSelectedListItem.Index != listItem.Index) { LogEntry logEntry = listItem.LogItem; logMessageEdit.Text = ""; logMessageEdit.SelectionColor = SystemColors.GrayText; logMessageEdit.AppendText(logParser.GetFormattedMessageDetailHeader(logEntry)); logMessageEdit.SelectionColor = SystemColors.WindowText; logMessageEdit.AppendText(logEntry.Message); if (settings.MainFormUI.EnableHighlights) { ColorHighlightManager.CurrentGroup.HighlightTextInMessageDetail(logMessageEdit); } logMessageEdit.SelectionStart = 0; logMessageEdit.SelectionLength = 0; } } currentItemStatus.Text = "Current item: " + (listItem.Index + 1).ToString(); currentLineStatus.Text = "Line: " + listItem.LogItem.LineInFile; }
private void openInExternalTextEditorToolStripMenuItem_Click(object sender, EventArgs e) { LogListViewItem item = GetSelectedListItem(); if (item == null) { return; } OpenLogFileInTextEditor(item.LogItem.LineInFile); }
private void GoToSameTimeInAnotherLog(Guid anotherLogID) { LogListViewItem selectedItem = GetSelectedListItem(); if (selectedItem == null) { return; } this.CommManager.GoToTimeInAnotherLog(anotherLogID, selectedItem.LogItem.Date); }
public void JumpToSameNearestType(bool down) { LogListViewItem item = this.GetSelectedListItem(); if (item == null) { return; } LogEntry selectedEntry = item.LogItem; int selectedIdx = owner.LogEntries.IndexOf(selectedEntry); if (selectedIdx < 0) { return; } if (down) { for (int i = selectedIdx + 1; i < owner.LogEntries.Count; i++) { LogEntry entry = owner.LogEntries[i]; if (entry.LogType == selectedEntry.LogType) { this.GoToLogItem(entry); break; } } } else { for (int i = selectedIdx - 1; i > -1; i--) { LogEntry entry = owner.LogEntries[i]; if (entry.LogType == selectedEntry.LogType) { this.GoToLogItem(entry); break; } } } }
public void Find(bool searchDown) { LogListViewItem selectedItem = this.context.GetLogItem(GetLogListItemType.Selected); if (selectedItem == null) { return; } if (logHasBeenChanged || foundEntries == null) { this.foundEntries = FindItemsMatchingToSearchCriteria(); logHasBeenChanged = false; ReflectChangesInFoundList(); } if (this.foundEntries.Count == 0) { SetStatusText("Entered text wasn't found.", Color.Red); } else { Color statusColor = Color.Green; LogEntry logEntry = null; int i = foundEntries.IndexOf(selectedItem.LogItem); if (i == -1) { i = searchDown ? -1 : foundEntries.Count; } else { if (TryHighlightNextOccurenceInMessageDetail()) { return; } } bool found = false; if (searchDown) { while (i + 1 < foundEntries.Count) { i++; logEntry = foundEntries[i]; if (logEntry.LineInFile > selectedItem.LogItem.LineInFile) { found = true; break; } } } else { while (i - 1 >= 0) { i--; logEntry = foundEntries[i]; if (logEntry.LineInFile < selectedItem.LogItem.LineInFile) { found = true; break; } } } string currentStatusText; if (found) { context.GoToLogItem(logEntry); currentStatusText = String.Format("Selected {0} of {1}", i + 1, foundEntries.Count); TryHighlightNextOccurenceInMessageDetail(); } else { statusColor = Color.DarkOrange; currentStatusText = searchDown ? "Nothing, click on Find prev" : "Nothing, click on Find next"; } SetStatusText(String.Format("Found {0} results.{1}{2}", foundEntries.Count, Environment.NewLine, currentStatusText), statusColor); } }