diff --git a/GreenshotExternalCommandPlugin/ExternalCommandPlugin.cs b/GreenshotExternalCommandPlugin/ExternalCommandPlugin.cs
index 13d1868d1..9389705b8 100644
--- a/GreenshotExternalCommandPlugin/ExternalCommandPlugin.cs
+++ b/GreenshotExternalCommandPlugin/ExternalCommandPlugin.cs
@@ -29,134 +29,158 @@ using GreenshotPlugin.IniFile;
using GreenshotPlugin.Interfaces;
using GreenshotPlugin.Interfaces.Plugin;
-namespace GreenshotExternalCommandPlugin {
- ///
- /// An Plugin to run commands after an image was written
- ///
+namespace GreenshotExternalCommandPlugin
+{
+ ///
+ /// An Plugin to run commands after an image was written
+ ///
[Plugin("ExternalCommand", true)]
- public class ExternalCommandPlugin : IGreenshotPlugin {
- private static readonly log4net.ILog Log = log4net.LogManager.GetLogger(typeof(ExternalCommandPlugin));
- private static readonly CoreConfiguration CoreConfig = IniConfig.GetIniSection();
- private static readonly ExternalCommandConfiguration ExternalCommandConfig = IniConfig.GetIniSection();
- private ToolStripMenuItem _itemPlugInRoot;
+ public class ExternalCommandPlugin : IGreenshotPlugin
+ {
+ private static readonly log4net.ILog Log = log4net.LogManager.GetLogger(typeof(ExternalCommandPlugin));
+ private static readonly CoreConfiguration CoreConfig = IniConfig.GetIniSection();
+ private static readonly ExternalCommandConfiguration ExternalCommandConfig = IniConfig.GetIniSection();
+ private ToolStripMenuItem _itemPlugInRoot;
- public void Dispose() {
- Dispose(true);
- GC.SuppressFinalize(this);
- }
+ public void Dispose()
+ {
+ Dispose(true);
+ GC.SuppressFinalize(this);
+ }
- protected virtual void Dispose(bool disposing)
+ protected virtual void Dispose(bool disposing)
{
if (!disposing) return;
if (_itemPlugInRoot == null) return;
_itemPlugInRoot.Dispose();
_itemPlugInRoot = null;
}
- private IEnumerable Destinations() {
- foreach(string command in ExternalCommandConfig.Commands) {
- yield return new ExternalCommandDestination(command);
- }
- }
+ private IEnumerable Destinations()
+ {
+ foreach (string command in ExternalCommandConfig.Commands)
+ {
+ yield return new ExternalCommandDestination(command);
+ }
+ }
- ///
- /// Check and eventually fix the command settings
- ///
- ///
- /// false if the command is not correctly configured
- private bool IsCommandValid(string command) {
- if (!ExternalCommandConfig.RunInbackground.ContainsKey(command)) {
- Log.WarnFormat("Found missing runInbackground for {0}", command);
- // Fix it
- ExternalCommandConfig.RunInbackground.Add(command, true);
- }
- if (!ExternalCommandConfig.Argument.ContainsKey(command)) {
- Log.WarnFormat("Found missing argument for {0}", command);
- // Fix it
- ExternalCommandConfig.Argument.Add(command, "{0}");
- }
- if (!ExternalCommandConfig.Commandline.ContainsKey(command)) {
- Log.WarnFormat("Found missing commandline for {0}", command);
- return false;
- }
- string commandline = FilenameHelper.FillVariables(ExternalCommandConfig.Commandline[command], true);
- commandline = FilenameHelper.FillCmdVariables(commandline, true);
+ ///
+ /// Check and eventually fix the command settings
+ ///
+ ///
+ /// false if the command is not correctly configured
+ private bool IsCommandValid(string command)
+ {
+ if (!ExternalCommandConfig.RunInbackground.ContainsKey(command))
+ {
+ Log.WarnFormat("Found missing runInbackground for {0}", command);
+ // Fix it
+ ExternalCommandConfig.RunInbackground.Add(command, true);
+ }
+ if (!ExternalCommandConfig.Argument.ContainsKey(command))
+ {
+ Log.WarnFormat("Found missing argument for {0}", command);
+ // Fix it
+ ExternalCommandConfig.Argument.Add(command, "{0}");
+ }
+ if (!ExternalCommandConfig.Commandline.ContainsKey(command))
+ {
+ Log.WarnFormat("Found missing commandline for {0}", command);
+ return false;
+ }
+ string commandline = FilenameHelper.FillVariables(ExternalCommandConfig.Commandline[command], true);
+ commandline = FilenameHelper.FillCmdVariables(commandline, true);
- if (!File.Exists(commandline)) {
- Log.WarnFormat("Found 'invalid' commandline {0} for command {1}", ExternalCommandConfig.Commandline[command], command);
- return false;
- }
+ if (!File.Exists(commandline))
+ {
+ Log.WarnFormat("Found 'invalid' commandline {0} for command {1}", ExternalCommandConfig.Commandline[command], command);
+ return false;
+ }
+ return true;
+ }
+ ///
+ /// Implementation of the IGreenshotPlugin.Initialize
+ ///
+ public virtual bool Initialize()
+ {
+ Log.DebugFormat("Initialize called");
+
+ var commandsToDelete = new List();
+ // Check configuration
+ foreach (string command in ExternalCommandConfig.Commands)
+ {
+ if (!IsCommandValid(command))
+ {
+ commandsToDelete.Add(command);
+ }
+ }
+ // cleanup
+ foreach (string command in commandsToDelete)
+ {
+ ExternalCommandConfig.Delete(command);
+ }
SimpleServiceProvider.Current.AddService(Destinations());
- return true;
- }
- ///
- /// Implementation of the IGreenshotPlugin.Initialize
- ///
- public virtual bool Initialize() {
- Log.DebugFormat("Initialize called");
- List commandsToDelete = new List();
- // Check configuration
- foreach(string command in ExternalCommandConfig.Commands) {
- if (!IsCommandValid(command)) {
- commandsToDelete.Add(command);
- }
- }
-
- // cleanup
- foreach (string command in commandsToDelete) {
- ExternalCommandConfig.Delete(command);
- }
-
- _itemPlugInRoot = new ToolStripMenuItem();
+ _itemPlugInRoot = new ToolStripMenuItem();
_itemPlugInRoot.Click += ConfigMenuClick;
- OnIconSizeChanged(this, new PropertyChangedEventArgs("IconSize"));
- OnLanguageChanged(this, null);
+ OnIconSizeChanged(this, new PropertyChangedEventArgs("IconSize"));
+ OnLanguageChanged(this, null);
- PluginUtils.AddToContextMenu(_itemPlugInRoot);
- Language.LanguageChanged += OnLanguageChanged;
- CoreConfig.PropertyChanged += OnIconSizeChanged;
- return true;
- }
+ PluginUtils.AddToContextMenu(_itemPlugInRoot);
+ Language.LanguageChanged += OnLanguageChanged;
+ CoreConfig.PropertyChanged += OnIconSizeChanged;
+ return true;
+ }
- ///
- /// Fix icon reference
- ///
- ///
- ///
- private void OnIconSizeChanged(object sender, PropertyChangedEventArgs e) {
- if (e.PropertyName == "IconSize") {
- try {
- string exePath = PluginUtils.GetExePath("cmd.exe");
- if (exePath != null && File.Exists(exePath)) {
- _itemPlugInRoot.Image = PluginUtils.GetCachedExeIcon(exePath, 0);
- }
- } catch (Exception ex) {
- Log.Warn("Couldn't get the cmd.exe image", ex);
- }
- }
- }
+ ///
+ /// Fix icon reference
+ ///
+ ///
+ ///
+ private void OnIconSizeChanged(object sender, PropertyChangedEventArgs e)
+ {
+ if (e.PropertyName == "IconSize")
+ {
+ try
+ {
+ string exePath = PluginUtils.GetExePath("cmd.exe");
+ if (exePath != null && File.Exists(exePath))
+ {
+ _itemPlugInRoot.Image = PluginUtils.GetCachedExeIcon(exePath, 0);
+ }
+ }
+ catch (Exception ex)
+ {
+ Log.Warn("Couldn't get the cmd.exe image", ex);
+ }
+ }
+ }
- private void OnLanguageChanged(object sender, EventArgs e) {
- if (_itemPlugInRoot != null) {
- _itemPlugInRoot.Text = Language.GetString("externalcommand", "contextmenu_configure");
- }
- }
+ private void OnLanguageChanged(object sender, EventArgs e)
+ {
+ if (_itemPlugInRoot != null)
+ {
+ _itemPlugInRoot.Text = Language.GetString("externalcommand", "contextmenu_configure");
+ }
+ }
- public virtual void Shutdown() {
- Log.Debug("Shutdown");
- }
+ public virtual void Shutdown()
+ {
+ Log.Debug("Shutdown");
+ }
- private void ConfigMenuClick(object sender, EventArgs eventArgs) {
- Configure();
- }
+ private void ConfigMenuClick(object sender, EventArgs eventArgs)
+ {
+ Configure();
+ }
- ///
- /// Implementation of the IPlugin.Configure
- ///
- public virtual void Configure() {
- Log.Debug("Configure called");
- new SettingsForm().ShowDialog();
- }
- }
+ ///
+ /// Implementation of the IPlugin.Configure
+ ///
+ public virtual void Configure()
+ {
+ Log.Debug("Configure called");
+ new SettingsForm().ShowDialog();
+ }
+ }
}
\ No newline at end of file