示例#1
0
        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();
        }
示例#2
0
 private void OpenFile(FileContentSearchResult searchResult)
 {
     try
     {
         Process.Start(searchResult.FullPath);
     }
     catch (Exception e)
     {
         Debug.WriteLine(e);
     }
 }
示例#3
0
 private void CopyPath(FileContentSearchResult searchResult)
 {
     try
     {
         Clipboard.SetText(new Uri(searchResult.FullPath).LocalPath);
     }
     catch (Exception e)
     {
         Debug.WriteLine(e);
     }
 }
示例#4
0
        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);
            }
        }
示例#5
0
        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_);
            }
        }
示例#6
0
 public PreviewViewModel(FileContentSearchResult searchResult, string content)
 {
     Content = content;
 }