public static void OpenFile(OpenFileArgs args) { if (args == null) { throw new ArgumentNullException(nameof(args)); } string filePath = ExtractToTempFile(args.SearchResult); if (Utils.IsPdfFile(filePath) || Utils.IsWordFile(filePath) || Utils.IsExcelFile(filePath)) { args.UseCustomEditor = false; } GrepSearchResult newResult = new GrepSearchResult { FileNameReal = args.SearchResult.FileNameReal, FileNameDisplayed = args.SearchResult.FileNameDisplayed }; OpenFileArgs newArgs = new OpenFileArgs(newResult, args.Pattern, args.LineNumber, args.FirstMatch, args.ColumnNumber, args.UseCustomEditor, args.CustomEditor, args.CustomEditorArgs); newArgs.SearchResult.FileNameDisplayed = filePath; Utils.OpenFile(newArgs); }
public virtual void OpenFile(OpenFileArgs args) { Utils.OpenFile(args); }
public override void OpenFile(OpenFileArgs args) { args.UseCustomEditor = false; Utils.OpenFile(args); }
public void OpenFile(FormattedGrepResult result, bool useCustomEditor) { try { // Line was selected int lineNumber = 0; 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); } }
public override void OpenFile(OpenFileArgs args) { SevenZipExtractor extractor = new SevenZipExtractor(args.SearchResult.FileNameReal); string tempFolder = Utils.FixFolderName(Utils.GetTempFolder()) + "dnGREP-Archive\\" + Utils.GetHash(args.SearchResult.FileNameReal) + "\\"; if (!Directory.Exists(tempFolder)) { Directory.CreateDirectory(tempFolder); try { extractor.ExtractArchive(tempFolder); } catch { args.UseBaseEngine = true; } } GrepSearchResult newResult = new GrepSearchResult(); newResult.FileNameReal = args.SearchResult.FileNameReal; newResult.FileNameDisplayed = args.SearchResult.FileNameDisplayed; OpenFileArgs newArgs = new OpenFileArgs(newResult, args.Pattern, args.LineNumber, args.UseCustomEditor, args.CustomEditor, args.CustomEditorArgs); newArgs.SearchResult.FileNameDisplayed = tempFolder + args.SearchResult.FileNameDisplayed.Substring(args.SearchResult.FileNameReal.Length + 1); Utils.OpenFile(newArgs); }
private void openToolStripMenuItem_Click(object sender, EventArgs e) { TreeNode selectedNode = tvSearchResult.SelectedNode; if (selectedNode != null) { // Line was selected int lineNumber = 0; if (selectedNode.Parent != null) { if (selectedNode.Tag != null && selectedNode.Tag is int) { lineNumber = (int)selectedNode.Tag; } selectedNode = selectedNode.Parent; } if (selectedNode != null && selectedNode.Tag != null) { GrepSearchResult result = (GrepSearchResult)selectedNode.Tag; OpenFileArgs fileArg = new OpenFileArgs(result, lineNumber, Properties.Settings.Default.UseCustomEditor, Properties.Settings.Default.CustomEditor, Properties.Settings.Default.CustomEditorArgs); dnGREP.Engines.GrepEngineFactory.GetSearchEngine(result.FileNameReal, false, 0, 0).OpenFile(fileArg); if (fileArg.UseBaseEngine) Utils.OpenFile(new OpenFileArgs(result, lineNumber, Properties.Settings.Default.UseCustomEditor, Properties.Settings.Default.CustomEditor, Properties.Settings.Default.CustomEditorArgs)); } } }