using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace WinAlfred.Plugin.System { public class ThirdpartyPluginIndicator : BaseSystemPlugin { private List allPlugins = new List(); private Action changeQuery; protected override List QueryInternal(Query query) { List results = new List(); if (string.IsNullOrEmpty(query.RawQuery)) return results; foreach (PluginMetadata metadata in allPlugins.Select(o=>o.Metadata)) { if (metadata.ActionKeyword.StartsWith(query.RawQuery)) { PluginMetadata metadataCopy = metadata; Result result = new Result { Title = metadata.ActionKeyword, SubTitle = string.Format("Activate {0} workflow",metadata.Name), Score = 50, IcoPath = "Images/work.png", Action = () => changeQuery(metadataCopy.ActionKeyword + " "), DontHideWinAlfredAfterSelect = true }; results.Add(result); } } return results; } protected override void InitInternal(PluginInitContext context) { allPlugins = context.Plugins; changeQuery = context.ChangeQuery; } } }