Enable multiple action keywords

See issue #352
This commit is contained in:
bao-qian
2015-11-04 22:49:40 +00:00
parent 59a4abff7c
commit a07d6aa1e7
25 changed files with 95 additions and 112 deletions

View File

@@ -72,6 +72,10 @@ namespace Wox.Core.Plugin
{
metadata = JsonConvert.DeserializeObject<PluginMetadata>(File.ReadAllText(configPath));
metadata.PluginDirectory = pluginDirectory;
// for plugins which doesn't has ActionKeywords key
metadata.ActionKeywords = metadata.ActionKeywords ?? new[] {metadata.ActionKeyword};
// for plugin still use old ActionKeyword
metadata.ActionKeyword = metadata.ActionKeywords?[0];
}
catch (System.Exception)
{
@@ -112,9 +116,10 @@ namespace Wox.Core.Plugin
//replace action keyword if user customized it.
var customizedPluginConfig = UserSettingStorage.Instance.CustomizedPluginConfigs.FirstOrDefault(o => o.ID == metadata.ID);
if (customizedPluginConfig != null && !string.IsNullOrEmpty(customizedPluginConfig.Actionword))
if (customizedPluginConfig?.ActionKeywords?.Length > 0)
{
metadata.ActionKeyword = customizedPluginConfig.Actionword;
metadata.ActionKeywords = customizedPluginConfig.ActionKeywords;
metadata.ActionKeyword = customizedPluginConfig.ActionKeywords[0]; //todo reenable
}
return metadata;