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

@@ -132,8 +132,10 @@ namespace Wox
public event WoxKeyDownEventHandler BackKeyDownEvent;
public event WoxGlobalKeyboardEventHandler GlobalKeyboardEvent;
public event AfterWoxQueryEventHandler AfterWoxQueryEvent;
public event AfterWoxQueryEventHandler BeforeWoxQueryEvent;
public void PushResults(Query query, PluginMetadata plugin, List<Result> results)
public void PushResults(Query query, PluginMetadata plugin, List<Result> results, bool clearBeforeInsert = false)
{
results.ForEach(o =>
{
@@ -147,7 +149,7 @@ namespace Wox
}
o.OriginQuery = query;
});
OnUpdateResultView(results);
OnUpdateResultView(results, clearBeforeInsert);
}
#endregion
@@ -360,6 +362,7 @@ namespace Wox
}, TimeSpan.FromMilliseconds(100), null);
queryHasReturn = false;
var q = new Query(lastQuery);
FireBeforeWoxQueryEvent(q);
Query(q);
BackToResultMode();
Dispatcher.DelayInvoke("ShowProgressbar", originQuery =>
@@ -369,9 +372,42 @@ namespace Wox
StartProgress();
}
}, TimeSpan.FromMilliseconds(150), lastQuery);
FireAfterWoxQueryEvent(q);
}, TimeSpan.FromMilliseconds(ShouldNotDelayQuery ? 0 : 200));
}
private void FireAfterWoxQueryEvent(Query q)
{
if (AfterWoxQueryEvent != null)
{
//We shouldn't let those events slow down real query
//so I put it in the new thread
ThreadPool.QueueUserWorkItem(o =>
{
AfterWoxQueryEvent(new WoxQueryEventArgs()
{
Query = q
});
});
}
}
private void FireBeforeWoxQueryEvent(Query q)
{
if (BeforeWoxQueryEvent != null)
{
//We shouldn't let those events slow down real query
//so I put it in the new thread
ThreadPool.QueueUserWorkItem(o =>
{
BeforeWoxQueryEvent(new WoxQueryEventArgs()
{
Query = q
});
});
}
}
private void Query(Query q)
{
try
@@ -532,7 +568,7 @@ namespace Wox
case Key.Back:
if (BackKeyDownEvent != null)
{
BackKeyDownEvent(tbQuery, new WoxKeyDownEventArgs()
BackKeyDownEvent(new WoxKeyDownEventArgs()
{
Query = tbQuery.Text,
keyEventArgs = e
@@ -623,7 +659,7 @@ namespace Wox
}
}
private void OnUpdateResultView(List<Result> list)
private void OnUpdateResultView(List<Result> list, bool clearBeforeInsert = false)
{
queryHasReturn = true;
progressBar.Dispatcher.Invoke(new Action(StopProgress));
@@ -639,8 +675,13 @@ namespace Wox
});
List<Result> l = list.Where(o => o.OriginQuery != null && o.OriginQuery.RawQuery == lastQuery).ToList();
Dispatcher.Invoke(new Action(() =>
pnlResult.AddResults(l))
);
{
if (clearBeforeInsert)
{
pnlResult.Clear();
}
pnlResult.AddResults(l);
}));
}
}

View File

@@ -72,14 +72,14 @@
</Reference>
<Reference Include="Newtonsoft.Json, Version=6.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\packages\Newtonsoft.Json.6.0.7\lib\net35\Newtonsoft.Json.dll</HintPath>
<HintPath>..\packages\Newtonsoft.Json.6.0.8\lib\net35\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="NHotkey">
<HintPath>..\packages\NHotkey.1.1.0.0\lib\NHotkey.dll</HintPath>
<Private>True</Private>
<Reference Include="NHotkey, Version=1.2.1.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\packages\NHotkey.1.2.1\lib\net20\NHotkey.dll</HintPath>
</Reference>
<Reference Include="NHotkey.Wpf">
<HintPath>..\packages\NHotkey.Wpf.1.1.0.0\lib\NHotkey.Wpf.dll</HintPath>
<HintPath>..\packages\NHotkey.Wpf.1.2.1\lib\net35\NHotkey.Wpf.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="PresentationFramework.Classic" />

View File

@@ -2,8 +2,8 @@
<packages>
<package id="InputSimulator" version="1.0.4.0" targetFramework="net35" />
<package id="log4net" version="2.0.3" targetFramework="net35" />
<package id="Newtonsoft.Json" version="6.0.7" targetFramework="net35" />
<package id="NHotkey" version="1.1.0.0" targetFramework="net35" />
<package id="NHotkey.Wpf" version="1.1.0.0" targetFramework="net35" />
<package id="Newtonsoft.Json" version="6.0.8" targetFramework="net35" />
<package id="NHotkey" version="1.2.1" targetFramework="net35" />
<package id="NHotkey.Wpf" version="1.2.1" targetFramework="net35" />
<package id="SharpZipLib" version="0.86.0" targetFramework="net35" />
</packages>