PowerToys/Wox.Plugin.System/WebSearchPlugin.cs

46 lines
1.4 KiB
C#
Raw Normal View History

using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Linq;
using Newtonsoft.Json;
using Wox.Infrastructure;
using Wox.Infrastructure.UserSettings;
namespace Wox.Plugin.System
{
public class WebSearchPlugin : BaseSystemPlugin
{
protected override List<Result> QueryInternal(Query query)
{
List<Result> results = new List<Result>();
if (string.IsNullOrEmpty(query.ActionName)) return results;
WebSearch webSearch =
2014-02-02 16:15:34 +08:00
CommonStorage.Instance.UserSetting.WebSearches.FirstOrDefault(o => o.ActionWord == query.ActionName && o.Enabled);
if (webSearch != null)
{
string keyword = query.ActionParameters.Count > 0 ? query.RawQuery.Substring(query.RawQuery.IndexOf(' ') + 1) : "";
results.Add(new Result()
{
2014-02-02 16:15:34 +08:00
Title = string.Format("Search {0} for \"{1}\"", webSearch.Title, keyword),
2014-03-02 11:29:14 +08:00
Score = 6,
IcoPath = webSearch.IconPath,
2014-02-28 23:21:01 +08:00
Action = (c) =>
{
Process.Start(webSearch.Url.Replace("{q}", keyword));
return true;
}
});
}
return results;
}
protected override void InitInternal(PluginInitContext context)
{
}
}
}