fix issues

This commit is contained in:
qianlifeng
2014-01-13 18:43:44 +08:00
parent f7edc853da
commit b6bbd6899e
5 changed files with 38 additions and 12 deletions

View File

@@ -10,7 +10,12 @@ namespace WinAlfred.Commands
{
private MainWindow window;
public abstract void Dispatch(Query query);
public void Dispatch(Query query)
{
Dispatch(query, true);
}
public abstract void Dispatch(Query query, bool updateView);
//TODO:Ugly, we should subscribe events here, instead of just use usercontrol as the parameter
protected BaseCommand(MainWindow window)

View File

@@ -23,5 +23,11 @@ namespace WinAlfred.Commands
systemCmd.Dispatch(query);
pluginCmd.Dispatch(query);
}
public void DispatchCommand(Query query,bool updateView)
{
systemCmd.Dispatch(query,updateView);
pluginCmd.Dispatch(query,updateView);
}
}
}

View File

@@ -20,7 +20,7 @@ namespace WinAlfred.Commands
}
public override void Dispatch(Query q)
public override void Dispatch(Query q,bool updateView)
{
PluginPair thirdPlugin = Plugins.AllPlugins.FirstOrDefault(o => o.Metadata.ActionKeyword == q.ActionName);
if (thirdPlugin != null && !string.IsNullOrEmpty(thirdPlugin.Metadata.ActionKeyword))
@@ -39,7 +39,7 @@ namespace WinAlfred.Commands
o.PluginDirectory = thirdPlugin.Metadata.PluginDirecotry;
o.OriginQuery = q;
});
UpdateResultView(r);
if(updateView) UpdateResultView(r);
}
catch (Exception queryException)
{

View File

@@ -18,7 +18,7 @@ namespace WinAlfred.Commands
systemPlugins = Plugins.AllPlugins.Where(o => o.Metadata.PluginType == PluginType.System).ToList();
}
public override void Dispatch(Query query)
public override void Dispatch(Query query,bool updateView)
{
foreach (PluginPair pair in systemPlugins)
{
@@ -31,7 +31,7 @@ namespace WinAlfred.Commands
result.PluginDirectory = pair1.Metadata.PluginDirecotry;
result.OriginQuery = query;
}
if(results.Count > 0) UpdateResultView(results);
if(results.Count > 0 && updateView) UpdateResultView(results);
});
}
}