public static bool CheckMacro(Macro m) { if (m == null) { return(false); } foreach (ModelBase item in m.WorkItems) { if (item is PluginModel) { PluginModel pluginItem = (PluginModel)item; string plugin = pluginItem.Plugin; IPhotoTagStudioTaggingPlugin p = PluginView.GetPlugin(plugin); if (p == null) { if (MessageBox.Show("The macro uses a plugin that cannot be found by PhotoTagStudio: " + plugin + "\n\nUse the macro anyway?", "Plugin for macro not found", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == System.Windows.Forms.DialogResult.No) { return(false); } } } } return(true); }
public override bool ProcessFile(PictureMetaData pmd, PluginModel model) { IPhotoTagStudioTaggingPlugin plugin; if (cache.ContainsKey(model.Plugin)) { plugin = cache[model.Plugin]; } else { plugin = PluginView.GetPlugin(model.Plugin); cache.Add(model.Plugin, plugin); } if (plugin != null) { return(plugin.ProcessFile(pmd)); } return(false); }