Exemplo n.º 1
0
        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;
        }