Example #1
0
        public void Add(IApplicationCollection applications)
        {
            foreach (AdditionalApplicationModel model in settings.AdditionalApplications)
            {
                IApplicationBuilder builder = applications.Add(
                    model.Name,
                    model.Path,
                    null,
                    model.Arguments,
                    model.IsAdministratorRequired,
                    IconExtractor.Get(model.Path),
                    model.HotKey,
                    false
                    );

                foreach (AdditionalApplicationModel commandModel in model.Commands)
                {
                    builder.AddCommand(
                        commandModel.Name,
                        commandModel.Path,
                        null,
                        commandModel.Arguments,
                        commandModel.IsAdministratorRequired,
                        commandModel.HotKey
                        );
                }
            }
        }
 public static void AddExperimentalCommand(IApplicationBuilder builder, string filePath)
 {
     builder.AddCommand(
         "Run experimental",
         filePath,
         "/rootsuffix Exp",
         "/rootsuffix Exp {FilePath}",
         false,
         Key.E
         );
 }
 public static void AddAdministratorCommand(IApplicationBuilder builder, string filePath)
 {
     builder.AddCommand(
         "Run as Administrator",
         filePath,
         null,
         null,
         true,
         Key.A
         );
 }
        public void Add(IApplicationCollection applications)
        {
            string rawValue = Settings.Default.AdditionalApplications;

            if (!String.IsNullOrEmpty(rawValue))
            {
                AdditionalApplicationCollection collection = Converts
                                                             .To <string, AdditionalApplicationCollection>(rawValue);

                foreach (AdditionalApplicationModel model in collection.Items)
                {
                    IApplicationBuilder builder = applications.Add(model.Name, model.Path, model.Arguments, IconExtractor.Get(model.Path), model.HotKey, false);
                    foreach (AdditionalApplicationModel commandModel in model.Commands)
                    {
                        builder.AddCommand(commandModel.Name, commandModel.Path, commandModel.Arguments, commandModel.HotKey);
                    }
                }
            }
        }
Example #5
0
        public void Add(IApplicationCollection applications)
        {
            List <(string suffix, IFile file)> files = new List <(string suffix, IFile file)>();

            foreach (var search in EnumerateProgramFolders())
            {
                IDirectory directory = search
                                       .directory
                                       .FindDirectories(TextSearch.CreateMatched("Microsoft VS Code"))
                                       .FirstOrDefault();

                if (directory == null)
                {
                    continue;
                }

                IFile file = directory
                             .WithFileEnumerator()
                             .FirstOrDefault(f => f.Name == "Code" && f.Extension == "exe");

                if (file == null)
                {
                    continue;
                }

                files.Add((search.suffix, file));
            }

            if (files.Count == 0)
            {
                return;
            }

            foreach (var search in files)
            {
                string          filePath = search.file.WithAbsolutePath().AbsolutePath;
                FileVersionInfo version  = FileVersionInfo.GetVersionInfo(filePath);

                IApplicationBuilder builder = applications.Add(
                    String.Format(
                        "VS Code{0} {1}",
                        files.Count == 1
                            ? String.Empty
                            : " " + search.suffix,
                        VersionFormatter.Format(version)
                        ),
                    new Version(version.FileMajorPart, version.FileMinorPart),
                    filePath,
                    null,
                    "{DirectoryPath}",
                    false,
                    IconExtractor.Get(filePath),
                    Key.None,
                    true
                    );

                builder.AddCommand(
                    "Run as Administrator",
                    filePath,
                    null,
                    null,
                    true,
                    Key.A
                    );
            }
        }