Ejemplo n.º 1
0
        /// <summary>
        /// Read a definition
        /// </summary>
        /// <param name="externalCommandConfiguration">IExternalCommandConfiguration</param>
        /// <param name="command">string</param>
        /// <returns>ExternalCommandDefinition</returns>
        public static ExternalCommandDefinition Read(this IExternalCommandConfiguration externalCommandConfiguration,
                                                     string command)
        {
            var definition = new ExternalCommandDefinition
            {
                Name    = command,
                Command = externalCommandConfiguration.Commandline[command]
            };

            if (externalCommandConfiguration.Argument.ContainsKey(command))
            {
                definition.Arguments = externalCommandConfiguration.Argument[command];
            }
            if (externalCommandConfiguration.Behaviors.ContainsKey(command))
            {
                definition.CommandBehavior = externalCommandConfiguration.Behaviors[command];
            }

            // Convert old values
            if (externalCommandConfiguration.RunInbackground.ContainsKey(command))
            {
                var runInBackground = externalCommandConfiguration.RunInbackground[command];
                if (runInBackground)
                {
                    definition.CommandBehavior |= CommandBehaviors.DeleteOnExit | CommandBehaviors.ProcessReturncode;
                }
            }

            return(definition);
        }
 public ExternalCommandDestination(ExternalCommandDefinition defintion,
                                   IExternalCommandConfiguration externalCommandConfiguration,
                                   ICoreConfiguration coreConfiguration,
                                   IGreenshotLanguage greenshotLanguage
                                   ) : base(coreConfiguration, greenshotLanguage)
 {
     _externalCommandDefinition    = defintion;
     _externalCommandConfiguration = externalCommandConfiguration;
 }
Ejemplo n.º 3
0
        /// <summary>
        /// Retrieve the icon for a command
        /// </summary>
        /// <param name="externalCommandDefinition">string</param>
        /// <param name="useLargeIcons">true to use the large icon</param>
        /// <returns>Bitmap</returns>
        public static Bitmap IconForCommand(ExternalCommandDefinition externalCommandDefinition, bool useLargeIcons)
        {
            Bitmap icon = null;

            if (externalCommandDefinition == null)
            {
                return(null);
            }
            if (!File.Exists(externalCommandDefinition.Command))
            {
                return(null);
            }
            try
            {
                icon = PluginUtils.GetCachedExeIcon(externalCommandDefinition.Command, 0, useLargeIcons);
            }
            catch (Exception ex)
            {
                Log.Warn().WriteLine(ex, "Problem loading icon for " + externalCommandDefinition.Command);
            }
            return(icon);
        }
Ejemplo n.º 4
0
 /// <summary>
 /// Read a definition
 /// </summary>
 /// <param name="externalCommandConfiguration">IExternalCommandConfiguration</param>
 /// <param name="definition">ExternalCommandDefinition</param>
 public static void Write(this IExternalCommandConfiguration externalCommandConfiguration, ExternalCommandDefinition definition)
 {
     externalCommandConfiguration.Delete(definition.Name);
     externalCommandConfiguration.Commands.Add(definition.Name);
     externalCommandConfiguration.Commandline[definition.Name] = definition.Command;
     externalCommandConfiguration.Argument[definition.Name]    = definition.Arguments;
     externalCommandConfiguration.Behaviors[definition.Name]   = definition.CommandBehavior;
 }
Ejemplo n.º 5
0
 public ExternalCommandDetailsViewModel(ExternalCommandDefinition definition, IExternalCommandLanguage externalCommandLanguage)
 {
     Definition = definition;
     ExternalCommandLanguage = externalCommandLanguage;
 }