Пример #1
0
        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);
        }
Пример #2
0
		public virtual void OpenFile(OpenFileArgs args)
		{
			Utils.OpenFile(args);
		}
Пример #3
0
		public override void OpenFile(OpenFileArgs args)
		{
			args.UseCustomEditor = false;
			Utils.OpenFile(args);
		}
Пример #4
0
 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);
     }
 }
Пример #5
0
		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);
		}
Пример #6
0
		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));
				}
			}
		}