private async Task PreviousLineMatch() { FormattedGrepResult selectedResult = inputData.SelectedNodes.OfType <FormattedGrepResult>() .Where(n => n != null) .FirstOrDefault(); FormattedGrepLine selectedLine = inputData.SelectedNodes.OfType <FormattedGrepLine>() .Where(n => n != null) .OrderBy(n => n.GrepLine.LineNumber) .FirstOrDefault(); if (selectedResult == null && selectedLine == null) { var lastResult = inputData.LastOrDefault(); if (lastResult != null) { await SelectLastChild(lastResult); } } else if (selectedLine != null) { if (!SelectPreviousLine(selectedLine)) { selectedLine.Parent.IsExpanded = false; await SelectPreviousResult(selectedLine); } } else { await SelectPreviousResult(selectedResult); } }
private void treeDragStarted(UIElement uiElt) { _isMouseDown = false; Mouse.Capture(uiElt); DataObject data = new DataObject(); if (tvSearchResult.SelectedItem is FormattedGrepLine) { FormattedGrepLine selectedNode = (FormattedGrepLine)tvSearchResult.SelectedItem; data.SetData(DataFormats.Text, selectedNode.GrepLine.LineText); } else if (tvSearchResult.SelectedItem is FormattedGrepResult) { FormattedGrepResult result = (FormattedGrepResult)tvSearchResult.SelectedItem; StringCollection files = new StringCollection(); files.Add(result.GrepResult.FileNameReal); data.SetFileDropList(files); } DragDropEffects supportedEffects = DragDropEffects.Move | DragDropEffects.Copy; // Perform DragDrop DragDropEffects effects = System.Windows.DragDrop.DoDragDrop(_draggedElt, data, supportedEffects); // Clean up Mouse.Capture(null); _draggedElt = null; }
private async Task NextFileMatch() { FormattedGrepResult selectedResult = inputData.SelectedNodes.OfType <FormattedGrepResult>() .Where(n => n != null) .LastOrDefault(); FormattedGrepLine selectedLine = inputData.SelectedNodes.OfType <FormattedGrepLine>() .Where(n => n != null) .OrderBy(n => n.GrepLine.LineNumber) .LastOrDefault(); if (selectedResult == null && selectedLine == null) { var firstResult = inputData.FirstOrDefault(); if (firstResult != null) { await SelectFirstChild(firstResult); } } else if (selectedLine != null) { await SelectNextResult(selectedLine); } else { await SelectNextResult(selectedResult.FormattedLines.First()); } }
private void btnCopyNameToClipboard_Click(object sender, RoutedEventArgs e) { if (tvSearchResult.SelectedItem is FormattedGrepLine) { FormattedGrepLine selectedNode = (FormattedGrepLine)tvSearchResult.SelectedItem; Clipboard.SetText(System.IO.Path.GetFileName(selectedNode.Parent.GrepResult.FileNameDisplayed)); } else if (tvSearchResult.SelectedItem is FormattedGrepResult) { FormattedGrepResult result = (FormattedGrepResult)tvSearchResult.SelectedItem; Clipboard.SetText(System.IO.Path.GetFileName(result.GrepResult.FileNameDisplayed)); } }
private void copyToClipboard() { if (tvSearchResult.SelectedItem is FormattedGrepLine) { FormattedGrepLine selectedNode = (FormattedGrepLine)tvSearchResult.SelectedItem; Clipboard.SetText(selectedNode.GrepLine.LineText); } else if (tvSearchResult.SelectedItem is FormattedGrepResult) { FormattedGrepResult result = (FormattedGrepResult)tvSearchResult.SelectedItem; Clipboard.SetText(result.GrepResult.FileNameDisplayed); } }
private void btnExclude_Click(object sender, RoutedEventArgs e) { if (tvSearchResult.SelectedItem is FormattedGrepLine) { FormattedGrepLine selectedNode = (FormattedGrepLine)tvSearchResult.SelectedItem; inputData.Remove(selectedNode.Parent); } else if (tvSearchResult.SelectedItem is FormattedGrepResult) { FormattedGrepResult selectedNode = (FormattedGrepResult)tvSearchResult.SelectedItem; inputData.Remove(selectedNode); } }
private async Task SelectPreviousResult(FormattedGrepLine currentLine) { var grepResult = currentLine.Parent; int idx = inputData.IndexOf(grepResult) - 1; if (idx < 0) { idx = inputData.Count - 1; } var previousResult = inputData[idx]; await SelectLastChild(previousResult); }
private async Task SelectNextResult(FormattedGrepLine currentLine) { var grepResult = currentLine.Parent; int idx = inputData.IndexOf(grepResult) + 1; if (idx >= inputData.Count) { idx = 0; } var nextResult = inputData[idx]; await SelectFirstChild(nextResult); }
private void btnOpenContainingFolder_Click(object sender, RoutedEventArgs e) { if (tvSearchResult.SelectedItem is FormattedGrepLine) { FormattedGrepLine selectedNode = (FormattedGrepLine)tvSearchResult.SelectedItem; //ShellIntegration.OpenFolder(selectedNode.Parent.GrepResult.FileNameReal); Utils.OpenContainingFolder(selectedNode.Parent.GrepResult.FileNameReal, selectedNode.GrepLine.LineNumber); } else if (tvSearchResult.SelectedItem is FormattedGrepResult) { FormattedGrepResult selectedNode = (FormattedGrepResult)tvSearchResult.SelectedItem; //ShellIntegration.OpenFolder(selectedNode.GrepResult.FileNameReal); Utils.OpenContainingFolder(selectedNode.GrepResult.FileNameReal, -1); } }
private void btnShowFileProperties_Click(object sender, RoutedEventArgs e) { string fileName = ""; if (tvSearchResult.SelectedItem is FormattedGrepLine) { FormattedGrepLine selectedNode = (FormattedGrepLine)tvSearchResult.SelectedItem; fileName = selectedNode.Parent.GrepResult.FileNameReal; } else if (tvSearchResult.SelectedItem is FormattedGrepResult) { FormattedGrepResult selectedNode = (FormattedGrepResult)tvSearchResult.SelectedItem; fileName = selectedNode.GrepResult.FileNameReal; } if (fileName != "" && File.Exists(fileName)) { ShellIntegration.ShowFileProperties(fileName); } }
private bool SelectPreviousLine(FormattedGrepLine currentLine) { var grepResult = currentLine.Parent; var previousLine = grepResult.FormattedLines.Where(l => !l.GrepLine.IsContext && l.GrepLine.LineNumber < currentLine.GrepLine.LineNumber) .LastOrDefault(); if (previousLine != null) { var parent = GetTreeViewItemParent(treeView, currentLine); ItemsControl container = parent as ItemsControl ?? treeView; int depth = parent != null ? 1 : 2; var tvi = GetTreeViewItem(container, previousLine, currentLine, SearchDirection.Up, depth); if (tvi != null) { tvi.IsSelected = true; return(true); } } return(false); }
public void PreviewFile(FormattedGrepLine formattedGrepLine, RectangleF parentWindow) { if (PreviewFileContent) { int lineNumber = formattedGrepLine.GrepLine.LineNumber; FormattedGrepResult result = formattedGrepLine.Parent; previewFile(result.GrepResult.FileNameReal, result.GrepResult, lineNumber, parentWindow); } }
public void OpenFile(FormattedGrepLine selectedNode, bool useCustomEditor) { try { // Line was selected int lineNumber = selectedNode.GrepLine.LineNumber; FormattedGrepResult result = selectedNode.Parent; OpenFileArgs fileArg = new OpenFileArgs(result.GrepResult, result.GrepResult.Pattern, lineNumber, useCustomEditor, settings.Get<string>(GrepSettings.Key.CustomEditor), settings.Get<string>(GrepSettings.Key.CustomEditorArgs)); dnGREP.Engines.GrepEngineFactory.GetSearchEngine(result.GrepResult.FileNameReal, new GrepEngineInitParams(false, 0, 0, 0.5)).OpenFile(fileArg); if (fileArg.UseBaseEngine) Utils.OpenFile(new OpenFileArgs(result.GrepResult, result.GrepResult.Pattern, lineNumber, useCustomEditor, settings.Get<string>(GrepSettings.Key.CustomEditor), settings.Get<string>(GrepSettings.Key.CustomEditorArgs))); } catch (Exception ex) { logger.LogException(LogLevel.Error, "Failed to open file.", ex); if (useCustomEditor) MessageBox.Show("There was an error opening file by custom editor. \nCheck editor path via \"Options..\".", "Failure", MessageBoxButton.OK, MessageBoxImage.Error); else MessageBox.Show("There was an error opening file. Please examine the error log.", "Failure", MessageBoxButton.OK, MessageBoxImage.Error); } }