/// <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; }
/// <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); }
/// <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; }
public ExternalCommandDetailsViewModel(ExternalCommandDefinition definition, IExternalCommandLanguage externalCommandLanguage) { Definition = definition; ExternalCommandLanguage = externalCommandLanguage; }