Add query history plugin & upgrade all third-party packages

This commit is contained in:
qianlifeng
2015-01-18 18:21:48 +08:00
parent 9d39b616f9
commit b49209a0d9
34 changed files with 445 additions and 51 deletions

View File

@@ -0,0 +1,51 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
namespace Wox.Plugin.QueryHistory
{
public class QueryHistory : IPlugin
{
private PluginInitContext context;
public List<Result> Query(Query query)
{
var histories = QueryHistoryStorage.Instance.GetHistory();
string filter = query.GetAllRemainingParameter();
if (!string.IsNullOrEmpty(filter))
{
histories = histories.Where(o => o.Query.Contains(filter)).ToList();
}
return histories.Select(history => new Result()
{
Title = history.Query,
SubTitle = history.GetTimeAgo(),
IcoPath = "Images\\history.png",
Action = _ =>
{
context.API.ChangeQuery(history.Query);
return false;
}
}).ToList();
}
public void Init(PluginInitContext context)
{
this.context = context;
context.API.AfterWoxQueryEvent += API_AfterWoxQueryEvent;
context.API.BeforeWoxQueryEvent += API_BeforeWoxQueryEvent;
}
void API_BeforeWoxQueryEvent(WoxQueryEventArgs e)
{
Thread.Sleep(5000);
}
private void API_AfterWoxQueryEvent(WoxQueryEventArgs e)
{
QueryHistoryStorage.Instance.Add(e.Query.RawQuery);
}
}
}