protected override List<Model.Result> DoQuery(Model.Query query) { WebSearchEngine webSearchEngine = UserSetting.Instance.WebSearchEngines.FirstOrDefault(o => o.ActionWord == query.ActionName); List<Result> results = new List<Result>(); if (webSearchEngine != null) { string searchQuery = query.ActionParameters.Count > 0 ? query.GetExtraQueryText() : ""; string title = searchQuery; string subTitle = webSearchEngine.Title + " Search"; if (string.IsNullOrEmpty(searchQuery)) { title = subTitle; subTitle = null; } results.Add(new Result() { Title = title, SubTitle = subTitle, IconPath = webSearchEngine.IconPath, Score = 1000, Action = () => { Process.Start(webSearchEngine.URL.Replace("{q}", Uri.EscapeDataString(searchQuery))); return true; } }); } return results; }