Merge branch 'master' into dev

This commit is contained in:
jhdxr
2017-10-21 15:11:53 +08:00
9 changed files with 140 additions and 66 deletions

View File

@@ -8,7 +8,17 @@ class HelloWorld(Wox):
results = []
results.append({
"Title": "Hello World",
"SubTitle": "Query: {}".format(query),
"SubTitle": "Query: {}".format(query),
"IcoPath":"Images/app.ico",
"ContextData": "ctxData"
})
return results
def context_menu(self, data):
results = []
results.append({
"Title": "Context menu entry",
"SubTitle": "Data: {}".format(data),
"IcoPath":"Images/app.ico"
})
return results

View File

@@ -204,25 +204,30 @@ namespace Wox.Plugin.Program.Programs
private static IEnumerable<string> ProgramPaths(string directory, string[] suffixes)
{
if (Directory.Exists(directory))
if (!Directory.Exists(directory))
return new string[] { };
var ds = Directory.GetDirectories(directory);
var paths = ds.SelectMany(d =>
{
IEnumerable<string> files;
try
{
files = Directory.EnumerateFiles(directory, "*", SearchOption.AllDirectories);
var paths_for_suffixes = suffixes.SelectMany(s =>
{
var pattern = $"*.{s}";
var ps = Directory.EnumerateFiles(d, pattern, SearchOption.AllDirectories);
return ps;
});
return paths_for_suffixes;
}
catch (Exception e) when (e is SecurityException || e is UnauthorizedAccessException)
{
Log.Exception($"|Program.Win32.ProgramPaths|Can't parse directory <{directory}>", e);
return new string[] { };
Log.Exception($"|Program.Win32.ProgramPaths|Don't have permission on <{directory}>", e);
return new List<string>();
}
files = files.Where(f => suffixes.Contains(Extension(f)));
return files;
}
else
{
return new string[] { };
}
});
return paths;
}
private static string Extension(string path)