Exemplo n.º 1
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);
        }
Exemplo n.º 2
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));
                    }
                }
            }
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
 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();
        }
Exemplo n.º 6
0
 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)));
     }
 }
Exemplo n.º 7
0
        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);
        }
Exemplo n.º 8
0
        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;
                }
            }
        }
Exemplo n.º 10
0
        /// <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);
            }
        }
Exemplo n.º 11
0
 public override void OpenFile(OpenFileArgs args)
 {
     args.UseCustomEditor = false;
     Utils.OpenFile(args);
 }
Exemplo n.º 12
0
 public virtual void OpenFile(OpenFileArgs args)
 {
     Utils.OpenFile(args);
 }
Exemplo n.º 13
0
 public override void OpenFile(OpenFileArgs args)
 {
     Utils.OpenFile(args);
 }
Exemplo n.º 14
0
 public override bool CanOpenFile(OpenFileArgs args)
 {
     return(true);
 }
Exemplo n.º 15
0
 public override void OpenFile(OpenFileArgs args)
 {
     throw new NotImplementedException();
 }