mirror of
https://github.com/microsoft/PowerToys.git
synced 2026-04-07 11:46:30 +02:00
Add query history plugin & upgrade all third-party packages
This commit is contained in:
@@ -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);
|
||||
}));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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" />
|
||||
|
||||
@@ -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>
|
||||
Reference in New Issue
Block a user