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)); } } } }
public override void OpenFile(OpenFileArgs args) { string tempFolder = Path.Combine(Utils.GetTempFolder(), "dnGREP-Archive", Utils.GetHash(args.SearchResult.FileNameReal)); string innerFileName = args.SearchResult.FileNameDisplayed.Substring(args.SearchResult.FileNameReal.Length).TrimStart(Path.DirectorySeparatorChar); string filePath = Path.Combine(tempFolder, innerFileName); if (!File.Exists(filePath)) { // use the directory name to also include folders within the archive string directory = Path.GetDirectoryName(filePath); if (!Directory.Exists(directory)) { Directory.CreateDirectory(directory); } string zipFile = args.SearchResult.FileNameReal; if (zipFile.Length > 260 && !zipFile.StartsWith(@"\\?\")) { zipFile = @"\\?\" + zipFile; } using (SevenZipExtractor extractor = new SevenZipExtractor(zipFile)) { if (extractor.ArchiveFileData.Where(r => r.FileName == innerFileName && !r.IsDirectory).Any()) { using (FileStream stream = File.Open(filePath, FileMode.Create, FileAccess.Write, FileShare.None)) { try { extractor.ExtractFile(innerFileName, stream); } catch { args.UseBaseEngine = true; } } } } } 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 override void OpenFile(OpenFileArgs args) { try { throw new NotImplementedException(); } catch (Exception ex) { MessageBox.Show($"Failed to open {args.FileName}"); LogError("Not Implemented!", ex); } }
public static void HandleFile(IEnumerable <Plugin> handlers, OpenFileArgs args) { var window = new OpenWithDialog(); if (!App.Settings.DefaultHandlers.ContainsKey(args.FileTypeKey)) { App.Settings.DefaultHandlers.Add(args.FileTypeKey, handlers.First().Key); } window.LoadList(handlers, args); window.Owner = Application.Current.MainWindow; window.ShowDialog(); }
public override void OpenFile(OpenFileArgs args) { if (args.File.Any(i => i is IIndexItem)) { var item = args.File.OfType <IIndexItem>().FirstOrDefault(); var tabId = $"{Key}::{item.CacheFile.FileName}::{item.Id}"; InitViewer(tabId, args, v => v.LoadMetadata(item, GetDefinitionPath(item))); } else if (args.File.Any(i => i is ModuleItem)) { var item = args.File.OfType <ModuleItem>().FirstOrDefault(); var tabId = $"{Key}::{item.Module.FileName}::{item.GlobalTagId}"; InitViewer(tabId, args, v => v.LoadMetadata(item, GetDefinitionPath(item))); } }
private void InitViewer(string tabId, OpenFileArgs args, Action <Controls.MetaViewer> loadAction) { if (Substrate.ShowTabById(tabId)) { return; } var viewer = new Controls.MetaViewer(); viewer.TabModel.ContentId = tabId; loadAction(viewer); var container = args.TargetWindow.DocumentPanel; container.AddItem(viewer.TabModel); }
public override bool CanOpenFile(OpenFileArgs args) { var match = Regex.Match(args.FileTypeKey, @"Blam\.(\w+)\.(.*)"); if (!match.Success) { return(false); } CacheType cacheType; if (Enum.TryParse(match.Groups[1].Value, out cacheType)) { var item = args.File.OfType <IIndexItem>().FirstOrDefault(); if (item == null) { return(false); } try { return(!string.IsNullOrEmpty(GetDefinitionPath(item))); } catch { return(false); } } ModuleType moduleType; if (Enum.TryParse(match.Groups[1].Value, out moduleType)) { var item = args.File.OfType <ModuleItem>().FirstOrDefault(); if (item == null) { return(false); } var xml = GetDefinitionPath(item); return(File.Exists(xml)); } return(false); }
private void LoadList(IEnumerable <Plugin> handlers, OpenFileArgs args) { this.args = args; Title = $"Open With - {Utils.GetFileName(args.FileName)}"; var defaultHandler = App.Settings.DefaultHandlers[args.FileTypeKey]; FileHandlers.Clear(); foreach (var p in handlers.OrderBy(p => p.Name)) { var isDefault = p.Key == defaultHandler; var item = Tuple.Create(p, p.Name + (isDefault ? " (Default)" : string.Empty)); FileHandlers.Add(item); if (isDefault) { list.SelectedIndex = FileHandlers.Count - 1; } } }
/// <summary> /// When clicked, proceed to the analysis step. /// </summary> /// <param name="sender">Framework element.</param> /// <param name="e">Routed event args</param> private void OnRunClicked(object sender, RoutedEventArgs e) { // Store BLAST parameters this.blastArgs = null; if (this.blastEnabledCheckBox.IsChecked.Value) { this.blastArgs = new UniVecParameters(); this.blastArgs.Database = ((ComboBoxItem)this.comboBlastDb.SelectedItem).Content as string; this.blastArgs.NumInputSequences = Convert.ToInt32(this.textBlastMaxSequences.Text); } OpenFileArgs runArgs = new OpenFileArgs(this.input, this.sequenceCheckBox.IsChecked.Value, this.qualityScoreCheckBox.IsChecked.Value, blastArgs, ((ComboBoxItem)this.comboFastqType.SelectedItem).Content.ToString()); // Hide this wondow this.Visibility = System.Windows.Visibility.Hidden; if (this.PrepareRun != null) { this.PrepareRun(sender, runArgs); } }
public override void OpenFile(OpenFileArgs args) { args.UseCustomEditor = false; Utils.OpenFile(args); }
public virtual void OpenFile(OpenFileArgs args) { Utils.OpenFile(args); }
public override void OpenFile(OpenFileArgs args) { Utils.OpenFile(args); }
public override bool CanOpenFile(OpenFileArgs args) { return(true); }
public override void OpenFile(OpenFileArgs args) { throw new NotImplementedException(); }