public void ScrollToSearchResult(FileContentSearchResult searchResult) { ContentTextBox.ScrollToLine(searchResult.Line); var index = LineCounter.GetCharacterIndex(ContentTextBox.Text, searchResult.Line, searchResult.Column); var contentLength = ContentTextBox.Text.Length; ContentTextBox.Select(index, searchResult.Query.Expression.Length); ContentTextBox.Focus(); }
private void OpenFile(FileContentSearchResult searchResult) { try { Process.Start(searchResult.FullPath); } catch (Exception e) { Debug.WriteLine(e); } }
private void CopyPath(FileContentSearchResult searchResult) { try { Clipboard.SetText(new Uri(searchResult.FullPath).LocalPath); } catch (Exception e) { Debug.WriteLine(e); } }
private void RevealInExplorer(FileContentSearchResult searchResult) { var filePath = searchResult.FullPath; if (!File.Exists(filePath)) { MessageBox.Show($"File {filePath} does not exist"); return; } if (Path.GetDirectoryName(filePath) is string directory && Path.GetFileName(filePath) is string fileName) { ExplorerHelper.OpenFolderAndSelectItem(directory, fileName); } }
private async Task ShowPreviewAsync(FileContentSearchResult searchResult) { var content = await GitHelper.GetFileContentAsync(searchResult.Query.RepositoryPath, searchResult.Path, searchResult.Query.Branch); if (content != null) { var viewModel = new PreviewViewModel(searchResult, content); var view = new PreviewView { DataContext = viewModel }; view.Loaded += (o, e) => { view.ScrollToSearchResult(searchResult); }; DialogHelper.ShowDialog(view, searchResult.Path, owner_); } }
public PreviewViewModel(FileContentSearchResult searchResult, string content) { Content = content; }