From e37217c878a2d2b90359e1c36602e676695db96f Mon Sep 17 00:00:00 2001 From: Alekhya Reddy Date: Wed, 5 Aug 2020 19:30:45 +1000 Subject: [PATCH 001/176] From alekhyareddy28:memoryIssue on Jun 27, 2020 --- .../Image/ImageCache.cs | 40 +++++++++++++++---- .../Image/ImageLoader.cs | 26 ++++++------ 2 files changed, 47 insertions(+), 19 deletions(-) diff --git a/Flow.Launcher.Infrastructure/Image/ImageCache.cs b/Flow.Launcher.Infrastructure/Image/ImageCache.cs index 5d7224c5b..67f008972 100644 --- a/Flow.Launcher.Infrastructure/Image/ImageCache.cs +++ b/Flow.Launcher.Infrastructure/Image/ImageCache.cs @@ -2,17 +2,18 @@ using System; using System.Collections.Concurrent; using System.Collections.Generic; using System.Linq; +using System.Threading.Tasks; using System.Windows.Media; -namespace Flow.Launcher.Infrastructure.Image +namespace Wox.Infrastructure.Image { [Serializable] public class ImageCache { - private const int MaxCached = 5000; + private const int MaxCached = 50; public ConcurrentDictionary Usage = new ConcurrentDictionary(); private readonly ConcurrentDictionary _data = new ConcurrentDictionary(); - + private const int permissibleFactor = 2; public ImageSource this[string path] { @@ -22,14 +23,39 @@ namespace Flow.Launcher.Infrastructure.Image var i = _data[path]; return i; } - set { _data[path] = value; } + set + { + _data[path] = value; + + // To prevent the dictionary from drastically increasing in size by caching images, the dictionary size is not allowed to grow more than the permissibleFactor * maxCached size + // This is done so that we don't constantly perform this resizing operation and also maintain the image cache size at the same time + if (_data.Count > permissibleFactor * MaxCached) + { + // This function resizes the Usage dictionary, taking the top 'maxCached' number of items and filtering the image icons that are not accessed frequently. + Cleanup(); + + // To delete the images from the data dictionary based on the resizing of the Usage Dictionary. + foreach (var key in _data.Keys) + { + int dictValue; + if (!Usage.TryGetValue(key, out dictValue)) + { + ImageSource imgSource; + _data.TryRemove(key, out imgSource); + } + } + } + } } - public Dictionary CleanupAndToDictionary() - => Usage + public void Cleanup() + { + var images = Usage .OrderByDescending(o => o.Value) .Take(MaxCached) .ToDictionary(i => i.Key, i => i.Value); + Usage = new ConcurrentDictionary(images); + } public bool ContainsKey(string key) { @@ -51,4 +77,4 @@ namespace Flow.Launcher.Infrastructure.Image } } -} +} \ No newline at end of file diff --git a/Flow.Launcher.Infrastructure/Image/ImageLoader.cs b/Flow.Launcher.Infrastructure/Image/ImageLoader.cs index 0bf575337..e03ee709a 100644 --- a/Flow.Launcher.Infrastructure/Image/ImageLoader.cs +++ b/Flow.Launcher.Infrastructure/Image/ImageLoader.cs @@ -9,7 +9,7 @@ using System.Windows.Media.Imaging; using Flow.Launcher.Infrastructure.Logger; using Flow.Launcher.Infrastructure.Storage; -namespace Flow.Launcher.Infrastructure.Image +namespace Wox.Infrastructure.Image { public static class ImageLoader { @@ -218,27 +218,29 @@ namespace Flow.Launcher.Infrastructure.Image var img = imageResult.ImageSource; if (imageResult.ImageType != ImageType.Error && imageResult.ImageType != ImageType.Cache) - { - // we need to get image hash - string hash = _enableHashImage ? _hashGenerator.GetHashFromImage(img) : null; + { // we need to get image hash + string hash = EnableImageHash ? _hashGenerator.GetHashFromImage(img) : null; if (hash != null) { - if (_guidToKey.TryGetValue(hash, out string key)) - { - // image already exists - img = _imageCache[key]; + int ImageCacheValue; + if (GuidToKey.TryGetValue(hash, out string key)) + { // image already exists + if (ImageCache.Usage.TryGetValue(path, out ImageCacheValue)) + { + img = ImageCache[key]; + } } else - { - // new guid - _guidToKey[hash] = path; + { // new guid + GuidToKey[hash] = path; } } // update cache - _imageCache[path] = img; + ImageCache[path] = img; } + return img; } From 086c5d05e75ae556dd2ffabf6c1269dcddb57211 Mon Sep 17 00:00:00 2001 From: Jeremy Wu Date: Wed, 5 Aug 2020 19:57:23 +1000 Subject: [PATCH 002/176] update to Flow --- .../Image/ImageCache.cs | 2 +- .../Image/ImageLoader.cs | 28 +++++++++---------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/Flow.Launcher.Infrastructure/Image/ImageCache.cs b/Flow.Launcher.Infrastructure/Image/ImageCache.cs index 67f008972..15090919d 100644 --- a/Flow.Launcher.Infrastructure/Image/ImageCache.cs +++ b/Flow.Launcher.Infrastructure/Image/ImageCache.cs @@ -5,7 +5,7 @@ using System.Linq; using System.Threading.Tasks; using System.Windows.Media; -namespace Wox.Infrastructure.Image +namespace Flow.Launcher.Infrastructure.Image { [Serializable] public class ImageCache diff --git a/Flow.Launcher.Infrastructure/Image/ImageLoader.cs b/Flow.Launcher.Infrastructure/Image/ImageLoader.cs index e03ee709a..10f827c40 100644 --- a/Flow.Launcher.Infrastructure/Image/ImageLoader.cs +++ b/Flow.Launcher.Infrastructure/Image/ImageLoader.cs @@ -9,16 +9,16 @@ using System.Windows.Media.Imaging; using Flow.Launcher.Infrastructure.Logger; using Flow.Launcher.Infrastructure.Storage; -namespace Wox.Infrastructure.Image +namespace Flow.Launcher.Infrastructure.Image { public static class ImageLoader { - private static readonly ImageCache _imageCache = new ImageCache(); + private static readonly ImageCache ImageCache = new ImageCache(); private static readonly ConcurrentDictionary _guidToKey = new ConcurrentDictionary(); - private static readonly bool _enableHashImage = true; - + private static readonly ConcurrentDictionary GuidToKey = new ConcurrentDictionary(); private static BinaryStorage> _storage; private static IImageHashGenerator _hashGenerator; + private static bool EnableImageHash = true; private static readonly string[] ImageExtensions = { @@ -36,25 +36,25 @@ namespace Wox.Infrastructure.Image _storage = new BinaryStorage>("Image"); _hashGenerator = new ImageHashGenerator(); - _imageCache.Usage = LoadStorageToConcurrentDictionary(); + ImageCache.Usage = LoadStorageToConcurrentDictionary(); foreach (var icon in new[] { Constant.DefaultIcon, Constant.ErrorIcon }) { ImageSource img = new BitmapImage(new Uri(icon)); img.Freeze(); - _imageCache[icon] = img; + ImageCache[icon] = img; } Task.Run(() => { Stopwatch.Normal("|ImageLoader.Initialize|Preload images cost", () => { - _imageCache.Usage.AsParallel().ForAll(x => + ImageCache.Usage.AsParallel().ForAll(x => { Load(x.Key); }); }); - Log.Info($"|ImageLoader.Initialize|Number of preload images is <{_imageCache.Usage.Count}>, Images Number: {_imageCache.CacheSize()}, Unique Items {_imageCache.UniqueImagesInCache()}"); + Log.Info($"|ImageLoader.Initialize|Number of preload images is <{ImageCache.Usage.Count}>, Images Number: {ImageCache.CacheSize()}, Unique Items {ImageCache.UniqueImagesInCache()}"); }); } @@ -106,11 +106,11 @@ namespace Wox.Infrastructure.Image { if (string.IsNullOrEmpty(path)) { - return new ImageResult(_imageCache[Constant.ErrorIcon], ImageType.Error); + return new ImageResult(ImageCache[Constant.ErrorIcon], ImageType.Error); } - if (_imageCache.ContainsKey(path)) + if (ImageCache.ContainsKey(path)) { - return new ImageResult(_imageCache[path], ImageType.Cache); + return new ImageResult(ImageCache[path], ImageType.Cache); } if (path.StartsWith("data:", StringComparison.OrdinalIgnoreCase)) @@ -139,8 +139,8 @@ namespace Wox.Infrastructure.Image Log.Exception($"|ImageLoader.Load|Failed to get thumbnail for {path} on first try", e); Log.Exception($"|ImageLoader.Load|Failed to get thumbnail for {path} on second try", e2); - ImageSource image = _imageCache[Constant.ErrorIcon]; - _imageCache[path] = image; + ImageSource image = ImageCache[Constant.ErrorIcon]; + ImageCache[path] = image; imageResult = new ImageResult(image, ImageType.Error); } } @@ -191,7 +191,7 @@ namespace Wox.Infrastructure.Image } else { - image = _imageCache[Constant.ErrorIcon]; + image = ImageCache[Constant.ErrorIcon]; path = Constant.ErrorIcon; } From 86f6f9921e58c1d29f5d6f9d960990c6dd564778 Mon Sep 17 00:00:00 2001 From: Jeremy Wu Date: Wed, 5 Aug 2020 19:57:53 +1000 Subject: [PATCH 003/176] update to use concurrent dictionary --- Flow.Launcher.Infrastructure/Image/ImageLoader.cs | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/Flow.Launcher.Infrastructure/Image/ImageLoader.cs b/Flow.Launcher.Infrastructure/Image/ImageLoader.cs index 10f827c40..573857c43 100644 --- a/Flow.Launcher.Infrastructure/Image/ImageLoader.cs +++ b/Flow.Launcher.Infrastructure/Image/ImageLoader.cs @@ -14,9 +14,8 @@ namespace Flow.Launcher.Infrastructure.Image public static class ImageLoader { private static readonly ImageCache ImageCache = new ImageCache(); - private static readonly ConcurrentDictionary _guidToKey = new ConcurrentDictionary(); + private static BinaryStorage> _storage; private static readonly ConcurrentDictionary GuidToKey = new ConcurrentDictionary(); - private static BinaryStorage> _storage; private static IImageHashGenerator _hashGenerator; private static bool EnableImageHash = true; @@ -33,7 +32,7 @@ namespace Flow.Launcher.Infrastructure.Image public static void Initialize() { - _storage = new BinaryStorage>("Image"); + _storage = new BinaryStorage>("Image"); _hashGenerator = new ImageHashGenerator(); ImageCache.Usage = LoadStorageToConcurrentDictionary(); @@ -70,7 +69,7 @@ namespace Flow.Launcher.Infrastructure.Image { lock(_storage) { - var loaded = _storage.TryLoad(new Dictionary()); + var loaded = _storage.TryLoad(new ConcurrentDictionary()); return new ConcurrentDictionary(loaded); } From ffa68a5a7b25d8d9d2d0fe82cb5e6b04bea257cb Mon Sep 17 00:00:00 2001 From: Jeremy Wu Date: Wed, 5 Aug 2020 19:58:48 +1000 Subject: [PATCH 004/176] use updated method from ImageCache class to save images to cache --- Flow.Launcher.Infrastructure/Image/ImageLoader.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Flow.Launcher.Infrastructure/Image/ImageLoader.cs b/Flow.Launcher.Infrastructure/Image/ImageLoader.cs index 573857c43..caff69fcf 100644 --- a/Flow.Launcher.Infrastructure/Image/ImageLoader.cs +++ b/Flow.Launcher.Infrastructure/Image/ImageLoader.cs @@ -61,7 +61,8 @@ namespace Flow.Launcher.Infrastructure.Image { lock (_storage) { - _storage.Save(_imageCache.CleanupAndToDictionary()); + ImageCache.Cleanup(); + _storage.Save(ImageCache.Usage); } } From ca08e603087601493526a0c716e7c57f0064b134 Mon Sep 17 00:00:00 2001 From: Jeremy Wu Date: Mon, 10 Aug 2020 07:17:22 +1000 Subject: [PATCH 005/176] revert-image cache as dictionary, concurrent not serializable --- Flow.Launcher.Infrastructure/Image/ImageLoader.cs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Flow.Launcher.Infrastructure/Image/ImageLoader.cs b/Flow.Launcher.Infrastructure/Image/ImageLoader.cs index caff69fcf..29e13a2de 100644 --- a/Flow.Launcher.Infrastructure/Image/ImageLoader.cs +++ b/Flow.Launcher.Infrastructure/Image/ImageLoader.cs @@ -14,7 +14,7 @@ namespace Flow.Launcher.Infrastructure.Image public static class ImageLoader { private static readonly ImageCache ImageCache = new ImageCache(); - private static BinaryStorage> _storage; + private static BinaryStorage> _storage; private static readonly ConcurrentDictionary GuidToKey = new ConcurrentDictionary(); private static IImageHashGenerator _hashGenerator; private static bool EnableImageHash = true; @@ -32,7 +32,7 @@ namespace Flow.Launcher.Infrastructure.Image public static void Initialize() { - _storage = new BinaryStorage>("Image"); + _storage = new BinaryStorage>("Image"); _hashGenerator = new ImageHashGenerator(); ImageCache.Usage = LoadStorageToConcurrentDictionary(); @@ -62,7 +62,7 @@ namespace Flow.Launcher.Infrastructure.Image lock (_storage) { ImageCache.Cleanup(); - _storage.Save(ImageCache.Usage); + _storage.Save(new Dictionary(ImageCache.Usage)); } } @@ -70,7 +70,7 @@ namespace Flow.Launcher.Infrastructure.Image { lock(_storage) { - var loaded = _storage.TryLoad(new ConcurrentDictionary()); + var loaded = _storage.TryLoad(new Dictionary()); return new ConcurrentDictionary(loaded); } From 4e534b56aca700207b547527449797583e5c2130 Mon Sep 17 00:00:00 2001 From: Arjun Balgovind <32061677+arjunbalgovind@users.noreply.github.com> Date: Mon, 10 Aug 2020 21:47:46 +1000 Subject: [PATCH 006/176] Skip ErrorIcon and DefaultIcon while resizing the dictionary. From arjunbalgovind:user/arbalgov/apperrorFix --- Flow.Launcher.Infrastructure/Image/ImageCache.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Flow.Launcher.Infrastructure/Image/ImageCache.cs b/Flow.Launcher.Infrastructure/Image/ImageCache.cs index 15090919d..60a191a9c 100644 --- a/Flow.Launcher.Infrastructure/Image/ImageCache.cs +++ b/Flow.Launcher.Infrastructure/Image/ImageCache.cs @@ -38,7 +38,7 @@ namespace Flow.Launcher.Infrastructure.Image foreach (var key in _data.Keys) { int dictValue; - if (!Usage.TryGetValue(key, out dictValue)) + if (!Usage.TryGetValue(key, out dictValue) && !(key.Equals(Constant.ErrorIcon) || key.Equals(Constant.DefaultIcon))) { ImageSource imgSource; _data.TryRemove(key, out imgSource); From 41087d88d46654f452566fa8bbf122282156dd67 Mon Sep 17 00:00:00 2001 From: Jeremy Wu Date: Tue, 25 Aug 2020 21:23:53 +1000 Subject: [PATCH 007/176] fix not triggering due to ActionKeyword is string empty when global --- .../Flow.Launcher.Plugin.Explorer/Search/SearchManager.cs | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/Plugins/Flow.Launcher.Plugin.Explorer/Search/SearchManager.cs b/Plugins/Flow.Launcher.Plugin.Explorer/Search/SearchManager.cs index 6c0d186f1..da2ae602b 100644 --- a/Plugins/Flow.Launcher.Plugin.Explorer/Search/SearchManager.cs +++ b/Plugins/Flow.Launcher.Plugin.Explorer/Search/SearchManager.cs @@ -1,4 +1,4 @@ -using Flow.Launcher.Plugin.Explorer.Search.DirectoryInfo; +using Flow.Launcher.Plugin.Explorer.Search.DirectoryInfo; using Flow.Launcher.Plugin.Explorer.Search.FolderLinks; using Flow.Launcher.Plugin.Explorer.Search.WindowsIndex; using Flow.Launcher.Plugin.SharedCommands; @@ -36,8 +36,7 @@ namespace Flow.Launcher.Plugin.Explorer.Search var quickFolderLinks = quickFolderAccess.FolderList(query, settings.QuickFolderAccessLinks, context); - if (quickFolderLinks.Count > 0 && query.ActionKeyword == settings.SearchActionKeyword) - return quickFolderLinks; + var quickFolderLinks = quickFolderAccess.FolderListMatched(query, settings.QuickFolderAccessLinks, context); if (string.IsNullOrEmpty(querySearch)) return results; From e38b57d872fd25ce93d67ded330a3ffdc4456e69 Mon Sep 17 00:00:00 2001 From: Jeremy Wu Date: Tue, 25 Aug 2020 21:24:53 +1000 Subject: [PATCH 008/176] separate methods to better reflect responsibility --- .../Search/FolderLinks/QuickFolderAccess.cs | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/Plugins/Flow.Launcher.Plugin.Explorer/Search/FolderLinks/QuickFolderAccess.cs b/Plugins/Flow.Launcher.Plugin.Explorer/Search/FolderLinks/QuickFolderAccess.cs index ebde039d6..8bd19956e 100644 --- a/Plugins/Flow.Launcher.Plugin.Explorer/Search/FolderLinks/QuickFolderAccess.cs +++ b/Plugins/Flow.Launcher.Plugin.Explorer/Search/FolderLinks/QuickFolderAccess.cs @@ -6,14 +6,10 @@ namespace Flow.Launcher.Plugin.Explorer.Search.FolderLinks { public class QuickFolderAccess { - internal List FolderList(Query query, List folderLinks, PluginInitContext context) + internal List FolderListMatched(Query query, List folderLinks, PluginInitContext context) { if (string.IsNullOrEmpty(query.Search)) - return folderLinks - .Select(item => - new ResultManager(context) - .CreateFolderResult(item.Nickname, item.Path, item.Path, query)) - .ToList(); + return new List(); string search = query.Search.ToLower(); @@ -24,5 +20,11 @@ namespace Flow.Launcher.Plugin.Explorer.Search.FolderLinks .CreateFolderResult(item.Nickname, item.Path, item.Path, query)) .ToList(); } + + internal List FolderListAll(Query query, List folderLinks, PluginInitContext context) + => folderLinks + .Select(item => + new ResultManager(context).CreateFolderResult(item.Nickname, item.Path, item.Path, query)) + .ToList(); } } From 0a4f7c0c06c296d5759845e077fe8446baf8de33 Mon Sep 17 00:00:00 2001 From: Jeremy Wu Date: Tue, 25 Aug 2020 21:36:26 +1000 Subject: [PATCH 009/176] change QuickFolderAccess behaviour to continue with index search Even if QuickAccessFolders results matched still continue to do fIles and folders search before returning the results. This behaviour caters situation where user has a temp location in quick folder access list but still wants to search for temp folder in other locations --- .../Search/SearchManager.cs | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/Plugins/Flow.Launcher.Plugin.Explorer/Search/SearchManager.cs b/Plugins/Flow.Launcher.Plugin.Explorer/Search/SearchManager.cs index da2ae602b..bcac460f9 100644 --- a/Plugins/Flow.Launcher.Plugin.Explorer/Search/SearchManager.cs +++ b/Plugins/Flow.Launcher.Plugin.Explorer/Search/SearchManager.cs @@ -38,8 +38,8 @@ namespace Flow.Launcher.Plugin.Explorer.Search var quickFolderLinks = quickFolderAccess.FolderListMatched(query, settings.QuickFolderAccessLinks, context); - if (string.IsNullOrEmpty(querySearch)) - return results; + if (quickFolderLinks.Count > 0) + results.AddRange(quickFolderLinks); if (IsFileContentSearch(query.ActionKeyword)) return WindowsIndexFileContentSearch(query, querySearch); @@ -53,7 +53,11 @@ namespace Flow.Launcher.Plugin.Explorer.Search var isEnvironmentVariablePath = querySearch.Substring(1).Contains("%\\"); if (!FilesFolders.IsLocationPathString(querySearch) && !isEnvironmentVariablePath) - return WindowsIndexFilesAndFoldersSearch(query, querySearch); + { + results.AddRange(WindowsIndexFilesAndFoldersSearch(query, querySearch)); + + return results; + } var locationPath = querySearch; From 00035f7a52d958c625ed16d1575b394a03170dd1 Mon Sep 17 00:00:00 2001 From: Jeremy Wu Date: Tue, 25 Aug 2020 21:38:39 +1000 Subject: [PATCH 010/176] move contents search up --- Plugins/Flow.Launcher.Plugin.Explorer/Search/SearchManager.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Plugins/Flow.Launcher.Plugin.Explorer/Search/SearchManager.cs b/Plugins/Flow.Launcher.Plugin.Explorer/Search/SearchManager.cs index bcac460f9..95235a851 100644 --- a/Plugins/Flow.Launcher.Plugin.Explorer/Search/SearchManager.cs +++ b/Plugins/Flow.Launcher.Plugin.Explorer/Search/SearchManager.cs @@ -34,7 +34,8 @@ namespace Flow.Launcher.Plugin.Explorer.Search var querySearch = query.Search; - var quickFolderLinks = quickFolderAccess.FolderList(query, settings.QuickFolderAccessLinks, context); + if (IsFileContentSearch(query.ActionKeyword)) + return WindowsIndexFileContentSearch(query, querySearch); var quickFolderLinks = quickFolderAccess.FolderListMatched(query, settings.QuickFolderAccessLinks, context); From c9c8d0065e63aa5faee507c5b4243f61050abd85 Mon Sep 17 00:00:00 2001 From: Jeremy Wu Date: Tue, 25 Aug 2020 21:40:17 +1000 Subject: [PATCH 011/176] make the code more obvious when triggering full quick folder access list --- .../Search/SearchManager.cs | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/Plugins/Flow.Launcher.Plugin.Explorer/Search/SearchManager.cs b/Plugins/Flow.Launcher.Plugin.Explorer/Search/SearchManager.cs index 95235a851..bc6923173 100644 --- a/Plugins/Flow.Launcher.Plugin.Explorer/Search/SearchManager.cs +++ b/Plugins/Flow.Launcher.Plugin.Explorer/Search/SearchManager.cs @@ -1,4 +1,4 @@ -using Flow.Launcher.Plugin.Explorer.Search.DirectoryInfo; +using Flow.Launcher.Plugin.Explorer.Search.DirectoryInfo; using Flow.Launcher.Plugin.Explorer.Search.FolderLinks; using Flow.Launcher.Plugin.Explorer.Search.WindowsIndex; using Flow.Launcher.Plugin.SharedCommands; @@ -41,9 +41,12 @@ namespace Flow.Launcher.Plugin.Explorer.Search if (quickFolderLinks.Count > 0) results.AddRange(quickFolderLinks); - - if (IsFileContentSearch(query.ActionKeyword)) - return WindowsIndexFileContentSearch(query, querySearch); + + // This allows the user to type the assigned action keyword and only see the list of quick folder links + if (settings.QuickFolderAccessLinks.Count > 0 + && query.ActionKeyword == settings.SearchActionKeyword + && string.IsNullOrEmpty(query.Search)) + return quickFolderAccess.FolderListAll(query, settings.QuickFolderAccessLinks, context); var isEnvironmentVariable = EnvironmentVariables.IsEnvironmentVariableSearch(querySearch); From b2b98333d5099c52f5da2d697d77aa9600b73ed5 Mon Sep 17 00:00:00 2001 From: Jeremy Wu Date: Tue, 25 Aug 2020 21:46:44 +1000 Subject: [PATCH 012/176] version bump Explorer plugin --- Plugins/Flow.Launcher.Plugin.Explorer/plugin.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Plugins/Flow.Launcher.Plugin.Explorer/plugin.json b/Plugins/Flow.Launcher.Plugin.Explorer/plugin.json index 67d2e731c..9695fd83d 100644 --- a/Plugins/Flow.Launcher.Plugin.Explorer/plugin.json +++ b/Plugins/Flow.Launcher.Plugin.Explorer/plugin.json @@ -7,7 +7,7 @@ "Name": "Explorer", "Description": "Search and manage files and folders. Explorer utilises Windows Index Search", "Author": "Jeremy Wu", - "Version": "1.2.2", + "Version": "1.2.3", "Language": "csharp", "Website": "https://github.com/Flow-Launcher/Flow.Launcher", "ExecuteFileName": "Flow.Launcher.Plugin.Explorer.dll", From 24fe5a11f98ec09b6f303df1718666d4d6610fbd Mon Sep 17 00:00:00 2001 From: Jeremy Wu Date: Wed, 26 Aug 2020 08:06:10 +1000 Subject: [PATCH 013/176] prevent user from using global action keyword for content search would bring up too many results --- .../Flow.Launcher.Plugin.Explorer/Languages/en.xaml | 1 + .../ViewModels/SettingsViewModel.cs | 2 ++ .../Views/ActionKeywordSetting.xaml.cs | 11 ++++++++++- 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/Plugins/Flow.Launcher.Plugin.Explorer/Languages/en.xaml b/Plugins/Flow.Launcher.Plugin.Explorer/Languages/en.xaml index b7710d332..2fb16e0e1 100644 --- a/Plugins/Flow.Launcher.Plugin.Explorer/Languages/en.xaml +++ b/Plugins/Flow.Launcher.Plugin.Explorer/Languages/en.xaml @@ -9,6 +9,7 @@ Are you sure you want to permanently delete this {0}? Deletion successful Successfully deleted the {0} + Assigning the global action keyword could bring up too many results during search. Please choose a specific action keyword Delete diff --git a/Plugins/Flow.Launcher.Plugin.Explorer/ViewModels/SettingsViewModel.cs b/Plugins/Flow.Launcher.Plugin.Explorer/ViewModels/SettingsViewModel.cs index e14a6ebb5..7fcd77f07 100644 --- a/Plugins/Flow.Launcher.Plugin.Explorer/ViewModels/SettingsViewModel.cs +++ b/Plugins/Flow.Launcher.Plugin.Explorer/ViewModels/SettingsViewModel.cs @@ -54,5 +54,7 @@ namespace Flow.Launcher.Plugin.Explorer.ViewModels } internal bool IsActionKeywordAlreadyAssigned(string newActionKeyword) => PluginManager.ActionKeywordRegistered(newActionKeyword); + + internal bool IsNewActionKeywordGlobal(string newActionKeyword) => newActionKeyword == Query.GlobalPluginWildcardSign; } } diff --git a/Plugins/Flow.Launcher.Plugin.Explorer/Views/ActionKeywordSetting.xaml.cs b/Plugins/Flow.Launcher.Plugin.Explorer/Views/ActionKeywordSetting.xaml.cs index b9e5373b7..2957283ad 100644 --- a/Plugins/Flow.Launcher.Plugin.Explorer/Views/ActionKeywordSetting.xaml.cs +++ b/Plugins/Flow.Launcher.Plugin.Explorer/Views/ActionKeywordSetting.xaml.cs @@ -51,8 +51,17 @@ namespace Flow.Launcher.Plugin.Explorer.Views return; } + + if (settingsViewModel.IsNewActionKeywordGlobal(newActionKeyword) + && currentActionKeyword.Description + == settingsViewModel.Context.API.GetTranslation("plugin_explorer_actionkeywordview_filecontentsearch")) + { + MessageBox.Show(settingsViewModel.Context.API.GetTranslation("plugin_explorer_globalActionKeywordInvalid")); + + return; + } - if(!settingsViewModel.IsActionKeywordAlreadyAssigned(newActionKeyword)) + if (!settingsViewModel.IsActionKeywordAlreadyAssigned(newActionKeyword)) { settingsViewModel.UpdateActionKeyword(newActionKeyword, currentActionKeyword.Keyword); From df5028ada9fcaf3b54f3580d1d7c7505a0fab47e Mon Sep 17 00:00:00 2001 From: Jeremy Wu Date: Wed, 26 Aug 2020 08:06:51 +1000 Subject: [PATCH 014/176] move default content search action keyword string to constants --- Plugins/Flow.Launcher.Plugin.Explorer/Search/Constants.cs | 2 ++ Plugins/Flow.Launcher.Plugin.Explorer/Settings.cs | 5 +++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/Plugins/Flow.Launcher.Plugin.Explorer/Search/Constants.cs b/Plugins/Flow.Launcher.Plugin.Explorer/Search/Constants.cs index db2eaa722..38939e244 100644 --- a/Plugins/Flow.Launcher.Plugin.Explorer/Search/Constants.cs +++ b/Plugins/Flow.Launcher.Plugin.Explorer/Search/Constants.cs @@ -22,6 +22,8 @@ namespace Flow.Launcher.Plugin.Explorer.Search internal const char AllFilesFolderSearchWildcard = '>'; + internal const string DefaultContentSearchActionKeyword = "doc:"; + internal const char DirectorySeperator = '\\'; internal const string WindowsIndexingOptions = "srchadmin.dll"; diff --git a/Plugins/Flow.Launcher.Plugin.Explorer/Settings.cs b/Plugins/Flow.Launcher.Plugin.Explorer/Settings.cs index 4e62b3cba..5b12870c8 100644 --- a/Plugins/Flow.Launcher.Plugin.Explorer/Settings.cs +++ b/Plugins/Flow.Launcher.Plugin.Explorer/Settings.cs @@ -1,4 +1,5 @@ -using Flow.Launcher.Plugin.Explorer.Search.FolderLinks; +using Flow.Launcher.Plugin.Explorer.Search; +using Flow.Launcher.Plugin.Explorer.Search.FolderLinks; using Newtonsoft.Json; using System.Collections.Generic; @@ -22,6 +23,6 @@ namespace Flow.Launcher.Plugin.Explorer public string SearchActionKeyword { get; set; } = Query.GlobalPluginWildcardSign; [JsonProperty] - public string FileContentSearchActionKeyword { get; set; } = "doc:"; + public string FileContentSearchActionKeyword { get; set; } = Constants.DefaultContentSearchActionKeyword; } } \ No newline at end of file From 5661b20dfb7fca6ddeadb5ede48dfff07fef8416 Mon Sep 17 00:00:00 2001 From: Jeremy Wu Date: Wed, 26 Aug 2020 08:47:19 +1000 Subject: [PATCH 015/176] prevent index search when only '_' in query otherwise will throw OleDb error. --- .../Search/WindowsIndex/IndexSearch.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Plugins/Flow.Launcher.Plugin.Explorer/Search/WindowsIndex/IndexSearch.cs b/Plugins/Flow.Launcher.Plugin.Explorer/Search/WindowsIndex/IndexSearch.cs index 08511091e..187899c8f 100644 --- a/Plugins/Flow.Launcher.Plugin.Explorer/Search/WindowsIndex/IndexSearch.cs +++ b/Plugins/Flow.Launcher.Plugin.Explorer/Search/WindowsIndex/IndexSearch.cs @@ -21,7 +21,7 @@ namespace Flow.Launcher.Plugin.Explorer.Search.WindowsIndex private readonly ResultManager resultManager; // Reserved keywords in oleDB - private readonly string reservedStringPattern = @"^[\/\\\$\%]+$"; + private readonly string reservedStringPattern = @"^[\/\\\$\%_]+$"; internal IndexSearch(PluginInitContext context) { From 0b368c26834d5e7eac09fbad60fb00e2c296526d Mon Sep 17 00:00:00 2001 From: Jeremy Wu Date: Wed, 26 Aug 2020 14:10:39 +1000 Subject: [PATCH 016/176] fix file extension search using '*' failing --- .../Flow.Launcher.Plugin.Explorer/Search/SearchManager.cs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Plugins/Flow.Launcher.Plugin.Explorer/Search/SearchManager.cs b/Plugins/Flow.Launcher.Plugin.Explorer/Search/SearchManager.cs index bc6923173..6f44e8b57 100644 --- a/Plugins/Flow.Launcher.Plugin.Explorer/Search/SearchManager.cs +++ b/Plugins/Flow.Launcher.Plugin.Explorer/Search/SearchManager.cs @@ -144,15 +144,17 @@ namespace Flow.Launcher.Plugin.Explorer.Search private bool UseWindowsIndexForDirectorySearch(string locationPath) { + var pathToDirectory = FilesFolders.ReturnPreviousDirectoryIfIncompleteString(locationPath); + if (!settings.UseWindowsIndexForDirectorySearch) return false; if (settings.IndexSearchExcludedSubdirectoryPaths - .Any(x => FilesFolders.ReturnPreviousDirectoryIfIncompleteString(locationPath) + .Any(x => FilesFolders.ReturnPreviousDirectoryIfIncompleteString(pathToDirectory) .StartsWith(x.Path, StringComparison.OrdinalIgnoreCase))) return false; - return indexSearch.PathIsIndexed(locationPath); + return indexSearch.PathIsIndexed(pathToDirectory); } } } From b44b67220a5f4da227146f9deeb046501f9cbdd1 Mon Sep 17 00:00:00 2001 From: Jeremy Wu Date: Mon, 31 Aug 2020 07:39:05 +1000 Subject: [PATCH 017/176] encode # symbol part of the path when creating uri --- .../Search/WindowsIndex/IndexSearch.cs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Plugins/Flow.Launcher.Plugin.Explorer/Search/WindowsIndex/IndexSearch.cs b/Plugins/Flow.Launcher.Plugin.Explorer/Search/WindowsIndex/IndexSearch.cs index 08511091e..cc91de025 100644 --- a/Plugins/Flow.Launcher.Plugin.Explorer/Search/WindowsIndex/IndexSearch.cs +++ b/Plugins/Flow.Launcher.Plugin.Explorer/Search/WindowsIndex/IndexSearch.cs @@ -51,7 +51,10 @@ namespace Flow.Launcher.Plugin.Explorer.Search.WindowsIndex { if (dataReaderResults.GetValue(0) != DBNull.Value && dataReaderResults.GetValue(1) != DBNull.Value) { - var path = new Uri(dataReaderResults.GetString(1)).LocalPath; + // # is URI syntax for the fragment component, need to be encoded so LocalPath returns complete path + var encodedFragmentPath = dataReaderResults.GetString(1).Replace("#", "%23"); + + var path = new Uri(encodedFragmentPath).LocalPath; if (dataReaderResults.GetString(2) == "Directory") { From afb61b247be5417d955bde94cf978ce41509d1d6 Mon Sep 17 00:00:00 2001 From: Jeremy Wu Date: Mon, 31 Aug 2020 07:46:24 +1000 Subject: [PATCH 018/176] version bump Explorer plugin --- Plugins/Flow.Launcher.Plugin.Explorer/plugin.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Plugins/Flow.Launcher.Plugin.Explorer/plugin.json b/Plugins/Flow.Launcher.Plugin.Explorer/plugin.json index 67d2e731c..7c6ef82b0 100644 --- a/Plugins/Flow.Launcher.Plugin.Explorer/plugin.json +++ b/Plugins/Flow.Launcher.Plugin.Explorer/plugin.json @@ -7,7 +7,7 @@ "Name": "Explorer", "Description": "Search and manage files and folders. Explorer utilises Windows Index Search", "Author": "Jeremy Wu", - "Version": "1.2.2", + "Version": "1.2.4", "Language": "csharp", "Website": "https://github.com/Flow-Launcher/Flow.Launcher", "ExecuteFileName": "Flow.Launcher.Plugin.Explorer.dll", From 6dd7259fcca319e4a4288621830cc790f20aa685 Mon Sep 17 00:00:00 2001 From: Jeremy Wu Date: Tue, 1 Sep 2020 07:52:42 +1000 Subject: [PATCH 019/176] use StringComparison.OrdinalIgnoreCase when calling String.Replace --- .../Search/WindowsIndex/IndexSearch.cs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Plugins/Flow.Launcher.Plugin.Explorer/Search/WindowsIndex/IndexSearch.cs b/Plugins/Flow.Launcher.Plugin.Explorer/Search/WindowsIndex/IndexSearch.cs index cc91de025..cca4f209d 100644 --- a/Plugins/Flow.Launcher.Plugin.Explorer/Search/WindowsIndex/IndexSearch.cs +++ b/Plugins/Flow.Launcher.Plugin.Explorer/Search/WindowsIndex/IndexSearch.cs @@ -52,7 +52,9 @@ namespace Flow.Launcher.Plugin.Explorer.Search.WindowsIndex if (dataReaderResults.GetValue(0) != DBNull.Value && dataReaderResults.GetValue(1) != DBNull.Value) { // # is URI syntax for the fragment component, need to be encoded so LocalPath returns complete path - var encodedFragmentPath = dataReaderResults.GetString(1).Replace("#", "%23"); + var encodedFragmentPath = dataReaderResults + .GetString(1) + .Replace("#", "%23", StringComparison.OrdinalIgnoreCase); var path = new Uri(encodedFragmentPath).LocalPath; From fc4a4ea1692cd1f503410b83378fcf491d432871 Mon Sep 17 00:00:00 2001 From: Arttu Laitinen <42007282+ArttuLai@users.noreply.github.com> Date: Tue, 1 Sep 2020 17:42:24 +0300 Subject: [PATCH 020/176] Add 'app_missing_img.png' icon Adds a new icon I designed to be used as the placeholder icon when Flow can't find the real app icon. Reference to issue [#84](https://github.com/Flow-Launcher/Flow.Launcher/issues/84) --- Flow.Launcher/Images/app_missing_img.png | Bin 0 -> 23654 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 Flow.Launcher/Images/app_missing_img.png diff --git a/Flow.Launcher/Images/app_missing_img.png b/Flow.Launcher/Images/app_missing_img.png new file mode 100644 index 0000000000000000000000000000000000000000..b07eb4262f8b65de820e4513b4d16bf2ceeb4317 GIT binary patch literal 23654 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 XXDOoW0dfldhX+?z)lsQYvI+kmy{X5Z literal 0 HcmV?d00001 From 583031fa8332855da6cb4fbfdc00b10a2b0fb74f Mon Sep 17 00:00:00 2001 From: Arttu Laitinen <42007282+ArttuLai@users.noreply.github.com> Date: Thu, 3 Sep 2020 18:10:11 +0300 Subject: [PATCH 021/176] Add rest of the icons Add all of the icons I made and shared in Issue #84 --- Flow.Launcher/Images/app_missing_img_01.png | Bin 0 -> 44275 bytes Flow.Launcher/Images/app_missing_img_01.svg | 44 +++++++++++++++ Flow.Launcher/Images/app_missing_img_02.png | Bin 0 -> 44306 bytes Flow.Launcher/Images/app_missing_img_02.svg | 44 +++++++++++++++ Flow.Launcher/Images/app_missing_img_03.png | Bin 0 -> 44577 bytes Flow.Launcher/Images/app_missing_img_03.svg | 44 +++++++++++++++ .../Images/app_missing_img_buttons.png | Bin 0 -> 46146 bytes .../Images/app_missing_img_buttons.svg | 48 ++++++++++++++++ .../Images/app_missing_img_fluent.png | Bin 0 -> 39571 bytes .../Images/app_missing_img_fluent.svg | 52 ++++++++++++++++++ Flow.Launcher/Images/app_missing_img_huge.png | Bin 0 -> 43799 bytes Flow.Launcher/Images/app_missing_img_huge.svg | 42 ++++++++++++++ .../Images/app_missing_img_lightblue.png | Bin 0 -> 54983 bytes .../Images/app_missing_img_lightblue.svg | 38 +++++++++++++ .../app_missing_img_lightblue_buttons.png | Bin 0 -> 56747 bytes .../app_missing_img_lightblue_buttons.svg | 42 ++++++++++++++ .../Images/app_missing_img_minimal.png | Bin 0 -> 46186 bytes .../Images/app_missing_img_minimal.svg | 40 ++++++++++++++ .../app_missing_img_minimal_buttons.png | Bin 0 -> 48371 bytes .../app_missing_img_minimal_buttons.svg | 42 ++++++++++++++ 20 files changed, 436 insertions(+) create mode 100644 Flow.Launcher/Images/app_missing_img_01.png create mode 100644 Flow.Launcher/Images/app_missing_img_01.svg create mode 100644 Flow.Launcher/Images/app_missing_img_02.png create mode 100644 Flow.Launcher/Images/app_missing_img_02.svg create mode 100644 Flow.Launcher/Images/app_missing_img_03.png create mode 100644 Flow.Launcher/Images/app_missing_img_03.svg create mode 100644 Flow.Launcher/Images/app_missing_img_buttons.png create mode 100644 Flow.Launcher/Images/app_missing_img_buttons.svg create mode 100644 Flow.Launcher/Images/app_missing_img_fluent.png create mode 100644 Flow.Launcher/Images/app_missing_img_fluent.svg create mode 100644 Flow.Launcher/Images/app_missing_img_huge.png create mode 100644 Flow.Launcher/Images/app_missing_img_huge.svg create mode 100644 Flow.Launcher/Images/app_missing_img_lightblue.png create mode 100644 Flow.Launcher/Images/app_missing_img_lightblue.svg create mode 100644 Flow.Launcher/Images/app_missing_img_lightblue_buttons.png create mode 100644 Flow.Launcher/Images/app_missing_img_lightblue_buttons.svg create mode 100644 Flow.Launcher/Images/app_missing_img_minimal.png create mode 100644 Flow.Launcher/Images/app_missing_img_minimal.svg create mode 100644 Flow.Launcher/Images/app_missing_img_minimal_buttons.png create mode 100644 Flow.Launcher/Images/app_missing_img_minimal_buttons.svg diff --git a/Flow.Launcher/Images/app_missing_img_01.png b/Flow.Launcher/Images/app_missing_img_01.png new file mode 100644 index 0000000000000000000000000000000000000000..2cc466ed0e68f9b605661b02d34b117f9bb2c49c GIT binary patch literal 44275 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 literal 0 HcmV?d00001 diff --git a/Flow.Launcher/Images/app_missing_img_01.svg b/Flow.Launcher/Images/app_missing_img_01.svg new file mode 100644 index 000000000..88b84858a --- /dev/null +++ b/Flow.Launcher/Images/app_missing_img_01.svg @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Flow.Launcher/Images/app_missing_img_02.png b/Flow.Launcher/Images/app_missing_img_02.png new file mode 100644 index 0000000000000000000000000000000000000000..285a688907885b07f2494f19ab04eba39c4d3159 GIT binary patch literal 44306 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

muzwEw`B z>btVxwup|w-XJ8VI+iaX{{W#fgiXA518a+}nPl5sqB?|B*;h4C_N z63tuLtw0Ymd1O`&0nxBxJm+43ysSMw-*{$Py4qk*gWU^c2>SfYV_4I~2n~9OMovyN^T4@?%TghnE>ar2M;=-8vY3C^ZqcU(#h658_m|yR*HBrtk7EL=+Oo0p z?=$BMa9UPZO9H~x%>LT(hy(ZMp}2@py*+wTyIvlttbY$|63%&;FL-p+bcTpayP<1O zZ9_L&t!9*WyEVeZit++;4V5H2AZUW3+Miiyw*qALRQ@LjS@*NBD6r*8Y7oAhC?~ifVNuoo$qCFr(=L*DVY@5z^sR23~Cp__-$Z(01dKjwNlH#93bP=9uvOS zpJ>GOD`TL4nHK+w=VQ5z%0uH4)@*v^qrgxe&)}+0p@5)1b&rDGx<{Gh1?39mE!yaY zeCKueW2x0Y57XhI@XodGi-^YRKzrj8LShY;onPJMs{(c?0B(}WR>A|yNbha73)9NW za|w@blgP}0k_T<2iG%|Bsbr?OZ4radXod(L%>|#lbVR3+PGLHcHo5FK$8L^HuBwP% zJ8##ZYa$y6*n~RdSlyZ(1dr;E@2c18#O5g(7&0%Raj#C#x?v=;ivRnWcL)bjv!n#U z6mJN!eSnN*m;)HEOJCrpz66dljL;c`E^EN!oIu!_cyWBlfD-2X+j0mFAl-*_sL9#x z3;)apsL+i7J)a#o*jDI?UUS!HJ%3*hn`%2^5y1zEtPeQqK0|O?$M#u`pd#^z(5sz# z@}hfj7ttq8V~b7c3aI=giwGpMz;Gr+Gi@(@ZSNt)_dpe+Hyb|yxcmV%*@lc4&0-Z(p_&_5r02`7$uJ&M{mw7aV*RIB7uI$!g!Q!E8MM; zW%JAXVEw^x#~~Nrm5+i)AstG#j|0(spi8)yTwXBF#zJhQmFRdcy%yZ85`}f6$M6uI zOYxZ8)t|pDk4PL@12C7@#sCoTq+so7ZFI_eIrVpg6o;ReIeU5nRHly6iV0G~dd2h# z{pU=$QLraJBpWv0h(XV&?lXDiQ8sArCXASiv6flu6Bu#M(Mz=2TWo|uKJHSN9S!)-MXpj9

y+`25ioRdhGe*bLsBd}~gY%}Q^=cJ9X`^8e* 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Flow.Launcher/Images/app_missing_img_03.png b/Flow.Launcher/Images/app_missing_img_03.png new file mode 100644 index 0000000000000000000000000000000000000000..11d5466f02984796b3bca97499c17af38f3fb4c1 GIT binary patch literal 44577 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 literal 0 HcmV?d00001 diff --git a/Flow.Launcher/Images/app_missing_img_03.svg b/Flow.Launcher/Images/app_missing_img_03.svg new file mode 100644 index 000000000..904380091 --- /dev/null +++ b/Flow.Launcher/Images/app_missing_img_03.svg @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Flow.Launcher/Images/app_missing_img_buttons.png b/Flow.Launcher/Images/app_missing_img_buttons.png new file mode 100644 index 0000000000000000000000000000000000000000..62de71f2103556e9030186a73c9a5fc89c23ed99 GIT binary patch literal 46146 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Flow.Launcher/Images/app_missing_img_fluent.png b/Flow.Launcher/Images/app_missing_img_fluent.png new file mode 100644 index 0000000000000000000000000000000000000000..6a3adf589705036c4cf528a14621612b96d400e3 GIT binary patch literal 39571 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 literal 0 HcmV?d00001 diff --git a/Flow.Launcher/Images/app_missing_img_fluent.svg b/Flow.Launcher/Images/app_missing_img_fluent.svg new file mode 100644 index 000000000..218f081c3 --- /dev/null +++ b/Flow.Launcher/Images/app_missing_img_fluent.svg @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Flow.Launcher/Images/app_missing_img_huge.png b/Flow.Launcher/Images/app_missing_img_huge.png new file mode 100644 index 0000000000000000000000000000000000000000..70aea308d2e8c9c91d42afb4f27f5145d4f3d1b5 GIT binary patch literal 43799 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 KlC|O{!T$r^+d(=2 literal 0 HcmV?d00001 diff --git a/Flow.Launcher/Images/app_missing_img_huge.svg b/Flow.Launcher/Images/app_missing_img_huge.svg new file mode 100644 index 000000000..874a9a0ca --- /dev/null +++ b/Flow.Launcher/Images/app_missing_img_huge.svg @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Flow.Launcher/Images/app_missing_img_lightblue.png b/Flow.Launcher/Images/app_missing_img_lightblue.png new file mode 100644 index 0000000000000000000000000000000000000000..3b262fc9b7c143ca7a2d6440b508e672765178bd GIT binary patch literal 54983 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Flow.Launcher/Images/app_missing_img_lightblue_buttons.png b/Flow.Launcher/Images/app_missing_img_lightblue_buttons.png new file mode 100644 index 0000000000000000000000000000000000000000..17de0a6fe27ba527cd55ee2963e9873ea4d2affa GIT binary patch literal 56747 zcmd41WmsF?wl*9*NN{(zV!_?Dc%ew4xNETD?rx=MvEr@;iW9WOp-7=&mYF_ z6*d3>ih;eZfv17Gny96#GncuQtA#a}k2B;M2LQySd?4nQj@F*E7S^`*E)w)7oxSw5 z_Er+~`U2`a>JT|=J9}k6cWWI#4P8q=M@tbadMQZ^aUaoV1J2f-=CnS}PA(pzJ`(hQ z+ZBEO{?}!0dfLB5JRK$I4b-)0g6dxPydY5{)cfZ%YWL2c)2_MZQ06_+uF(6+1ka^gB#2R=Kinp);{+C z^2WvEKj?ZUj{7g`+rvP zF^Bw5!s_b(|KiTh|F#SdPlb2S#QjGQ{>`WVoWMiZ7h=u*%G$%#%iYpi;oUQP41W{% z7cZh(_CD552J-gLqnY-9Z(ED&&S=*RHoND+Kij3X%X5!( ze{P0fnpoDK8*Z5Wb0Yk=1ONb7Q@v6?Wkp+I(2PyKWPM9&;=) z*b7+BU&%4&F3QRD@(T49@{4bl5C}1_YJZh#2ZW=V6;R&1=9wejqO>dNE&K0^ggi!N9Fyh z;&mjPF{D$86F1Sud?mpJrt>pa%qjl<)Eg*(FBks%fJ4$FO@1La7Q`@Vtsr{oTa__;p# zUw2N;P{}X+s^&7cCGqweJ09*`zy%Bs$rQQJmv;Y-( z8C{>eqi&-bm*v;Y*NNc8`=@Tr!tq1%SnGXb2$^atGFnn* zHSq*vJPC8A&6MX~LFE9c(He}jKVyp-zv`5*?za@W@hsu8sh42uA_THYe@L9Ftn#>q zKMCxPLP^(2J^pxTbZ~Jkev?uyzg~N?uJt9$bTuY{kY&34Kld`dpgUQJ3_iZ7@9M3r z0hpcr;3-6(-bRTJR)=-_dLj{{jEAHnR3Dk1K!evjO$TKj-~2?*MNr4W=>Nl00pzza z$K^+Gi7twj-de*jix;Um=;eM@@0N8JsCVYeiI}HU3&l#g6|v}He-OA{Lc@y<1Y-f> zfnV+d{GBw=rnRKNZ zlb7Pi@uZ>wrsP<*=`iZZy_jz2en6O?y5$-d?xR5h7H$q7zuuLZSOkgooF9WUof8@-e0G5#}ddS`27f zsxM@SZ8otqZAa4;Bz}O9hcRI%AU;qoijMf!oIS{J?%JL{rroZw!`CLXD8Hjj$$;9z z9r!S(H^y5U$DHM3#<~ z+!*{EXTF`r)(`Sgd@K~Ym^#-|8Xpo!W0Y}1rTosL2BD~b5dvbG_7ru;0I@7hN4Y&I zaFC|_m=GYX_t1rkkbXE(J<^PyLg*n;639bEsljZUJ6)s!c_9E6qeRh>@Q>)D@NAoq z&(hpNq-otwR_OLviz-j~meo#s1R-(0&hlav0#iTgN4iW;hEg1XD1}+SNW;#Z^;0 z07}_u{8DYZo}Xu&i$0gmH>Y>Ib!QB{w_~=!ziWe@IMG829$+t?X2VzDZSdRv{i*c~ zJ56%04Sd|i^QiZI&S~wtDyplI>x|00vNAfoN^Jfw*Ab66S)f2V-2%t_ykWIk1Zjqpg%U9HSEXxH`++AJIb)lDF{1d8u}VoPa9P8 zf6AyPeu~^YKOQCY(}Zdm*5aR1w}*-};A~?9%tC+r0tAzHvcv1`+bP&>7$j zBoHHe z1z)0jPvZ*$u1|WGPrBIIQy#_b)8?#pfO%)sAWnKd*Pe(Nk&vBDUgGV-zTVr!TmRr4GFWc##Y6t%x&8x8zx!e;cr$~Ow>JVzY| zWrI7Qjj|eNIjfI|#Ya^h%1!#4kn{8(*G~Qq`Wyc5_zr?1YJiDqOPXQL`#+4)oGpUj z{Ivy+3}B=lmWWz%f_=TPD0l|cQ%Z><2XRvn`Pe*c5w%1jfM7IYvTx}JA4ny>}% z@nae*GK7UEJHCe$Bk6S@jSFItw(`Wg8#mquxY6Wh{Sz zA}vEc)d(2bksi~(DR{#X-1CRpCu~6BNwqI}g&NA#VNXzDvHzNm~rbO=tGY`rwjfAt%Lzo992k9`BLD(he5Ddkl z=Jd5ICek*o5I!d6KbXi!sNqt?k*Q6ZKf72<`cCf2954_u4DtokNplP%c2RR&Jn5ri zqj<-VWBeCN>PqFnW;Q$&OXIW_238wZ(n8_=Q@7e^qF88Dn;AmJ)!XT>SDQWfU}A(3 zE2K+N=KXzfn-#cejxD%(^3qf;vV#l7pI{oG-%D?KAWTS@sQ0J9mo%=ScN6)rlj;P0 z>aFZ4IC{|b`rUf(?W5~uM>%~+!QHCV-M$oTE?4vC)nw0inLVi|4dGIP)Y*4l(J81G zCr~{^C9H^gV?b+VpU{U>&8?u8iORS8w+DjgbdA#uK|ek02y*C9TG$HX@X+NJr;TF- zl4$)fLYb{yP4|_Hzkod5#6-Ab6ZUip=Z;(Jw7?v!1o8gGuX3`mU*EqTPr*a$y9wDr zrE0l!b3#aT9RT}K6nvy|@aInuFOoD)P9DNLq?F*qU2SCl2tW5OiE!rNe>mw5>koh+? z&{-@*ANVGTvY%fZt+Hb9Y-hxRE7leXLeB&AHv8#p-RF8v)9)#E9nKwmQ2;B=?D4!1 zT4%fPApIJTty}XxLAiZ}P9}iCoJh`&F=x46x+nS4(B5;#53jb<=@v z!C8)t&~y##6ptCK+H0WQKiTqdq)y8l~6$bge@QM z*hMDO06gtpkL$f`d%CiH%I!RnxUMaD7#GuHbEu zKW1Kz&K+t*|F%gxxfr#>Cd^?gXZ)yROOU4+S&p4r_+EuLYkTGQ=~j0ok@c*BJd!$A zTUmQrDl-Ug87R{nw`q{)UGLwY-=a{@ljGWPoMX690p~Zu-T(Y;I<0-INP@-4eSb5 zc*@7w9x}cE)!Zx5+w(9Se6o%;Af4j@;58&BPzST*T&w`kW!@ND2?&muy0zY5=0KGw%;-I zXGf%sKHz1`t1mhBHlrW6wg>Z2rsuKNWSZI0KUa-nq)p4O#VgR7;?my2nH>`L(y8qU z=<-si8&F|<)>^Nh_bEr?;)0*Uffo; z2POVFJD!cYbY2oKFw+~Je-Rp$gM#}aLXpl(OO7UOIiBBRk|3OPXIo&n}-^C;ce+xUgP1#TixcQ!Pt1Fy3=P4!W>>iEUKg?dM7O#fU zp}!X3hvvw}VBrh;@Iu~RRAj77+(}WAkI8XO=T#oQnU__^J+rkv7EmKqLe6L%WlY0s zD8NG!ec0RcD7$q0IoIexEy$L5u)p+S=DlNU#6^tPgve#J-qu3ab>zc4K0^IhNpi6d z;Es_kN*$h@m3<7=-gvS=dXKaOG4AKnySW8wV|9n6&WbLQp zloi{37PUH@j$RCh3ByGlJZ@1Jr6W|cbh_Ac5t1D2gMj4&&m|AqibPsy+}vrAxknuW zI2CHIq~ATDI@wY>K{b0IgP2ny(BPYB{l9`$vvkm`xgIexy#B=7bHWY($Q=|BTn=at zo_o3$%;(ZvA1mA*uL0&r30-JmZVbwZoofFAq}XW^gwK8ME{E15MWox(ym3>!(!#xo zHSvT0+T9_1jo%Z>*8Jf|s@eb}jwo^ECh2yW-nc}}%EYFa-v*nOxZKQalEeXFSzI^Y z3mH%9`BR482fw~xo0ZqfjkDh9(8^laAlJCMU5#j!kgIhtXWsakIQu38D|G6IMU1 z6#0}TUOrCGj5kIxxDP&4NhJk;ix#j2J#-P|4!DRb@Y#%U%$sQgJ$A{|eo97YMxa1i znw0k5d8#C-JKOSb%tG$jWka^=V%k9qSwZmqO$Qf)*8)yG3W9(8!+(9B^X}QN?i%WM zl5}CF3Y8YF8<>==@+BtEGg#HukL9^}Z~rNjS$2gI_O4%jJa%HX{<_-N7>0mxt;^i$d0}O+B-TEuIB2tqRduSK?_Kc*?EfKUZ)!+;jovgbO%kJGSH|ZLV z_pZka+aRDZIim@(`j{8x8U&jx*y@CLKW)daBSipwe5j@1tr&L__S4iXlwFAi`^#3d zpMjdKR{MKwDFbxCKQm?(RTc*f;!6=7*aD9~P8^YhEL})rRDwDCY9ToX@*unN$la?~BalyV@UpzF0MT z1{(!5P$_Of$ieZT<(`HtAg56)RzZd1;`hC*fx&MGq+n&+II)czc!VD8n>Oi;X6Ay; zqpP&p96?(~Z_)jAj6JUl>1u9u$DNWILhLoA9v9R3nsj_HHrp_Cesz5G z6PwJ$Uc(HPe>AIgw@c~SkHIV}*o4(?>$QlV;Cjk=T(d(h6RbK1m3MO)<3LDvDOQCm zA(h~|dGd*{AUEAsqp$#Rj3=ISkX^q!+7&VDkYxb8B;bKi1sPskV2h}kjBs;AXz+rz z>JArV2ivBGdhB*FXvbe&u$Dwm7r#Z>MW|u7JM|Hti0>E|&c?}jWJ$qIg7@T@H_Mtg z*B^TK+yV<8EpMKxMQ0n2T6r?^apI@*Hgl80f)5!^l3%<(=Q+D{CsO+4`I7f8x(9nF z6t_|UP!+YZ2GIo7=c7o$I-+k6X*!3cEG3CJVY0GJ!%TG|wxd3ShT< zKAX@NN0YlECVtarNWE}eocn{bz<-gDe_5a1g(Y=I_l_vwKJXPs#3N!;q*@D7$y zJ#`~dSwg7}LItXFGZp=wVCC)z#>tkaXY~)};xFblOKs4U8z>m)k;+{x=QiVw^PN?c z-b{a8fe*1IZ~nc*j63#gYt3WQSsTY_7W3F^KmW=n|D0^^qyCv)GUQK(lJ+oVPS-gs zkPFBE_t9L!rZ^h%qVq;;Gs~P)I1dE?Rj+-FXCpP~HK-xbxBw5u#(+G8uPQ2tuOFiy ze~9*D4;8wMF!IRG_|QvjfL1kfNw@*?ozoHn=P{o}vT4xtS??p%s6_#6g);w0%l!J< zX$Oe1V7?M1<&TpN*ob_*Q2WzE76yG)aV|(0pZ!Vuo*#KF3w6ieZw}=xVX&WG!2Oe7 zMDJOwW55I2o7tOj9BxVPL0d^wSjLo})iI0IwaoKY3+|dAOv>1T&xV7fPM4#7rj2-{ zuF+*&-Mh|lr(i?97eglo)cFqtI>@~X;j;;ICF-wLgcuvx5B3VTs~unxpCEl&zB_96 zOh{PD!x@IFax30Ze-cuKQa?5nb{}b@Dbbt!R+{Sc-6NV;%fK@@tjI{WpRC~5%^{P= zMI$@L`W;xBmzFIhqi$VSO095P)AS=Cvx5e$TL(x;ezl1jlfc6XAfuWapy7}O64OD$!1*O~4IXk3YM|WU*i!v+6a7ZAV8TdqVtHd5Ru#GW*4r7MN{E8$k`TwKVo!7hA1?)6*1G+a`UWPW#z$_q={Q&lQd zEz{9_A(mLycZo^>RGsD)ZfoyXfR@uR{$!@&1x18re%XkYdZzMzq`-|1AkGZTe>%OI z^J?$dd78I19SLs)yxhrbD}59>E;v2=Eq)~Ddbr|h$)gz>f$T#KFw*6Wf$}ppQnwU7 z(4CKk&Wesdu8AOQF1kN_$q{NuB$5l6Zy1M`cTY5sbPm+Knf&I+M5D)wQ&CJ~b44{s z)`lQFeAkY)eB#D5*>8BA@I{ZHEc?yCLFitj-S3esRn>jWO?Vvb3ls(RkuVMQRy^jI z%^_E0_&|XXLXGC7!5Bf1Kly|Nys3JE=IIX~d}bob+Mb8igaU+?xI_2WeZ8Y?BWSQ= zj<5oZiP&Epr%q1nJk88@I%k!d1SaNiXsD=Oddp_dCFQp;{2ebeY%6u;g<7*WL$3^-Uc841VB>E*;tbdt`V2x$|f zcD_}VaJ}wngH5!FunV-3W@T8e2E?#ba1hMUOFrkudv`4mOYYV~ zY&5}0i5_K1O!?m zB|j!gFBbO37rr1c;E`vP*_5IA#%^M~Jv!#>L}dgFztyCE(!blS2-duVB9=V3`WxX zs{rEqR33DNaO{oH(y^nt6YM`-ussuXv+qnZQV*Z;mTam-tnzGAA5@w85~9EhQ^T#( zJ$e$%+O44WHf4FpN*Itan3D5&mnY{2?>xjy9y6`(EHyZpXeeMg)m1DAT@KsSmzGD= z%1HnunoHhe`uyzR_(0}Pb!CWAEP~G?gg}Rp);>&^g7wYYkZ9y85u%G8a$`Rt3uTpK z)0BcfuAD9E^jLaJu5)hPrFISECx_%ha?z=is+OEqEvuQieZPsdQB}+uza~Cm^#guN zSMkI{O*)tm2TS!|yJfW_=E?2=>>8{;n#vLBAF^yam#uc{sWpl3g z-Wmqi&&M6;WB>-8z{#XeUziR&g3J%sCmu4}CSZWmA5ky514*jj`TVSZ#x_D+w^o^A z$dkyd%C+ByAlMq0jWxZ$a#FTkcx^NJ`p(U|@jKnCZJzGTNjah$Ek3+G?Zpw%YaSMJ zm!n2yfd<-_8=dkrEst!%FXtY1NxQWwk&9n*ehgT$Y;!C9{w8TLO7)RbUzn%Rv z=Yf1XT(IUu{njUQ*m3vLIyi86H6%1#fmdC;W@tDi>Hzth;Bw8ka=uisWu#a_lWD%_ z8wd!xSj9Tx-}})2wtA$OMuGWfMiMULk~OHQvK(Q~{9g0El19NEf<)msTe%Omu2+IY zSwC=SMt~`^D+s28%CLs!^*BDe^r0Zo@i{(aCu>HNYvbr7+Lvhw$0!%G6zu1cAYa|> zw{=!YMJ)=nGaJu0;*sUX#FBkLYZOP46Y>A8Lh{*+oq$7-HkA#Hl=@xrBh7qz`j>vW z=jV+i&7DCeLE}D8GA}?9=^-VQ-94E>)ckMt4Ty6Ez{ZvyPyIYy!DP3M$-%f&nrrZK z=L^iKx0@_dX9$!;CS<^G_?vmKl~LrplLs#%Ko=X%d#v%U^XJ=6HZ}|wbg}j~Hn_ao z^`D#+3i0`{Wwa0@kX%bR+fY+K){35Awi6qLQpu%gS*A1!>5kUty#JuCYGi5wZwqCO zdi_>pB?E6(N6xuOednDH>Y@$coydts0+)e7$efnjqlaC^rzEG(l?ahygz*^ignn(5 z03b>*!_o}=t&6IyibOuIt}ftrJ9`$h{-;F zxdBaYW+zyTGFH@-#>yb%T-qx%!wJNCG1Za79sSTZiv=4JL%~=^GzPG2{zK%wh7$K9#8k-qbe@&?LlJ;#LziCe9n>fVKD}YB1YkI(* z@KMESKE13-qX}^zPyXbIU6#D9)m0|TvyDVhz>c_*G%4UTsuZh!w0KW)=Vp#Xh^mKW1=%pHs?#re7T81fZh*QjfCmd z#3(t4LMvgp6S)@D(-LTX*EVP;V3O;agJcRz5?X*y0}A7DkLj-R*HB@^b{D+j1TU$t z@804gaRU+UCcG8+6%UHp(Osax(VLd!Q_?_Mqs|Z z#;LoD_5JvKxbCwx0n$x>q*Fs6>#KV)ZAAIZ79c_*KICPXN;ogSQmEF?AVct|!)LW$ z2uD(;ExECF}oUL$BG55Bp{=++dB$(J5%Lw1qB>5iQc4_?MV(&J7n>; zbC^b}yWWv6WUEZ}6LKvc=xQz&4j~MXshGa`DlF{^WGF zNYVkFoS^$zxhR6S$S5F&jCchiiZtT2!Ai9Yf$*}s^WrFc-ScSy84xc^Fl#`*hj;|k zXP<0ITt(5~Ff0UX$?>h*PQAKn?qQ)ScQJ4Ryi;sWdOG^_7j1Ed8{^-6?%-qv_x?8s z0I7@mAl!9$D3Ldb!|4wM5=0gfL?E46Q|7FzdB9H;KuAksv)4H?U8Tx7SeM5$HNx16 zUvdqDH5nEnW=34OhQP%d*ReMZ24Hp%4otRL-Y}9ZEEUv@CsUJugj`u+ql~gjXD}4l z2Q3+cM^BBdzM!P$BidY`%Q;oCRjdLet6eF=1bC^$z8bPsU`T)7!ncfVk{*YeBD%_t z9fB2Z9q?8!eb~eFR9i*r!=5zKJDMUspbq@P+aU8=A9;;5S+;*m;KKn2ev1yzmoumh ztNCL#*4B^mTLyGEUQG}z?yY$?gTppij7Kd*D*DBKN4)**v8*oL?ap>ODO0|^FeMpY z;Dj#?zrG2t#iYbQI>+iDt#t-IY1KPBQYLo$yG&cX`$hD4ruYc(moO`y>vn_1gb=nzGTBZ=wLf3Pc1k?5_!hv!A#@W$p_k#VR%NJdUv~MS zpeVbdUzT1E<4g2seCsAKx|9r#%D4l#2&Un6rWel zQSq;Y*``c+^2$vD^$|w08<6A~63i4o@7S1cbmifxnGadF1%bTI7ScN4)mGu5cQxMkmIv}%-#NsqCC8eXx1>kHtF zkX$@YMy`&cNGR=uWbhZcyPxfj^!_HNd0H5u(Y_NFJ2GvIwY|lj;Ed<{BVA^>ZuOo8 zH}cdF)r4*A+T51UICir>XcvLzvFv*3y>E2piR*2VX>WgcV}3ibA61Kreiza2Np3xwtgc1NE%%dlVO0@8Vqv&Tq$ZN z<3t&p&}xtWe(@6pe~9nRkQ6S@pS{A==0a*jaTy(tS1}70m@jeDxLjgI?JP!Nqudhjy1uq#_B?GYyh{35Df55#*@+mJLDoyU^%^_Qgo+pNHVsQY#Nhlx-&6$6|2){3H zd>af;Rgh0G)R##O-n}~h{DLe)eu|?HEV4@KUzQtL2Bg_A-?>?3E~7Hn=Bp8uYCd6a zVQ@C|`^A|hTVI+ZYGt^qGH6IR%C5WM^ql6pb_cwK!?0fWEw9tnO@&KCl6f@M;2U


D*-+aC- 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%0DyNRVK`KLFf;|ZI9>3NuN+A&SbKfFc z(m~^5lN4@A2!ZKuW<$}zSOgrcta4z71tPkNABYJiyiu6T$V1Oq%lFU}1aQZHD@%N? z>?U&EENJ3o$Zw^W(~8j~2bK2TW3Stu2>{=03?@M zjdtP_(I0mh6amR-<#})6*L;ff1|^VL8$dC}5^V%2q5tMgrC=<7KmS81L9mQbB!hN8 z14q~6-_HBeS(Z&cD3jl57$FUH>*?A+qqRWGC|Pd&)c7elcRQ`PlWRr1gmd3X_Zf9y zku%t|^AL&vn;G#~Uc*=3|2r-Lu9*k43{0PtlN+quR6}rBvxmTUe0}z3kzspEGYo2d zUgKK_O(VvDmFICC2&+K_c8RtDNKg7C{ZTm3nxUm2%-=poq%XRW70jQ@r||F}X!NR6 zeDx<#@$$Ls&VV`|>FL7iJLvZx?~dck{8`*okQ)`PlH)C-9BU((Y|0AdW24SDSLo3y zg;lWi)G%pQmr05O5;JMZu0fS{B1>HAf$)gHL(K0v$p->$2U>emK{b*`HNDE6Stu1; znUeG6tCM1_D20{>F>JS(5FkgfHG=k4{yR*|bGtbupUpi3H4E+71G`Dj=zUt%tdF?j zIll(Eys9ESWPv?2bBANehgckjpL?lB5T1sEVD6s&^!U4(5oEH~^Y-Q=h$x@C*PcCI zpvmMhGBk_YR@p!MUglvoh=!4Q-;?qTLxFph=L2LT4^yNS0u2v(KfHI`@$Oz_&YC%( z6~mSN6?@{bP&`H>`zk+6x2EHkN?1NpCkF7z66wM3Tr^GkR2|$vIDjFil z@T|&$rgl9$<)*aqJ_mg~gHfc{=w7Urk?4ZL=qiVJPVN4lFSl#KijVP&hLG% z_1-3*q0havG(#~K&MZKwuU{0`5QEA6L-{Pv#YaAc+s^_YJnQ1Iy!&ruVOE=;RtTdT zPUB8t-9?(zXz(?PnD74FC{Uv|(Av6F;gYhaxKKQ^jabbyJ!e4tz57GiV^l$TZ8TYA z5}v;OEfnH;o}VVQA2lAi5d^wmG6H4S;>f` zwZ*z`FsYpea&Zl=lpcuW6pxIHas~S8XKWy&#?%d<7%f0pL<JO!sE|Mw@D-P6cJjCB9R>W?>Y(QGRxn2ewLj@Z81;^c>>2niY)zIp4Zs+rCi_tH_#wt!xUHBZ=8K=MrD26YQBHT|g~B{VACon>dwuAicF-02 zItQKwCFgqUGRXJf`(gO=$sV8IfSI1Y^W%`1cps#fBeNI@4}?!;Uvf~4g%D)r8Taq; z83I;WE0A#tkN~b8?8e{Hl}j}P?J{tTPpvRySxF%oy>1syMU6i5 z2ZO(lfvXg)MV5)OvV6VtPc%kb{Yw`3HB2hK1X7ysV?9_Tg(7)f;uB)S|`W?|~* z5Q9TNUyq-E-}ge5t&J}iVPGjG`&>jfeO)wl&;5)Rs@xkd(Ewp4Be(0Q^bAVaXV)?x z{}I&N`S6#85x0k?C76JYZ+ zcCNMk5bc22alLwdUX(QVfDu1kfLk&gE~il83rfs0T}h=O0jSLBW8qP(kD{H{j;dqN zUm+}eol3tu?`a_-AZ7#Nd&76BYluf^KvF#;r)lO_x!2Jm$~(^k8dWwuCP zjbbTzZCT$AyxeAUOatEc z^EnGXSoiSXDQ*WF$*12TC4d}CWf2_Q6H=MOelhg47r`axueGk)U}5)qtKoVY9kr}* z*O;(R?HC4@RtoEj0g#0h3*YTDDQGbHC>5o%KX!>XQos8;^p@9&`}tYL342^Mm4MBJ zExV5?-#wqT)(xk#{w(Nrj#R34{bqqlY-U(YOq zl>r4g+;s;=psXg?g@0bM?+$HYmOoKQb?v%+FDfXjo|%%hhH4Lw)iXYUh0195t}STy zD%YbY6HD&pfL{`BODHf4crK8kqF1afi<{o<9uo?;7HyQD5k4h`fih>Eu8ysB0dsK7 ztB%6B`<#)90fOdMlBVrB#O2z!%g@LX16$4{tE0H-MPQ$JR!M_W%qy*Ffa>1%=QOxm zy|w;FFbCF*1!sW_+CTke$&q6RY-+86ecUt3>vdfVN2J=KjUJ={L+6o7Qo!2l8VE&j z%38L2j&Htd1>*7G!BCt2l%Z1I?~&%~XL{}3t)ChEu~m5OA*#U4Y?(zMfXoC#_j(JD z-F}Q!YqkE~9&<$+Dfi9iC_t~Ln>4yNELg2VLRr1Wd z37{VSz)~|W52c&?3S;B`ZECL^m)M?^%c;vMt-|`f?=A59d*6C(-hC!I^K7ybz3N%r z*u!6~IDbG|>kdD>CpMIB(%nbVLPrc@@@FCvns+1z@LsA1;$&1`y5Izkub>Z;qFRm# zfCB#nPfOATqoM^7P#|~-O>ej+nQ0&Zn=5g=^!YdU>(RV-qhNrAy)HwRc)|du6_w4^ zZpOaWCC~$rWV!7%_c!5f8PKW@?o8IBj5N4j=8(VYdJGB0w`BHyW)s+DXz|--Cbl<= zJ$ANXfx`SehX>C3e(t!!Fb4`M5#8OM(^sQV^7_ey|MB*?HIxOFm{reM1B`_dLTMkx zVyItY20*VOtTLMHPM6bGHnSo3?eX6mY*X){ERdPgqYwy6XWxArYWGvQS2?Bwt@+H) z+nsezU!UhnrGV>lGFC?@|4z!77@M;*wQ_aqc_i7-jBP7vr(Cg8Tv&GYRGh9DtU_NT zFA$lJ_q+QHh}~;m^N;^m$mh+z#f49GiuiGC4?tvcsJA)<=hCtzNijrVM5QX0| z?-QKcS#66>YW;aqVEA1GyI@8b^`V7t2YWIo^>erVy0Y~GGO~Hyl#SZj!qk`#mB&vP$vvipC6A(NW^H||*(`{)7n@F~R&|#l(Xvp`l-tSRB(E0?XypIKH zm{nC-*ib$9Z6g7shKIg(R<_31fBMhx6H4Q(+3tcV^vqVJztOV>tTT#@Y0BA;pkiI- zzxS;*TEuJa?wtm8w^Oy0jc3Mz!Zyu4Gd8n|d^CT~Zp3~48_coBR(7j-U130dPG+5% zfPY?wpCSJbW-dKn-TC436aN~Y@(6(z0y3YCi+0|J_qrcKjPO=z$1~mi9DQ8nve2|f z{Ql6Q&%r@` ze3m`!(TJ4&azBERd^Zo(%(O2lWY;j%LUs-;L8&h9K9p?#1BD>C=e~g^F;22!%gI9Y zeXthzpLJimXBK!qQ}UYFYcftCNKi0EJ-A5XUUKmdvVt41@f}Ucw(P=OI_|+m6gW|J zl^X_F)X>m`<%6MTcZ3*zM@3W2Eb`~}#%~l8Ochobr9nxmBMhVc9|*%gOUG|Z$hm(D z#q;+zDnRT0j@o^dGY>Tc!{1H;09OCGuJvVq=44=rV4qe=tgv)OY|qbBVCmwd5Kyzg zbv^Q{^}Q#eo@d>&9%5gwkpvhoo1kDq7!p`b>;bfLx3=8%STQSbEGE}*Npb{(+p!qN zT7xinc4!P;e(rwEC?FM^$c-1UT(Z0O5Hv-N!~C8okANXcq2|kH?|WUE9u)Yq#=$-M z@E-dJvg%kz)=scDnXbK--^b9YR$-lW%KV~d1t`y(GyoACclQ|6k~Ze%4U;3O>4TkD z?+-R0E2;2ptUSi9wARA;IKBRnh`vYjv_WQYms)nwwUKS)K;)>2!2{#VnC}X=7qfgVJ#;Z2t-Ee{E?KP5ro$U z?Jgd$L4ZNOvJ#bSMc=_U>?!W3r#0DaLeuTP}~Y`ikdP zJ&z$@ODLyZNY4-fhZ!#gq;FePpX&1T!HmO_G%&DK9sQ`B--t?p&*9UtO<`f!NN_P9AVDHh-6Dl}9Nv5Mw=W$9*LG^*dlR z&=mASaeyvdl{z%OLhwfEVFs@k$%9c0*Re)87r8#zv*uYoeE`<;`*FV%|N^Ty8%4|S* zbg!|>Q4iihp^&BnJ%E~cuI#IS#&3)^QDX4PX&&+PDj2zNZ z|0{C&XB~m6pi>A8(0!3|haY%(HXSXfciYFcq6?H3PmG@3nS;Zaw`@6a&rlrm)(R$W z!S@{BW!3GNfaIQzVxM8gxh8cc%O8QF*!QjR$I1sZexR@J&G=w!;Nc3ol_+@&O4s<0XZq!WupVf6 zs>LYB-F&#%q|oYN^=XPB;CRY|BTqWF`z}L9&MWx)c5??or*~`n0;uPP9-Kdr!hxF- zOIq4+ouAtiTykJ$>GVy&#N5ks8C`-6#O4k#O_c?-+l56Jbe9G6eOp0*dSLvo%P<`! zxVoY}%wuU)R$RX$fuMp-;aPh;vK=TA#s08Y>GLm&n2%AGOoNZ(3!}K@vlDL3%zW9Z zW*#0z1iw>e z@oC3Z0P1W7*lhkoz(NSI+O6LEojpbA*oRL@e17-!pu@tfmj1k+DZF#fXMX)zwdg?C z-zoI?^SWZ*e@k5tD7pG@*7NsvRbDa<-~YXxqQue@n|RGW!Q6RR=V4d}ST6`TOoE4N zNN)x4x@r!Sac#xtVXT=dbzsd3MRqk;h z-jl)Neb#bZp`Mu|WXUhe;MQ_37J2>g264M4$2xW_J> zl5qE26m&7!bsG@sENj0k>ik3f>I6l6o}1$cF#8ouCzU$l1!(%a?c+;U1cQgf5Jooo z9&>?U`yNk7j&I7)#`kD7tUl4vC9GU+COzRhT6dqn*tAFy3SZAr_wCzXb!cmMH^CfK z+fz{iv#B~m*lwVzY_$oB{wo4pMkBs2{wmLnvO1X=ZT5rvmu!{k_h-+ximsk?BUAG| z2WEg4*Sg-Gv4@h$p_=@IQQmeTZLL^GkEO{VEPOCXSEQohsdK8*f#I*q9fQd~QU*A+ z&lSsi1o2RA2zmxX3A%yWU~QC)-B~}w7koP_+r9?5@|AN6S`@Sy#gvk_Y@ji0N8x*4 zE}->GF`tZ!RcbkH#5D=YhF}4mn>F+ydU>|ZmWT8g_kwuuahgFR5Dm=;(I7lZ;e9** z&O`gVS&nMRlyI2mVbeKCqmU#B49uK22oxe{8`V~7c&#wADL?Ofl__KI{1zW#Xn;Jeg+l(WtdDoU1XHepK{tXGhrDc*ceRt-mU5V=uM+e8En(U z`_y(2l}J9qFQs6cfUm0_*Ps|=i$6O2zixfKsMtFjOpyjmL>nj!^&BUzWjL%-t2b4K zWA0_R4fjw=w z?0Ug}y-L?<%`En6X*&kjK+NZe?q}3~Vf!Gahsg(Nq%0J!#mNS!9go3K*%jckRv^rV z06E!EnCE^*DN%_C;&L`B`NmzaAgO&;ogm+DKj&Xy45h;tfA2n705sAboKc2Ud~*eP z1Qko&u^^bxbUaSPMjMB+7aJ)U;Y4XA=lXeYt0d?Dt4dc`$oFlny8){{iwCN`Cp!9? zYQj9W$<~j2Hj#L1-LE>8TQmz>`-ELE{j7 zloT-+P$(xbZQV$lmOp)OOpLvT*2oYALIicCXYc=}Oy{+3m54_~?~UNkJ~IJE9xfl! zfY#P(!_{c*G>J0-QjL~|hK5`g#`FP?1&Kh_K5PV;=4Tpfpnc}MB}1;OT-<{j1LJ&M zm#Bf3>}J?HhgJ+h1vaxFPH-VW=+R^j^6-3UT>NGHHXr1{2G0nna{YYk$@F<>$=6kT zst!?ls^MUgpMk!weP+j4$R>bdQ1*v@5}j}7ZM%Z(CBfS)xyAr2Ukn``qd_ToKbac< zotYSP1l1Oee>($Url7uKquaz?G}#b2SjuZhiOuWlvN{66<((?BmMoQDwb-Yk-A0o8|FB{&R*QbCwXt{ceu zgRiPR;B%p2JMG1~?=~~-SqZGabB#t4_>|9Kp>yD6M9yEApC7~kU5|A-{PKI7j>HPs zm(TsXsvffgFn%Z)Py^4CUnWMQ*dNDNW}oJ7X=qSDncZN0y!bwALg1Wva~tO3&nCxSbxM4> zw}h)igL(D4b`G9-bgNZ&dXh0*g=*|KcFejd5L1L~sIzo?W;@ zUWay!3v0QE>>L+wCHQmSdfz@W4`mO1k;5$x+HN%kd@avEU*-sclWTv?ro2~S)Nb-J zMxutfu`PpvhOJS^lFi#P9aO;Ta`a!iAnhODC>48Yg+P?A|6zV*^drp>vp83tuj`@8q- zGqnU#TNG6X#_y{LR@&VGX|$yKHX_1zg-%wyS^?Zx$S6w&fHITd5yaDRDKmb;^8w@W zlYee!QZPQ5f`*4#WA6Qa#h*3;rm2&hO zwIdD|TKTSPGK%6=bxQg1@11(^MicyDhuL^*F&5kFTk+tC7y`YKULA}19?O2W;|7}d zP%;R_+2T|RZW8)_F>By_j-#E~s7#fig+HUIk7~8+((mo_0}&cFwf6tes%JeYO$v6f zs04q^5WSm6j0Konvak1ZcchODV_(5^w{r4~7CNVblN_VKy4TU3Yuy|JvBloVzO0b^ z%ssTW5pl^3?m4J5<1-S|f_(i0*{_GN(%Otsf>-~}0W{A(7iX=EI9ww@ zb*?Kv&-XAO*9Ppua%NpQk^5?|hyVZ}07*naR8UAxFhz5rcN>~vap62*r{u`?Su8or zYb_9T&b&XU;O9MovDv^^XjooHiJX5kK8oi+i|@dUN)6o)Mn}UVa9f_L-iR@Ll2&$8 zsIpamjDf<6aow;2!2CRNEDJhNo>|-fH3;kU7MLjsN`2Kemf{)D*!l1%<5l!B-RHB! zWorJmr#rU`YVPiJiPG}d?D@M}f5!F749FHT$)AU3BzKDbzMl#-;WD}YoX!ldQI?AW z$!WVP^ALN?_Y3xC&{@ej^F!Uq;}xF;Xc=a=8HUo zmrxqpVOp;4rIS{2DKaNPT?7rZo7kI<5(H@@0kn3NXW6^Y-@!m2V?u9^6@#Hk0sVeN zfLHKl4VzY(4d)u@A~FcCi~MtiB{jUnDpCH-Fb#?2DO|SxM!d4h|u%8uG;qESGmClCAm3gFFI~j<;?(g{a=GV|l%X_0JujhfaNlVQ= ze((DnG6K&+_}Pnq;y@2;^4)A9AY%>NrL2yg+C6}=HrmRKi|f>;NU9=eGLMK0fOgG1 z^ferp*Iq0coc=YR`-81hRs$F9Ff~7lmIv7Y8}i$6+0E0E6I_Jp-S%T6L!ItmO){u)l|u+(QtC z3|WAKcyk}gk>S1OL&-dq0q?uy`PztV&d9^>(%yqWmrH^-pw!WQHtV1>kFwm2L+EII zpj=f5%&hg#>)Pru1eUdI3aa%GN}|kZ-N>q-2oCb7UC-w9Tbq(i<~fI<0y}}GuA+qY zoELzwu`Vjkh371q1J33(KASxmna2m|5z~VGUNNlYJ^KOLgg)aLi+yoIZuQ5Yjy!x+)-j!~#0zA_&Cc zV9z^fM{ux%ZjPv*-|@W>2x!H#;N$;H@T6lsSg5Zc60-}K01SG}oHx&V_W6EfOEMtV zV(+!WPg_;2veQ@V{}XTtWHo5Wr^!Pw=3g!OM*qvA>-50t00V zjQRX&0RS6lORBpN0H0)Q--`#8To8m7r&^6IZX%*ssMh~o=AAWzpt80j181O>b3Y?AzSDyqJ{2Ueljyh=tI-1340>nG2aDfh zl{a7~!a%cUBZNfOmDd_&wx|PmT#i{CMM~mSuF70=;q1s-)e#;nHq($Oyy3+)K+M#T zq#`&m3-d}MO9JlDNFRLVvnQT`Sa=~_D%Q{Yd9Mrj3e&JaYTxrges;BnUyD-vXwcvB zT~bq%e&M4G9)+X6sn;Kk{u(7gAP7VuDU<{c=4ko5&-^nYp_DMc+kPgf;vW&~HFTL< zHX;G3;J;J-1}uesxjEt5jO0QR0*>g%Z^Hz8FbTf&pc@~;O{-w>hJr| zczfh4d|4T~q9oRD?*p0B;#BMj`%|-aG7cyy(yvspv9`OPDbnS)+2ghNflL-go2~S2 z4={rj;nizU!MUa(yi>nzddurh_uy4C2t__j2DC$A6Lg|hW#btkteQPi;XZh{3TZ@; zQyxht=swSZ3$y$ur}`HGXfC!Vrrc3mtf>KS877reg;~_VXW0w{6vl%wAyx`7g$TcJA5_R}W#Vp*)9GN)eopeI;P-dAM2&$yKo8 zx#2%=N7!MCsu-axPg}_nODy(PSzzJMUqy7+7AX}9jWnxN+Dc;c+q-JVTcES!E4BvQ z2TKnP+1Tuo;~xAZ9f%S?pMlo)XR$&M(kZ3dXJEYcM%sg6)fwPz@5MZePrW(U-H}+k zx0-95-|t(Se^)!^LK^i|PsI&f4{Ene%wP%h>qur(qM`?e&*;T z6k4{|lBQ}!q0T(RneBJYxGkWR+bT=8&M1Oy%#d9I)_uvRA>}k(a{9PbcYAoIq;3-XlfI*<*THrFwT+1NWdBZf<>@ca$xKvjXj>{fkMsq2~6+&%5sQ{nFt ztH^ZRtot^!XCf2~E}axyUCwTF?Efmen$mDZUj!1OT3+^S1iO6|Nmh^wR$OoPS|NnK7}=#kZn^M}(b{Y$CX& z&uTucUuew^QmJiOra*;#IYQ?ywS?#j#R~KOxeRTw)>}$iC35dymr>wXmF_7T0n|$BMl!7rpKCFX}K4`(PQzgW!`)k0(m~MOlyHyHY6dOg~3j zqYUs{u^JiGPpy{)ELb((XWm*`Gho^7ZQ1&;c^M=^QJ5Ke1DIIlt4hD`elQ#s2e^dw zBvycu1A^v(o$H&nBhA@pa%h0N;tDbRWrAPO3ikk^%fllHMp4Bj*~)P`4jX&zJ^Vjh zh_%S=UWkn*4-+~j;m`hr0_)DP;JyDz&)N~mu-P4dy<^Jry!+8RlC&^)%W@II+b06y z_Gxa1b;mMpjYDVf8mtorN{-~S1b#;ZQ0nm3$%aIRzqI-JJLutHt8@1lqpEa2yx!!Y z@9T=@o!N}qk`~Im| ztck3|>j5Dh&8~;P1VO6!t}_eYuWO^V5c(?VJ&hH_C6-rbN$&Z-mbrPQZz{Q=M6$3# z$Y)l;=|b9MH|;dvC$&mo4*2ib%Go@k?)c^eZx8@n4NiUq#k^K2^#-^yL&EI8wKnw( z%u=VodN{+Ly~`n*bO^qJrqV#qutp`v5(sdSMms{IvCO^2I8`6H^u3mqb+;bJdhh8; zGUV^!KH?Ufe<-DEkqtXDGQ1Gtk0PZ}Xn$tDL;_GS(bwf( zZ5U){yVW7&chw^z3^HLF>jtFe`+wiP7Umj7!2rvIbTF-HZy4Bep;iWuI)yM$0w{;l z+oZD@b=KN;vrumAHNNt?60(4$5?NtU7zDGyL;3AzJ6yT)V2w>j>S5{yChLK{>vE&9k9}oA=ta*peZf;~%~Lepa-B1YiJ^RJXQ; zwNz((xLgMTgY72TI2}Z>aR?0)YetTL1n4g48ju!rC3pATS#d2&S?%X$YP2b(E6!Gp~vmQQ7r;e5dU`q7+KcA|vF0 z->IsUv_Ah9Q}s!aL#HdP48lLpC@rJ$zKd88nyeH|Z4L}R>mX%ueC4;yTzn_tkJ>&I zf+rZI9MRSY$!j#G}@>mZR5DMj%*}0u;)W?UjDu z$dsAY}rZ;a^m^y+xfdZKxPlZeRV^NdMz!C zgK|Z|>~qaCVEI?L<;+KSKLWBaJmulvBTPHFsU7Gm*0ol-tiFS(kWKZ$`&9jF6>@BDbg$^yS+z3;!z)>uNn0RKjb`5ItnA)zUhF9*^qiD$M4JB6Y zw#CiBGV=ljAnaB}=S2@n_M4#e^L>;A$`v`v^8Oj^UvYfYuzuV6Y;-(U!e%p~i*{fx zlXL2_=6=6-d67>oX(;;cd(i{A;+A{><4_h^SwSLH9iC&jj2`wSq>wIf|VHfi}2SwwzP_wmtWk z(bR7UO$+*eOgs53TriZYhlX~i;Q4*4=~~;`ix!+OtTpCK&*!mLmfSE=(xaDpi8;T!mDoNz zA4HH)P-yv$IbcCV9@d$HQ;dY0aX$Awhp6mV?NpjJTLw z@2a^L`y8^hCsC`GA5moAoJ3X0%jcQ@%uI*zoE?1oxef1tRvDaNF~R%pT^~(*hFm&I ziJx0?8D>K@B?R|XnIFiiuX4?MDj`mHB~VC=K*|F*wa)~RGGOFql%wQjVc&)kIeq0( z%&tK{XAhY9nb-o<+s-mfxOr!o!?r|-(8C+!|b0`g3ioH&w%T9J)2X=Mwv-Vm=&51Rlvmng;JfmNEQfl7LYUIW5|WvF$Vmby%y=E=P(3q+J@jn#otmR!E|YJH$r{I z2qrz7doneMU~j&=T||TSMwu8!Zx|(fITJc#9$OSLH2Mx9$6|bqriCVa#|0@N@pGO0 z%;x^3r8)jui@=?c2C!1fsC%t-A)df9U*%D3+u0Y)^D__3J-om6adRAX>51;xQ}&wl zCOLWNhw}Uz$ICx(axc5zindw6>1H4jF?2p&^9^(lwzDB+n3r0+>oAV8N_w?`kUV4G{?mk0X zHsBfj*%Am~1Y?BEDFz2u*gRl9S{p$kntB3k_RSyDW`@{b!{9I>!!SVxT+HKatF-_qTAb z^ymH}%E(dR_ZS}d3e<*+ASHr%Rv)ro1hhePN0Fy;_WmSNyn7nR>e&NQI!Ytm z(#tn|=JDBZ+<>ej2iiGM=Jb}z58WX+8PtI!nKHzBfvhg!to466R{KCg`>dvsX#=BtmEUJCuvXpv9V@m2 zO67EGx1v}^Ykd&t9a8U?zC^cdRd{fft7G zU$5)Y3AoBA=?4-X!^#ZCq}%?Sy}}Ln?cMGZ- z!zimMSXqH=Lvn(@xO?nX4t>d93k(9Zz2>u*e5@CKH3on^qHv4tCFtDpY>FrC=cnxZ z-^1`c4g9hNV_}>yXtdxC>ud&t`*B_9Ql%{wp25jR06JeHy?kBKfHhhVn0+!r_pXig zro|6?XOt)mt?7h(y+#HyjSNbVZ0$!RqIwqNJaLWGEa~_-4SpX2nYoM_ZZB)m1_4McXd)IvHVeQ#iUtNEH9~5wq=mdALwnPbnIx}= zQv99j#e)d0-K2Lg5l~E(zO*-qQ;J%8^p{iWY?$pMxTseA*X!DtheT6S?OIt6^kHWn z|E*vidj5=(g;f%rxE}w!@R|QzaS-tc+KiKtzl!Ne+80*&?x}cdE!@wu3m^QTiD_I` z$_OPj`&XUQg;-w}YN4>Wzn@bNK09r^{Lv_O%YbhJjwB)YPN%OF7|peDvE8It4{? zDeC&Cx9cBZ=x%M|IvSWh?(}n&ys@a!kMVxW3TJ! z66QQTn#hptZaO8+;20B9srcls3m`rP|2YMi*_THTM>}n|{Te}+X!D(|$3s;a&bzKX{Nu+{PT(gZ+4-SIDo=Vwh0Dsy*GgXx{X!m}jc+5B zu`Ztik*&j@6;^BlLXg&*GF(sw%(Zm~6;@yVoqq$Z*?1HxN{nZFRm^BC4~BU5xjSX| zZd{jH|2)TUpNKr`&N>R1lc3z+*uV^&k=2ka1c;W&~vPx&0vXY>zq=o~)lg*mfjN&U|lGc>}`;cHc#l@ zO2)Ru=kF9TaV_P~Jv6tsz>L>q0csbs)>zSxUA8QSMlPO6VMn`Wee>tJaYT#J@`qN> zsXcZzPR>}e4~d4u$3jRl*ha3K8ff4pYcN~%Y>M;Dlpfbu_aqp~Yprowsd5VLFpA?M zz&w;4X&c^4E1C+iCH*!C4GS3k@M|G#B}w1%`J5kDvv&x81`H9@JmPHO=pa4ZAp(_l z4Y2syYpnay&Y-~X2tT9Wdid_o9Eu5Zf+EuO0s&Ro3BaQ?wE-H{;8xt8J zV}zNF$x~6XH>G;Gf5kc*Wa_ju1{cH%0_~nT0Vt1=17ZbCsUp^qZUSpQBl^Ni;^EM` zJ9%Z^-!b3vG*T=a8|c^ounYxpEm44`Ac>N#4vS8ol)p>T?=%UKQ{C#fvY=yO&Dy=t z3FQSrx87l36k3~r60mh^5rp-+&#;l93n#pI-D9m~-|nZQJXMKUT$}?VItO1XGiyFhoQGr_pf=T$zS5@CP0VP-;HYRC`GpKcymi?K6$Rq5}$SE<4Qn=@~twJJyJ z;g^Gej&JP3lmGxA07*naR3YGC4T86r3kMSUdi{Hd1s{u`wYGyh_$|_@rKxcC#{2!TmCwb;rMXQLElPR_b<2D+&D-giVs= zbX7igzH;99c~1r0CEahAzVgDtU6P7Io5r#@nw-!06*Pb*>#oG_Evd#r?U2%XHeT&f zWYBaJQ?=Gl=iaMC)=t(VKuYk=3fKD!gnhSEVI4svr&QJ5iNH+{u`KP}#}DL^m7}SM z4o!WW88jXEBU;NZHbuwKS}u)vXyw(#r?$P!bpi zlqPFl9uEO&wfc5esHCk+0G+^3mriD+>)baRl}Oi?TrPfiv-SO|?NfpK+1FGa_aKPN zzDEVq_c8{S{omywGp9I8)jri&Aw!&d3FMTAEj91$Mps%L?Y&p=EW{nyJ{x{_LiuOm z1%ADx^~;y30)`ST&FFP11fGqxoz1l0On{2#$ykNtXT~3Uq!q_XELxeIIQ0J=MfVQ+ z(%Q*pXRr%xA-6^uVf9GQzJrhW?zKFU zv^B&(X+I2xQR<`ktZHLG=3DRGKWT0yg@CX>$bf4bOh>+Rsb)4Mu@w|nFHa6B7ac*H z9wn-#iO#`lf_tPop~E5y_*hobl-1`cOt~+mK+D}H1^^?QajZRnCF@VGFgo{Yzt;hf z_5bARrHy`vM(4fmDVJoeAz(0a66|w`Cu>Iu!Kk^Ry{^YVrn^IlWX8a=0AR?2elGj7 z&z*b4q*q~Yq)Z?72DP9qD29M4 zbj&yl)puO0gGOga%RqEJkq81o3a#a0r=K}4i~Y=3!sD$CkR#~am-Sr5GlGq3=|ru% zvq*mKlIJsYN9t~rdgj-$a;A+lHfe=_;Nx;p64j1dwO6+Iq#+5)_3Q^c4KhUFtXS{m zZ|d|9U!GXOYs%ddy>ZRVB5m4l7@0t{k(P$jZ%F_IW+-xif2*3VU`%Ap& zc~6~41(PGC=Rw|a4H#dg%^_znrRB&faPnfY*ExkHt!H~j znlNLX>NQ7vtMYlhNvG`Bqo(;39eJlqEYqmbep$}fJ}t@lSLTByTcW>jw~U_my+2$B z8hnl5!PGl*o_%U^{MV*&5!g+8wwX*YO_`v-cW>?+;j%zw8n_?(z}_!YmX%8W8=9Xr zXk8rEh>~aE2JQr?l!hb)?`(aBp8JcyyLQB7#@uu7E62-fn5xRvsPGw0M|mPJ>)9ET z5iG=|atc}Vo%45^x{~KXl&$0Yg9eE&VSwJZgTTa0H2iX5?b)DA(>ZX)!}YeVqOHjW zz}($W=-2JkP+B;}-}pC>nd@wEi>#nvtF4Zj8#2?5K@yTng(>LKSkBa#lF>{4o<2Xy z2?kDUs8BR&`_tKSYvkaW^Cd$&XqJJwJogV}2jirGIEZGY-SfYU?*GC}qXh^y`Vfz? zTy+^Thf=62{kCay)eQ9r%TmSN&DyiYxlH_((ZmLMBE8@WUcei`Jv?NX&|q80~cb^X&Ys7xy)8@e^51Y z_j~tF``uZHWs{u-BKhZH@%j9pg*B-eU1(qno&z#e_AM6`+|)6ny|it>L}9Pej$I~= z@ou91J{aL#v-d!V`QkV zg`PbaRB%0G8+S`zidUvZP-7|E`MTA5>6td9vg?!_G9OU;;0mJU3^aQ7zb>cLKo|)6 z4jgGZ@rbnFBE>_tqT{E3+bb4SY3(5x5)Z zd3h}rq;#xw4r@SJEgH~A>9C&hhp$oyko2cYzcQLDS-3RcMF{{w-+fY5prX(C!O{sh z9DCxEc5M+CcJ~wQEWEzlyG~yL-+NuB@aylya46P7xuFcOf;>CTO)97Ca6KgLNxuc{ z%Y4=-^PbE?X-3hF@ql;QsEd-~Dvz~SeD1nR6}n;tP`&#N&*4rO{m!#i!201wpgu0i zducKEnR{{=3j4Kk2m;`ZwZ7vYr4=C8m_t4!TMRRYbFurt)eJ-!Q) zYB_+Kt-i!0enUfUVO4y$=b|XM6KAjy{kd=5w^0l9src!s(Jr3Lni||E0_a!#M@hY1 zGM#3iWQe@!0_u8NG13fJM{bX%eQd_1Jq{nY=a+g}+9GpX0i6P9co9 zf-_p2rVz&lp6DZA+a_Do>C427&wX9Yt}}gpZ_hM1&!f%f^1OVbWeE3@Bg_Qf@b%Ak zt#q)0nH?chaLs<9NRnyT)7+P1na!9R@rFJfynt1j3oxMMpob^3N}LwuR`O3@l%QHY z{#FZ7kB@v_1owEJqde*{H5c?rdeTb8fi=DZ&;H)Cd$U0(L9Uwt-i6;yX|aQx>{G^X zShr-MFHO{bX#RQ72rq`r)W_dAmAK@hu=niY4*d)i!BLw*kzCl0ng%xjL@YyQ(bw_cv@BjU(ZQN;T`8u{~C#d<&$Ew4}#9PTFw0piYUX(_uVJx$68ZyGy+;H96(8x$GNk~WL>fb z1I12b6?~D(vUN&}u_U05jGur!P#RE%`=BIjR45}ix~e+Y@U$dbwC!`~*t@yzCC^bn zxNZ5gze6j6cf7XCFAUom;(8_rl?dz}!k{FH(ErY~onns^a};NN1pIOc3o{4I|ASsp zHgZaJbM)mVI9xf3sd(m9YI5x4@w{OS?>>kVqqIE+XsG3aU|Mf_MzkGSmBJFmzuC07 z8dF;htm=96agJ%0N_Goi_?XRvzmfj26`}=}yW;h-D?o zS%=%`0eV>Y=WBj49moPD$Oc=Pm{!131o$wi3yTm$D(oK2A+2)UK+rsET4}N_Y0X?o z7Op@r*gKR^TI>z5vhRK71vub)g!As+gGI>vEDEepoWYL>|Bh;FKPS(cYeYHndbeAm z(-;vq;CI%O^#Szu!{5+qXEc7?CtWc3S8~{?BFXwBfm8Gg~VPwD|zCualZ+p7z@%s(ETK3}! zSW^5^W07`&ZNHo%AJz>7V-4BN!^=Y|t*NO_qZD-!!+d8?yKTEe#4p&4ESw=VnAfP; zE$F!uaLWqe;Y-WaW2=m3ZO`DV4-NSfrXuGC0ApFp4x9*h-ST4T{byfx&1Gf4bDuK- zdVhz(x!f9swoy3KobG*|yZZzS=OGEqr82~A%a(Qrf(M;mrs>(wq5XWH83DMstcA6H zDw(ROf2dI=t6+N(vF0-vBgb9%tlgzW*u!h^Zp;4t`}PDS$;D~727HcvLKa_j28(VQ z5Nn9A2OBP7(ZX~ft^W%Xg&^;2|7AQ|ZL^(^ui^!R9Y%C!;3q8)8!6|A(P(8VIrupD z%tE2xn-a}l;Ril(((w9ORa=Lkc94$X-9w8C=tmI}epn2jxLxl6E#7Sy$T{}hZ}Zvh zi13AV8rptZ8{p(`yM6*o2~FSfpvYr&5jYR)xT^H`eIFqkE0yj*$*AShIcIVOuEQr5 z0ohV75_84^1@zmIify|FC{29)3>Gqf5aV>@?QD9w3m_QDsoL*rns~Y&bj-L9!9#I< zIaYKOhs&y6P3p9DzBnsz-N>=(pPxe!GUpW+oxNQHeA&H}yl?mH4l;ux=(gqm2k&M? zH?6Ja!O(;Y!$T{kuZRD8CILT7j58gW4+Ff%_gbc0rQ)WcbLQC)N>r*Pyv&WV|KoY} z;d2HPV$~1f+}96njwQ4Ztd^J2k>XnCbG8&Uzn`4FEzx_1V31unuFthf*W;Y6y@BXb z=7Ehkl8Jax%1fE+dG2R32@3cRP!pk*pW*CVZxAiJAN`%r2)?cNIUv--IUpY1Q#KrZ z4*XD=X^B<55EQw@_o^6}p9_sOJC(9yuM$T zvoFZW{Z!rxnyjH|P4y(D&ewj98jf>)2ldHHwcN}H9pSC7&-*5%U!v>D#46`8)87U? zpqY0fuTUnv@CRQEEBQ4K!Hl@P?n$RbFMwR2LjW;rys`A;pS9Ntr3Ib)2^oJUQvow( z`cOJ;%^l1PjFjg0fQVdst$meVb*S1sr@HFifZC!A$>~dFs#9|xBO2)l0*8`7I}MF8 zHMB)d74e)Je_WinbH4lE-**H*H9_8c1qDH(spspm4~)WPno;Y33;h0b?|+tig9uQX zskra^R@W&E`cdmkKC>W$UXmOr%zu~X0ral1mj|*1H)}N1lOa<-`MZ3`$Xeu*dE-8o z{pXx|viktvS4q_$LF!rm_K<*HuEC_8RBB|?LcVVt3QB8?P;!=RVQQ(t4X zmgu_2ob_@){CLlZPn5APQD=%!kLzWD z*SlRVeWKHTkneJuZsQ33c~FOiXf57c!c%_SX-1VFXz904>i6&M184DPpT4*)E%!eG zR)yPh{*PIT*DR9fA}E(G=GH%S)@#K43Z+}(_)uoL_}d+{bmqq{E(e+-a0HMUtH!k! zWy2$K&qS^lej@&p1`?%{`=3XYKY9;>7h3(FD}dD2TsV~gf5-=U1_z)14^dW#o$-Wh z%1CA2aXm-MUFnp8s+lY}=@u-guf`dEHJ^D*nQ6mz5D2K^@yzjZ)tA#@R&G7PFf4kk zqn*Z~5$77Elh$Xi8Q+sEeE9A;qyBs@vLwRo@L&kjQvr`#zinmY-hmTr^SOGnFCzM{ z$9`>!PkNN}o~kwTM7nPYv*D$8<0b}#m6<%z2ejhFk#YzoG($NViCMs@2;8$Hob%h2IR5d}bU>K<<=BRMC9FMln+^8$E~} z0IOB?P!gG?006KKzU$4ZeO4&tG}8F@)1Z`aK54em;PRoA#3mkd2!oO+q&q(MKqDaq z6yh9cuZ4kE8POS09$Nhg^y0vspMiiR!AHr8f8Drp39%n+^mK{cIZx2--l?&p1+P0^9meUXMC}SQt#0zAmEP?ev-y7GpJ5)Sk-` z(^Mjw_w!JVjP&!sH5O&lj%6#HWti7!(5pN@Ej9aTUYbaGInvDEU<|l%^oNnrD3(ba zECaB?(1?KF`HuT4mKkKm*vNb+A1fjUvCPzVJ9y4B8b9s$0jXLewcA=>M-=NYhf zuUSiuK_{3>AlAZmR`@sD4tIS|w3wPawwaw7ech*PF<&(9{PqcG zvX;$52ct2y_XrF7c4+fm4wiidUDmS6<-I5_cr=HCQ0*vb6%KTls91gG`CAU~RV8wC z42S(fsi>YYtTl}F6i}xj-E>s4Ky%i^k&!HVGYV%!J#v-Tq<{)#B5CVsEQ{GLpRt1f zfmbqQE^dP_Wvgh7Zi-`tTkd8;D2cvGW<)8y)qpqB9(*YEL-F9ts%+s13>8eEUMA;$ zhoR2(5JJ~mXN8%AJ+*(M0m-@FZcPt=Sf(Pa7tcHQ`q>UG{B`@m$I90#x>w3)=Cg-VLs#C&lD4k z2gCB*D4tu-vTFW6hlhYB5OM~G0_$U&wR0dxaMFOFOgIFU7nvte8=r?3zqg-x4?dLx zuoN*dUFz=VvGpy-eN^_ZlP}-1H^e1a#|z^)W&{KUqD4MRw%8bglKUjQPl3Ey_kH3L zpn`74Yv2pwGAIlylmCJOV1u&5sua<1WdO%o9YRU2#LI2JgYb_dlG{F$yYCKj6Ntgm zpIU4!kvG5+P(QWiJ2dMFNVyP~U_f#uMd>vz-^@Scpm+m z;A1&%B*o}%KiU)v#kwl``xOR8_KEkfi&=m6&JSVEvt4c&B5U!w?8+p%*}}2e;;)x^ zzodxE{1aZ|hHRWAo_($K5QI1vhz!MvlD9>-JdxG~z5N8-KYZ@}C*DMvI!5vzg+Tw= zD+NDaXc>g7b)F7wMEIlSgAai0KCEIiZMP3fX#09!bD&|3Hbp3oRlSy>w_@#FEFgaE zS`UG^EsQ4XP#GbKg3ze zQ6^v4K|~zoeH5ur&Vj*U#gDoGFlvUK^W6Du)j*bLWqn4PS(nMv6+~8 zZ_yjHDI2D1mD?jSrSDhieVdmyZQa^Wavc;PRf7aCdAh?pwMz0e&jD|eYDM0t3m_Kq zKlGwOA$>jG-(s0|5d#m6HS*UY$~nyAW|i8yd22wU3Kq|Xau@?K27OpaG7cKS$7kny z_QM=dsp9vif2FEe$DoAE!k<}@s{%I4Et^>J6tESnxySDuWcPdbrh;ArP*(U=OKWn{ zHT3?3)ps+4@7$Px>(&tzt{oQFqozj3ICm^F<8Q1V&zB#r9tr|$ zX=Xb12H_sri)WtPOX(N z5ynBgC2ZM9bvu>vImE<1X}Bh%3}_v8<|0nJo&Sd+eBE9R%33?#&lKJfF4F?-4nv+J zzk1ii^Fl+~i?Kp;(Lo2=HDaM*_Lk!bxJbJ{11Ygo$wo1hACmOxmqu}<{eoiuB1m#+GLla%z-OGn31M!R}q&fla!?oYjCOo!PWMz2t(lgfd z?q^Koe@X$QutL1EF|oO2|2E4e@vHJD-*@y9hKOz}kv4Q6L5{aN#Hfw*BCso*-7|LF zK^;jGfV)Bvy+OQk&bs%y9@p6%|2z+h%UyqSt)SaluAbD^-OKb}0gV|*qQ;s#7>3ei zz5;^bbw<$^YikcqS@&rke*ZS8$CHOLSVx6i9!ffO{xj6`xB&OVx?aUe$|mj(=L{J_ zNx0ys7WP{h2D-NcvL|k0r9|CB#saui@?FcN)$m;kH3kdU)$W)Fc;af(KtZM+xti{Ee-;Fp{_qKVqlW^J!AQ$tPdaz zjr|kMG1Njc@b9N=#uWZJ^V9!wv+2Ue<|S*ry8PaL#`)sVT@NZ_dH~tbK=b0|Uq{J= znBA`@CZMayw|wSFIObJNC>&ktUqEits^59EmP&2uFuc@m+Ncd#0{e3FYCf@GY|&Xy zWczKd6G)mby}%xG4FM4-kh!fZ$iNhDNfVSUPA3l%#n>doD^kSr~ENaqA(`He}6^LFp) z6L&VA;5@EXF=s%deH;rW^&{)WerM|O-{|VG#Vs&}22`veJsvXlq zKNAd-zqu#MWlPU37TE0pOb+*2D)RARA2-f>9(f2yy^dF(m<+Sf%*wgJT3C)Cjw7mz zik3g(SNMBBIr3Kkp5WRqO4 zoG+Bh{^=F@UU;(ZzQLDUKVcIq3$)Y|b4zdnfIpGD3m8aC35)L4Foc>}glZDiY1zaZlZsq-*OTIA!y`|>d!ZGa zV1(U+BzCXG$GM8ht}jkP3Y>41Nh8b~5`nHJNo?LS!=SV0YS=^0c@2AyY@oTBqh-r$E-ZybjWCLjN~YY#H}jdDL`_@B!+kY$|O#C>;=u&nEA!#OBpHNeSU z`W@eHtr?65StedE7YlWo7|fK8royxG6H?0r?J~ZM+8EM!BTSa7qPHKCd)u&Uw*b#y z41X}Nt=bfAKAj>|$-E#b53uBPb0g5}`)6VT>sA@73epjOvXOjiWSDPnXcQj{?>f!u?kIsW1y~})#5PQ+0_~zF~n1>YwmR8 zD6$AYn{Jr4M!s1($}eE|)I^pBuB_7^mm90W@l_MQEH2lpIqq9gWFTgVlB92a#tC8JL)IT88+pZ5 z&I!`=5>I2_H zuU(}6jom@{wSwp<`J;yfrDb%~H-K;kT_R=TEW$z07=FDT`GX3MrBe7VHIl4)yrY=3 zKFgSh3RJGI+y~UGi7gAa<#0;zYT=E}sqHMmI=JXfFy&Rco^nrC(&AY7OYr`M?sUi7 z5l)f{D9d{&xL6I|n0k4rH((e-%F4V>JV7b#zG`@~Gnl(+T5 zU33T_<~|#P#^h3~T)Zo-ID*V)y&xA(h&gnVDVbT$Yz;rz5wU2YSkW5*rh*+i8lU}C zH20eI&Spi1^W!%IxiSG$-tqxLCUhsNoszxH36YoUufpF200Z)c{RgFMziu$H-q}Hu zKWjGfQD6UFWvIVISvv07wtJlsWWO`@JFXLB}I1bO`mDx)Atk{pz2L0?=MnWL z;t2|xU@HLd*B^cM4dY;Qb%$WDErm^u!4cqVOlPhym_dY!u47IbuA311d_&RT8#z&6 z%!kOj<*#gsBMi^{%slXF37j?$mQB*{m)d1pnsH^CbU2l>RdGc(i$47Jbq#4$o)7(gz^;3c%9Dq6+-VMW0EHkvH~Q#-JkaBL60Z1sqBh>@eL{ zCnnLQM9y^ZE`}FQas+zVznGz&Tcsezr^#CM*6B-ist-2#{M6}FcECzzLjU-d5F)CF zW^z|~H^zYI{+WBSsCRm_=;fF6&EK0B?Zc-2Y+n@7ov7aQG2Crw48~URS&@Q-0VZ5P zb-l+gfC&r3`(Y-qq^mrOos&ugYI9)j1c|6v9Q?-xGsysGu{|@dVir%dPqCyH6l6yI z();PM#9|Bc6bhF7u^KYyy*H6@Lqx+PxR*GhM z`#w22HI`%?rX%Gk!DdDMNN%l!;fw_7W}Qm{<%P-SF5we|AZYf}zQ519ijBbR?~wf}nM&t1S^|Kx9nX+{y9Lp$%rQ^q1O zeEvMD-^LWg)Cu1|@j4ri3cWK{(YByrZm=&X95}YL+$WdbTjUbz@+y>l>ZrHroHUeD zS5PBI3#Pk+RZsn#F+lFIn;VGMnTNhj`C< zotP!6g(5^H>I0?>tVx^oXXl_uEl4Ty3dsQbzL zw_a@ajK7q?h+6(oQ^Dw;)`=wV>8K`ohX_M)9AK(F9=XIjc5RBG{}_vq=rI5(hol2- z<{RSx29wvEtI|eP;L{ul`ZqLJIx`aEu5q=Q8#}TsFASwK-*8f;(e~PmBhxlL&BrLu zLI{-^&L-3H52&6;eg?`9MxFBsg#RSIw2$)Rt)8a;SrW#~XkG8f|Al0L`*54@-QZ*= z4ci6fCimj&L48u3cxtAO->{2AHr0W=Kp=M5l--GN@b(!nkmSQNWxjk6IXNIDL*Ed^ zFwYrh7?b8%y>fdPbwDxd{6k;%U*KGg#%-w@_idvD(0yghUamXIFp#m<_l=aY%yw4B zg5!rVoueHGzK>0ed<7wgXg!{^_t2u)M^09d%bS8BA<0+o$HXz)AI5Hdezv?GnQyyz z!Im0=_n_+kEWL^Q1!9#UwcVC0iAj|calV82#lk*7qi(6Qeby2E7=4C1%j~`})WE<@ zwRv<)aAjul^mTXufy2{nQ$>u{Vh|x(P_%i;MT`*{w{_@Bt310RU3i4Y#*jTHYln-S zVAb`6Z(31YSB^*_!xGah&a@sL#OCIL!iI!14MYCEea88{puQlY4m&5%B zk(AH_Mwp5Bb1SBs3B0Nm=xX8B{6n>?^O?qu!PfnRze0q z@QXCVpyR<(&|s8H9;*ZxhbjrpUJ~mAj3#w6GjvOETs|oD^#d`EqzyVv$jpPsQrUE{ zH+PM`E5?dHM>a1pKp4cb2rovB|7%?@47=a4Ob+D*X;q^=0f9E~6ssp83dz5W2VSZ! z=jCr{VLrDaMWj_6hk{r$0iFul><=R>;FwblJf zVNb~ABTGo`Nf~y){ayDRp9bcX!sjxZM+eh}ds5kkKF5srRqW5VW<1xaMoFygSmeh3 zS9#fJAm60YT*b^w#CP8QRI`v0b`fRl*o0M|B$*8b?pVy&EOP}tYGiAyd(HTX>6}D@ zy-NCa&H0jNa+q4M4-Bq5@imYPspBGbIh1+oU-V$hi)=6WlZRWT9E7qlg5W@^G8TEf zz@mnfpJA&Xi9a#{q7syNsZw+oikOefN;ndO-4O)JQPP*Lowr>~JUg`nLP}irM8$2l zOXS2EAoiD>iO#L<=?}Cs?>~{>~NpLjhwQca}4NLOc`rjP!o2W(+bk^>zq75qUjx&`n-cAs-=Nbc8IrsfK}KT zD@+lLKn4TJor;;%r02BmpOAv4u{Y7}Z{@H11LQU+KANnDMtjM>Wp0)Q`AC#Ho@39wJ~&8h>YQ8z(hC z=?G&h6{f%rYt!`iDz55ySs*@}p#(%;@IR|4qD>XL&RJY_o(@o`)vsh$FPcVM_J#!{ z#pf8pUs7e{{+1mEeIYAB1aUSZF<%2eib4Mt4c*`o-ayI82L)ATmjtLAgZnj^4`B zlp)nbGURn`-O?Q+XG`gHnfX<@6mhu7H|4snVzljT7Y;R{daA1*-!>gSHI?SG?UCbl z@A2?{{?KYsct6;;JbCrF{kf$LlyXF}omIDFol8z12NB4mHt3p&bR=rd#3CFgm9>J$ zYT5szbCG8Y={iXBQ7bi>^Nb)bYx;%&%`e@nMn^iVSw(jXqOBWbo_rYQ0gbXY5SqpS zMHZ}`vR;*{@Lax>Sf~&W46#WaIgQ+m0Zzmh0RNK9gl@*mrCip&k9h6{z+sDx>HD5r z{2sqoMS5udy)L>ZQ^}0IXi@W1_V`;1l{1>Ew=^mEz&Z<^S5`bsjntv@J_`YorMf0# zb|+7QU&aG@QS9fe=G?=V95yuDWc^83fBM6d)f6QmOf(hLz~LWtgyEK(>@gxh-T zoOG-PK=SXm=UMl^zmM|k&^=Nq$7V7AR<*O>erm2v_mWiLM0I#`=J^C%?f)`Sn8b-QOhT5-|i@0{K-YyuqZerxO0r3!B;x~2`I8BA9XzE zND6MP^%47!cXYcQ16&QgxMJGJr4;(hcDaS}?Bcu%gI?}!)&|jizQf|YS*43o(h`DP z4N`m4*S{_5$QJ116SaD&e=h+c3^wm~K$$L-N~-iUc!cRl8`5(g*1%OnLcb=5+%o`3 z*bQTb=|+mn>|?+%?ugN4KJshix#fep2#R;rcGh>6xTMQK!4C-0^C!DqaXQLYv!bK) z{4qJ(F!^)+5%egazsi44n8d`l-Yt_v(%dT~7loIV#Gs)>hkVrNA;p zsb&24=_jXf=Ad1*@{ARy75Xk z=qj0GNAnYq88j>+<~&-{OO&B#r-^w5k4Sv;^Qs{e+x;&eM45w^V$wIIMZ*tJj+J!( z!ZRAHsG5)?r+AycI0QYY;aPMSKgyE+EaH#u1(IeuYpkiKPk=HN7^8ytoAc_tkF1*T z{#0C7IdhbiQj0xJ1}v~`>KjHLZd6`!DsQe=!HefEvQ{~8jx-R@h@ZHlNk$CPG-cXZ z)lp-$I+agLoaAAA5B2YOYD4mx`#D(xDad1Ym@@_aZ^ue$ zw`#;M0?`%ixBTuDGfw(=@h5_iS0BhAM2ZN$FH8VT{4K$AJ4H+n)TxUu}zW-7u>%R;nO12yii!^R9uB#)_8VY z?Pbfdgz(}%k-6Ot3WH6xr#))UFoi9h1V!RAJ4$J{C@Bol6x}Io28BepyT?@ptM2zs zXDQvd$r%ewHPoglOmH&^x$ipQ9IK-ER_R0tZI^EVHu+CAQ%ZA1xia5jPulr$$14LU z+L}w_&6U#e8F5QaXKL(HCCg{`s&War* zaSGt|hc4Jvmn$nrBy{_JH03{!%=`7)ps{PCJLmF5ZLi%X?BWW8D1%MHp5*0AKa4YJ zK6tV}WW!b)F`>J~UH>&Vwuf7M3h$l0j4ayUOCEk#R8Mu8OQ6_E&obhE(;roT-~3@{ zondO-x8i&_pUBs!H}@-933H>j1Z%WMUWnm&ZU+yg;ZhhzCv0OAk zNpu>AJf3(DG$QWAG$tv}`coc{j^5f}vj6oldf=YwUl!YRhXF$#djVujxc*S2l^xs? z>+2)p=^@Z@38Odb33Nh@xKi}ux2h~nv}$`?-;Z(qI%T-N2>*lwvx8rx== z31PCQl|K0|T6CAE3?M*1ZgO`$V++G%!8pRhL*o_oDNW>kKrb1B0~ta1hEdx{wS;<6 z$+Jz1coA0ewTTZDm!n7N!RY?j@x>NLyt6#sj7S*yw9B=`uvNL)82wSlbW)y$o4C|b zKj%9oI8{4*ceg;ykewLs&+>nXy-%#X>FkkPIHFgY6S?i}5O~;jlWChJaJE!CSNzk` gch~=)1(SRk<_>;EfBuYy;K{$yP|;DYRkQ{F4_a5~R{#J2 literal 0 HcmV?d00001 diff --git a/Flow.Launcher/Images/app_missing_img_lightblue_buttons.svg b/Flow.Launcher/Images/app_missing_img_lightblue_buttons.svg new file mode 100644 index 000000000..7251fb9f6 --- /dev/null +++ b/Flow.Launcher/Images/app_missing_img_lightblue_buttons.svg @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Flow.Launcher/Images/app_missing_img_minimal.png b/Flow.Launcher/Images/app_missing_img_minimal.png new file mode 100644 index 0000000000000000000000000000000000000000..e66ea6d6e65a92fb9899d364fe976b763bfa17e9 GIT binary patch literal 46186 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 literal 0 HcmV?d00001 diff --git a/Flow.Launcher/Images/app_missing_img_minimal.svg b/Flow.Launcher/Images/app_missing_img_minimal.svg new file mode 100644 index 000000000..d2b6d22fe --- /dev/null +++ b/Flow.Launcher/Images/app_missing_img_minimal.svg @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Flow.Launcher/Images/app_missing_img_minimal_buttons.png b/Flow.Launcher/Images/app_missing_img_minimal_buttons.png new file mode 100644 index 0000000000000000000000000000000000000000..d4f2409099e8de22213f3c39addf5cc834e5aad5 GIT binary patch literal 48371 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

V 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℞cfITf$N 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 cm)m + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 44bd7301b0a7402bee8d9fb616f68f604635ab0e Mon Sep 17 00:00:00 2001 From: Arttu Laitinen <42007282+ArttuLai@users.noreply.github.com> Date: Thu, 3 Sep 2020 18:41:47 +0300 Subject: [PATCH 022/176] Remove botched export 1/2 Forgot to disable grey background before exporting. --- Flow.Launcher/Images/app_missing_img_fluent.png | Bin 39571 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 Flow.Launcher/Images/app_missing_img_fluent.png diff --git a/Flow.Launcher/Images/app_missing_img_fluent.png b/Flow.Launcher/Images/app_missing_img_fluent.png deleted file mode 100644 index 6a3adf589705036c4cf528a14621612b96d400e3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 39571 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 From 4c1afe2a9feaecd6571baa00a3bf4d9deabc9e40 Mon Sep 17 00:00:00 2001 From: Arttu Laitinen <42007282+ArttuLai@users.noreply.github.com> Date: Thu, 3 Sep 2020 18:43:14 +0300 Subject: [PATCH 023/176] Remove botched export 2/2 Forgot to disable grey background before exporting. --- .../Images/app_missing_img_fluent.svg | 52 ------------------- 1 file changed, 52 deletions(-) delete mode 100644 Flow.Launcher/Images/app_missing_img_fluent.svg diff --git a/Flow.Launcher/Images/app_missing_img_fluent.svg b/Flow.Launcher/Images/app_missing_img_fluent.svg deleted file mode 100644 index 218f081c3..000000000 --- a/Flow.Launcher/Images/app_missing_img_fluent.svg +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - From 7455850fb042bcd6938c1bbaa7dcc2829a65f27b Mon Sep 17 00:00:00 2001 From: Arttu Laitinen <42007282+ArttuLai@users.noreply.github.com> Date: Thu, 3 Sep 2020 18:50:11 +0300 Subject: [PATCH 024/176] Add fixed images back --- .../Images/app_missing_img_fluent.png | Bin 0 -> 43121 bytes .../Images/app_missing_img_fluent.svg | 49 ++++++++++++++++++ 2 files changed, 49 insertions(+) create mode 100644 Flow.Launcher/Images/app_missing_img_fluent.png create mode 100644 Flow.Launcher/Images/app_missing_img_fluent.svg diff --git a/Flow.Launcher/Images/app_missing_img_fluent.png b/Flow.Launcher/Images/app_missing_img_fluent.png new file mode 100644 index 0000000000000000000000000000000000000000..eafd1bb357a90aea953627881d1987dac468522b GIT binary patch literal 43121 zcmd41W0+*^k}jNO+qUg4+eVjdySi*!UADWrtS;NOZQDNezI$fx+2723=kNKESFTuh zL_BveGp}6X3UcCb(Adxb002%>LPQAw0Q$NF0ziU)y=goCG6ev@j4f2uoz-P!xQy&< z=nahR3{B|WZ0x^q0DyjZKzO)?V1e+(N>` z(L~upPQ}Q>%81jLn4b@t$BpaDfsKi?0im0XwXGAE8!z$Se!0G`|GLdUO!&8ovlTC~ zx~u}Bu$`j`Asam#JtHw6G$D_pu_>35h}eG^e@VQ==FZOcTnr4ZuCDa1EcAAcW(-W6 zoSY1d%nZ!TbYB{DPVTnO25xk=P9%T1_=gV>6DK1_3wvh^J6poPd>Rt=WG= z{$gkC@>e^2x3&0+hxuRL)c=L?60jsF?@XEnI~W+-cC{6&!EZ?k_v zlET6Yj&`ON)?b*DlDH6|q^K}E6DK=69W(tug83>P*O#q@sk?}Q^OqJgBQql%BPSgr ziwe^>E@oCP77iLl7B0qr5c*sDYl4gooDKeO`hU#Um$QYlwaMSoKjuQv+W8;S zKSXPbzlMR!+Q8O~m)MQY*u>Pp#oC#e&(*@#*v{2S#=^>k`D@C47&uxO*gEqt{549} z7XRVzZ|OfB@-Y0{X*^$SWo5Y}ES#L}9Nqs50c8`1e<$$wL=qDI-Dg||Mt_xvm)PFX z&e+As#Q5)&eueT6)XC1&+10?&M9}Q3#dwJYO-(Jnis?@HHS882@4F8S(KVttcYvs%CANRi2)z{u*_~+vL68^b5O>DpRrQ_FP zEGi^m{93*N7GF*A-Oja-fw0r z)M*VO$p{`@MHnSsdL|+dZL#$H`Oi*oHe}(z{S$irIsWtmD-Krc9<^aset4PNQ$$<@ z`|OIn!v}*W**hiC+cUvYu1sB(`X%;E8-dq$^!Wn*1mU%8iLOy5)=A-0G*tDOn+ zsflmBVyJ1DtHORaT}GUa{HlB%F~)iH&WX`pY%U`{;X7m|>DY8N&b%}yV%h!h5jPdd ztsMHLq~o&rwx%PFSCS<>d#r)Y^1F4;tUMBJ{%m9lsq=I0Sp(>knfc;(4nbd7Q`ydL z%Mi`g#Z-J7xuDW=iH`3k+T!3|ID($3{n}+Q0ndoc?qK;M|0Cz6OJ8#_^-hb7F?z+c zk^4&0(S~cRJLzigW_*g%X6fe+C&RMMw)yvHtE`L3j>w5e!}aG@YBYz>hR<7$&r`j( z*pEJW{>24K-;>Greczj^cfHNeyU#a{lbn}R-?ERXO**2If}=NXqZetKUA)D6hnUqG zSd5>o@&>uFH{!)q7Z$EFNYcN^vlJ|qofcaCf4{i?$jDiAKLKjWofwO(&vDukf1LmM zR`24rCm@JjzTr_Y3w`V&+GMw}`)FpR5q!Sl35Q^b{ z{X61xm*nDdQ#{9g9LFtJUaX|DSr$Fr^$|3`4STN&w=vR}h~&Ggw)>0YMQb#~WG&ET z3N;pz?~`lg=BttKWn)tN(=z--#!1TPamVOm9d?N@0{+T3USGmX--FnX3EvyNH;B)f&RCR{9`^vQ-?DeHB4eCmQs>YuVtd6e z>@pJJ%C~KA9Krw}U4&Rx^{>v?<$@C^{Bqr;qnf8&yILn(*zUNlRRBwCWgMnUdogB~{ zohy`Mr!KW?K?5zW4-Tw>P`B?`HJp3767m?$?Yg?>M0Gr%R)XhEhvH>pP2F)|Cz(Z6 z+M{G^r-{4lo7|Lont;Nd5f8lzrd%%!if)|6LV>lt`P1y^J&Au#b>5hLw)XJ<>kabYm`(_p znHK_n#v&bl?~=$Uw6^_~Vm6ErmSeMUU_`{}3ue7(ESunz$P-;B>rWi7QHraNp)Zy@ zzE7LJw`Rn|H}dbzoo}I^qo3CtzV9DE&O^jBa-n6kUG?8EI4afA13cH>QY*Q-$@X}I zG(KiRNQ_Atorxk(cA8s(w^ zr%vRe$;8+=kn|iWF6G0zPbc{}Su^MF-sQjxSgU|~w{+^tXHn^iN5I62i zNJp2cp*qJ=jM`gnrj;fG@2shFh~0m>4;^5HXN5l+z03A9VOu~KN!mXqFuw2}(hJh~ zDwNS22A9@GOWX}orrgDsNhj3d`k0x@7k0zYTJlvm+n79_lKV}GH&6{$9J?HQ?>*Bi ztT@Sex!PlO3k0a2j-3bCAJH$lJ|Ozy`^G4Yi6i!d;1=V0u&dp+cycRo$L2M~R|v9i zPW<_T@|9y$92nJ!xUGDAq!On6#|x$dNsGg6=s3BDQxF3HSyzn+?n8@lvIorha?dhZ z!n1El_4?{w$IH8Id;<>sS?f9I%*}H}Tm@jI{ITK*s85NA?U0~YkaWeso{p1=k$fft z#%4i00o|R1gc&89cU({Lt-!KVuFVj63Q$sG9TtA5MvHjv-ZFuJ*qChrspe!Wf-t4A zRjwNflj6ne1KBP9U8l#|V^uy1p0>KyZe01?56ykM50%fi??}E^;;aY2-?-KnAcVkB zAAsVLqVfvU>rw#F<8^44xEYabjQn`0_#5X7_4?Da;C(KCx+Fe~5zfFcnB32Ycxh2I zPD9PslUkdKys%K6MF|ieO3FBS(x%#7IxCtLhW2dP()pOJ4OF)p-PzBncQxe=Iql&)$@qL3Wj zDcSAM@=IQ<20nFvpSV^MNCs#nItq5sxBSvH1~x`8?MdqoE-IWc8zYS>&aiFC%nvjW z-xP+ioR!bsqfwl#XaL3|SfhmxT3_plLo>XAsW+u<0g`Y$EfJq~L4K_E+1atvG@SgI zh&#{L`%_v-@1#^~u0(A!Lf0-kz!Rs)K`R@>-v-wzTW}k$ZQl>Kx_R^lB<+TH4O72- zY{$B5zW9YjnJ1kSsquqt<)@Z9`>4SRI3N4o7XNPmXTNjJ`(gr;O;6$wMm zoH%icl|3K5v0#Z(+>ojuGoxo9b=%9T$JRLQisS+kJ+)AaP`icWgU$PE|DXMgLYZVh z5S0y2)_31?0UFN@qX@u$B>}=)TDGNrM!zXm0?vXdiD&}ZHV0i)fx*wk1ju6;sp2sl zOIj7asf7t$-EdV|4N0nqu5UKy!ws`KskDyD4vNEk%+DHTE<*S{=NIIT!t*9Jpz>oq zuqK5z)()&@G~o+{T@{ve4m2}gg7`V`FOE?d>b=Q;RI)`PwU}yN%n}3#jB05Dz>8EE zl(H4|0J?Zs3C!6q_1QbLitvy{v_6#eLlOtNJmo({_~}|_y^Z%5t`AnL6e|g4%bEHy zVWdZ4FX=FbE0AcHB}1tGa5>duTEqUrp{J#v)<=A{gF-NTjVPr=^@9wC*p`%*{-Yx$ zF(Jc$6mK;FO1ax-Y@JR8BSTX|*R0WSl=?IkulVSiSXY{AR8-iXCxNY`Av|k%gpi_F z^=g+94Af=hAwOcU6{q~1W&k0N?BL?*b6%Xob;t!#p;(>T?%|-(=u6ue%)vkuF8^+# z&=-etL`nvilMo(Ux&``3L3VIen*j9KPYc_4DdV92OKaKobC!j@bt=~W}` zv!H-;yo<%}2Io@$=~#OH;_ptpIu4dpyPV+Lhy@l&aS|2=x%Ys&3YGQi>ub7;*H?|M zfIl9|f*KxujsziR!(43p$>5Mmm@j8Y1sz7)1xXSx0Zpkx<<4Eac!Y?82HJoKEXW=Z zeBXo14D<~AnEnkfIejXglYwWUC14mGb%ra!69CzgM-9v#D z?^*5ww25JgmV+j_K+{@|K^W}zZuKs^ZIme0kZapYsHt1r)EJ-2@wkGQOsp5h{m|}- z>fEp#WpnQ0aSudSujlGE;p0`u89JUv586|wv8ZV(#zqa!=GCxs!mt!s7!M&7Xa1K~ z)TjVdLYUb!g9y^d${_4wc5YAnBi{sc1nDdLm}2?u<27yXr}Q98g^w;`@D85?{5L6G2;|LBN+y0lE9iBI-h44%fW_MQ|t-Bn@r}R)F z1WIcf(Am_CG_y(>{oa-6VP1$-_u)_V>Dv6*4zH9WN zZihHZNu()X|6&0}LS1rE|!5Itm5eIB0G9ao;qA0_##huK}FRXa=cy%6_ z7lp5w68bBSC~3F(nsB+FX+j`?>xKKl0-(+X!|L*C^^@QNXv&47SqYhbZ{fkuK*0E( zUjapjNw4J?!56o?V+h~jOdtnWT>r{q$v*P=>fN*dUvGO(F5MT{2Qxaj9ENAZauwS zKg=(5Cc`6$uaS&pKzR zyMjYO`w199;NcMf5tFn&93DbZx#GR2g1)n$`lg0IT3`J8Xt*hYS!aiR(zx4&YtYPB znlvEI50QQ_BMm{c;o6IY3>?;)%(6X&D1g)vUj(;kziaLf0(Ut&v7!j5Z6Wset=BgV zy0kx4_m?8mvl+@;_ZcX=+dsdl51~0@EFE`kHO~`&YepMBAAp*xKWL|;E>EYk^MQfF zWVde*=o<5%brz`CT>;FMD2p3LcuQ`aN=e!8c*8-_RR?YEG%CSD{ovux5%MAzk~9+C>L!T*h4V=>oA>hKS&tZ@7D->7^k`^XurJ`BG*wsQlOB3i@Hm{#wuN0Fm-7W3eFuR}F<7G>S zV*Ff(yFO&E)P-m2&9qdncj&&UIid>i-K@o+A%o22!n-%EFTNx*2&W9tqBqNM$SDs* zP)(c}#!Wu#*cvr~J@Au%qkOPvmb&BlK=eRvtWM!*`KOEG1{pC*l#j^sJU)2Oq1#9- zx^3Ra(AlUI@#@GKpIV(Dl0o?64!ZR{8u^?OafQqq-+JGS%igNJ!#3Pjd4Fpd6O@lS z(T~d8X#QO1Bba0akRi>aCXcCbMSeKUE-QpA;++oP2)Z?AIo^6G4Nd;RIbnuwdd4OJ zmKX9VeOsam+l+*{WUI*_I-M&@%~h7V9r`Bd;*B-oxCDQKP zR-7^w3 za2l)q$r!Op#+OPT@v2L!c0t0Ay#Q8ALsw}A3PKB$^&Z$hegJpJL~<&v24Qa_(@l&9 z=@|53Bd`WiQs11x&Rek6ig|lo2sh&J0K`kUho8fr@>37x)c%&2w2geO!0?3bn zGv$TGf9HwDhvD@ckMOWoZ*{qCuy#bM>cXPUOQA za}98vXb^&F|54(lO&2fdS{YLn&<7|{+p9w_OWivWR^`15G}>4%OHm33dB?=D(PMJJ zd8qG4?oBTSuq+3)>RIwBwwWpck!AL6nDF+*IcD@@W48VFgihr0;7y8s_Ci4N-gFuj z==`i$L*+Ir-f^Pg44RF9ZrqR0kU-1DHS|etF_%NCU-b#W$CN`w+UGXUu6SFa+OAg< zhD&|wD+A^6f&FV8v~1?;d60ZrScHD%=mP6Q%K|l-v3KRn)b%$pb)pBn_FQr@rrV>6 z`S~5Y^M;2VH3HBP8f}u4!upmZ7HEwR2v;_}&`h}@2B|I--~E;oO$nsW*iF8IkY#nu@C047 zBLKR4yjskgR2Ze`dh>SOQwej!2nW&Ack38$nCM~1(sCZ#Z2!w>SVAJ{Nw#?BwdI zTX@J~NqVdv{+#qVma=n2X^Sx>>O!Mc+t!`XYpf%KnUN2tCfU$382gHS#jr~hhUl#Z zlfY=|`N;GTziD)$g7)smp*~dbS+&y9gD8yL+EG7K_E16q&Dm6~QO$vyB$ABR!=?MQ zt`or-K}X;p#>)WxzLN-6B4?y20BDR>PS(_Z#|srZ6OZr(7y}|1q1vWlZX`sv&@(nU zS4PM+YA)AEhxQ@_P!9pafUu1HX){JJAxnKK>;?|LV+(6h=85rxx&mz_6eK1VM5$iE z+Y{+l?S+w4VMXMiG-zNV0RZN2lGiQodui?7jb*FyC%Z-Z%68R>iNyS zBr&5$Y*%gtvHfY;8BM?LJW`KN`pCiFcbUm(XQ)C+aDonmW$ktLy&-?LAp>XKGw_?% zB84jf)40#TR7Ek=w*efZ41Vd^cdzg2r{1p@2W5!K-%Wd)w&%qK7)^iDGo1QW*1k&6 z+RD!+)t4W@C+7Cvtu4;7{M>n=%=YeB8KTPnyxhgjA&6$teMJ#{9*6J%U<=b-$o?p^ZQ&{t;v z7Laj2V7cqF9P{t zTUrj1V&WqQF=39fvIUcows-ncB$nk`mJ}7z;LrtGVn=vPr$>tQc}!m%CXJ-ua)FR* zY@+{$nWS8zUZrF!jZjo+p)hbBTd(FsAN5(e`62(`iQu7!WkkQfT|eFW(A`8 z(CaH6*y3pem(I#}g-Oiim8y&D&&-bClXi0o@avbJz1O6fhezH5@bhZ0qp>y#9A#=p zKqGaXql08iZ&j{%ycCm>>{ec)=C?<{Brldwi6bMU*9-d>WYEB0cJmvPg2linZ7B&g zZ&#XmVs@wj6BKfGHn%vK9C~{)KUnqEiPC@(6~mk_Kl~mj$?mQ;Apb1=JWUI{{^mM7 zUzrT`_(F-VCZS<3BRR_WF>^E9BW`wmP2CJ$TeJ@B(SO@mAx`wvv)x89#B{j31)%HVkn6`xyh=St3hRzbyXvwaC4y9y3J$3;C&W%I zK)229I<}CAXYmmuF~WCWl2G_5AQB0TZUJC$Lf;F?x6A;`3>wV7{kQXYM@I3_q z1SAY<;W4sCg%EWRu@EbGPMJKfW7@b6NLEx&`mj9YA7}hNEXT!J2FyZ>>R#C9B-^Tn zTnY4&gyng3O(pr_es;=Dly3HsX;yy2iOj%#Pj7-WsqD}$-Ku&k9QbV$2Z~FzRshO@ z?Xfan+Pok8Srh3ru-Q(jSnuF%2G?|Ap@)DKI+d%`Hzv4~N)Dc;1UB>~Bc!C z_VTDy)ioY*4-cpBq{in4>OQ4PXlf$+cAYmVRN)YAQ4TVhQ+N@6H_Rarv+E{O*UOW@05?c!SGKg z^?Dszm_oprEtqT8Ob>vnO|*yVgby1_{Psug-+5dG2)CyG?C9a?riF^|2gpm3KRf$2 zT8O!+MJ~L)Y7g)vv=(`dZiKvJP`ke$*u9V2@#hzbkFx*D7nA%Z+bgP|!6Kd@I>I9i zL9Tb^L;6E3A;JZ+#(>G9#(}N^n_Hl42LWN2SNz+S(?@lSXnOjN04;)`{U{m$Q*Wrg zt+;lVUcsoL0GE_Hrgdml`6g~G3DUcJ_D7P5J`V$N`nDx5r-q5_N-Ab@_BXpz!eR8n21ktGGVS;A ztFM3b_`leDzoL}@$>wgQ_opA!4a(>|4waaLUJSAg&d4|Q_s%qmsixkz_4KR7FYDLG zDNCF^-@8*KXFPawas-ae;nve?&Qd0W-Vj%-Zow48u`pL_joaVnW&Xj5yVMS1=e$2a zPxiC2wU!AMTv+i+(LZu(?g?pwY3s(i+eSOgS_^z+W_e~pKOb6mRRgO080<9?XvQ7G zV}w%($vJkA5TWsi^SMc6r-18|L4U!&0Ee|h9K67rS?aoV<2`yN8@ZP*7@I`HV8tY5 z1_Ums_R?|HHp{u|n)1f=K|?jI-Duq#+(N-n>6g|gPFP4}#5%(y14gHe3P3CV)GiKs z4Q3Bk*viU-kFNO!u`p)RKe=~-69TGw+le0DYk35NY0X>5oB^oTe&;35TEG1ZFWwNasWDeBj z7m%t7d5{&WCw;tNQZtk=k!uh3Z4|836&n?mc^o&JAt?%?D9(h54B;M*=3-@29j^kC zE4IGiRIwY{#t+q+J+cSW=MiFW8p0Y$nDs2Z>MI!_1K(^PGRetKUn%f3j`&5T;;%Ov zdX1@Vu=3fd&&U&X^G1p#UG<@qkiT6Q@o{xZGPyWa zj)-W=Kz9q}+MDF;>1fo#H#sH94_+`AbF=@$H9H&AQMqmgzznYBac*9K*vs9nG%1v# z_$&^J+qEV$I6}Jj^lCzqSeLQZt_nx%sj`((cj(;DzPI{PlnO|sgwon=`c~E>#{N3) z2@h)-Yp->yx}hDRLV)4Y-m2Hg?vwVR{76z%w)V&-^4nzR7EO7Wxg!Qm3l6*#k>l9=9u{_4;uA!zl8rurKshbDy<=2Hfc4$1{aLXq2bIrTAAs=g zY{y@JuBqa(DZ|4r_1IKi9hN+kh>)iJH=c`yyvBaAm7RTxF6X}fAtIcBhh-oL(nkK}}&;mqH{9)7XX~V#W-J&XI zya{XUYnICILkunkFEPw-}@1Hjm^f_rTpIY zs>pWNy_>@6=J;8rYGjcgmrJ%B1Tt=&)q?LcZQMfO9~YBArr$8QbRDvX`Hd%o*)(#G z*W$+e78z|IkJ<>=*=R9yNiUaN5%G4iU*^-qEKlW&_GEN1=oB^XEn1cfG;3n# zKMRQN!hOiDOR6<-m-h1tirvOv{raT@9|}`u-L~1*Ia_7fYhpC3SD0JLn8?Y3)sp&W zB(GA_JsM1V#hd=6OG+BVcd?sxD)<&jyA37~#|4n)=Y~CYPqp$3<31V#Gl^oEjJy|k z{)#FiptaO;yr67%DDXO*so1}CI+}Yz4-$7`J;x1}L=F}Nv=J=apj+uX31wso(dIq^ zx|sSe^Y>;UXiCH%Q;GVDjC#AtbTUGZbY@1Br(p_Ld@7@sKoHvFWX@2Zq%KE6nLQP*f zv_UvoD8NPIO<9hsTSje@@#2_9)F4>W9 z{Khb1SA4e3W}U!Ha`DQ^gRxR|7>$-=Q?6f$6O?vMjXL*p;^%ra&r@o_07R%*D?bXc zW?I6<(RuscqY8buzuMjI26J$}Gi-!K!#B!>sT26nYX8|q;OJWh-qzk?+lrJk5_`a2 ztkkwCK^Y}Jxz6hEBRB~n9Q2X+O<_?G!rlguJaLoF+~+^nR1|J{-`q@eELtcYih)XK zzMhw`ZP8ZasYj$cD%nqWoMg^|?!Zes3MMfQNAI`S1c9?MpU5iRi>Mq9oAQn)TJ&Q4 zZS2+_Gu~Spqj^dR0A@ghgz^IcyHt@)RSVq$nW4AuuPDoCgoo1iu88J9KoWx1Zx)97 z-RrogJO;e=dH~arJ3J!;dC^pW5~a8Y_T;~M$)_s;2I8a)ryh z)6#Ai$bB6zc*GZK8D+=D31Dq7Qw|)k%74UEBaps6(AE>~UMkM3@+>lsH^PJwA)#wa zRC=wMUN3ftaY3Fl+yq)Kz^J)k>lvW$mmTC-f*_^8P}0^xiqFdX&~?=YM@3AtJlG`S zh%xSvvR;G>9-bW#pc39*`i{9Nw+biV;=I)JLEg>8H`tz`BO30J-d?xX*!*4U;m+R= zj7kDB+`ieWl1W@YOOL1tSNbOf9m;?Yq|OuJ_B&D z{~0r6_^mLJOq$NJ>L%fvoQBwvm3qL$_ z)1vb+JPTVAxv^^PAjZ{H#qBPQs^MUht*7%RWcP!}AGF&2{Q_I=gQFPbEf3WWgpg@y zgGcu>@61)tT_4@kuiuL9ZF)-e;sG;Z8*82j%0J0}yU_W08!tIL2J86BB;;?CRz3T1 zva}_X0Y&8+_ls=EKTw$^Z4g{V=vy9AFTVe>>!)Ky9H?UU!AxLTWK*pM7gzwY?TUN( zIKUsc8$x^m1K$8P8`S(Su4j?XB_L}!xV^Y zqC0r|0x=6&2@Wl5PUn9eL{bGuI^mpEo~OY(^QTCiWU?u{#o{j`%&)jG2<<$E^ZaoseB7_K4B7zm|7s zc&O_k=^_j7yE#)%Cjl5NmcW%GXLkYQ84}X6Nawn6CuX({kvtJT?uW2p-QJNXb5zK~iozk$>fGAbxe4e{j zrCNSJATOw_?hqYq=N+TR!9(t#&eU z?X!4sh{;3*V8b_darPKXYdM_Hnn{IHx4;&|o}OsP`U!11gQ2({p;-3r{(0ifGE!^C z4e-U>jy-?jJrW2%;F%oJqYGBSyjrwvU39uOlROWgMVW#45w?Rdm70uXfF4vVv`btC zCKdi6ZH}m_qc+gKDY6?>aR~y6dt{jfg3z*t)UI%X>zR?gcYZ+^6W|E$0ak5E%*e@ zhJ?7ZY2}+$JBO}Shb_dZ%OighbOOZ*(=QXvB}Xo&mE4WX zq|<1o*agCIw^5sSf&8lJgjB0tuas~2Tn?per{*_y83jqt6MR{XmL)m>hS6%9#}~VV zM40|))Cse}b>FKnuMpO{v2%8bv6HEt;vJpf`rY!Q08YgkD=n<=ExCp$>JZcgzxs4x zOZG4Zs6(qm=Z zs9V&mz}=D$;Sa;DaJo)lLK}5{8#Yp+{#JyYI$OMu z7*5Ze`2belbE!of+&yO9Hh=smSoFe>=n8tC!6VV{undXW(>luGzuR|35i|u~&7uwl z${SfMr^h#qrj`pZeS$*FKdWov#QAQl+!jgQgyb7ueN1#hI|JqinT1{7QB+sJi#YvT zueK(e`E8IODBz>LZ!ck2`mJI`FU-!*8x3*oXpa1^N~`c(=}$?E>B#;};%+hmX2rR9 znCqEY4jrgWaYa<`U*Z0|h(9^q%FPiG(8p3St~8#Cl^8N-W*ZOqZ6rWn(@%;qK zoz;!IHNRqH*@@nz;IVsQ)c0>z#*qJbi{T&r*1Gt8LF9X1qqZk78D_ErzDO6v1U!%16U@O) z@jR8t={a@KLiAL28#MD~s)22Te8#go>&|U+A{SF23~}Z}2ON4A#;Kn{Z=Lp|cw=kx z4q^2#3&wabAh%~!BnE_~%d%)oQGMykF86(1at%|1ty>(0ncW@D&^cO>&FA=1um#i? ziqC^paztXdE21067P=1D_dg>ctrjSZgHF!6r{@77$1gcKn?0*$pH(Lo6x7F6=Fg0rUvo(h4gB{trjjDo}v6)*gFMv2? zZKakgc~97#Z)w$~3Q0UhNrI<16pb6ha6&sE>-QiGXp!ukhGZxZ4D?VMG%YpdN;<$X z;vj);5r_{{pgkothp-EDI2)&?c-qXyn(74xAWnus2O$#>@CGhtL@V>tOOsA=^>^3) zP0>W&(Xb?_2TR&8kD}NT^e9D`y;v8xiRK05)0!Rl4z%HzG_ji8}F)1;VOyK=%Io(`@Wjep}6Gf^FXxDukuI zy4XxciA!8r7!K<2wEjV^~a2Iep*Vh>X1-G&_1WrS%E~jJ$C%idx9`Z{k zdBO(m>9$ra{n-(V{Z!nYP7wV0O16VIF65tp1fIqQh}q6J?VN+@#1gj1^n|n4h54Kr z#W*vrqTeSn4K&p$+XT8*S5|{S8U^&3cX-%L@jwDA|0q2+p+vnI2Zf!mrH*)vH()6j zc%QvYu_`nOJzwrt;(Q25$PR~=#64ry&yt!Wr+zoj_CC-7zy~hxJvRNBGXvDrp2)2d zWokXx?K^JmyNQj3f~+M@tK4W8l}Bq{05;c2PJL{4L9hyCE>&y51#VtVwdB!$p5z_z$t7>UDwg%X2Xjn8x~A(feDMJA z>$&a^M@`eIDH*l2x){z~%ox8N8~kWxx(F1qiuPj3ulP|KTeH4;-cnXg&i#Xv^4&w{;9Vlfqgmh&-c+I+0Q1%v9sq#|cka65TaIGO@nlAQPHdi;Hz*xiy zSb(rN_0R8WTKk&=h+6C2smQFm$ZaK+EYeBcDJg~C6lIy-#jv_1PM%c*w|G}|IDMF#>ricX zsJng@P2aQv<({Va2D+XPNpUd0gS3Z|dkYU7?R=Y@rq-#`*^`|tCM%CIi0rw+$9gp; z9Nd|$(tb5OLyG;e%g|M=5@5Xi)S?yzQ_Vr)hx2}LK)Cdllnu&xYi#s<(#c5NWfY2T-qS4+ zJ9i_k((HMjAboZ-7E6e-`msiYZj^s9sqFSTR~^-4;4i0A?sLOb=lL2QR}TuckQ@B@ zSiQ}i$Tn?ll6}Qmrk>5)qZg-(q$!DGSf;XpOldy}GUCA7!PU_{u$JC2vwMOskE6lBO`)6MZhkzbm-sZ- z9Occjq?viax7uU4R$Pl-5LXTV9*mS~HmvWo%4B87$^(-H!gAEdi$?GwmVR**A-k)5 z(^S@e(n=wCh>>Z5Wj^Jjby%yVqYpYxScX&r`OV!%q9O zR{5~2f^?SLLu^wGDXYCNI=XOie%1+Ipu~Srt}EP0nJqj$s@-v{UykTXy;l9RrirQh zH~FqOvO^8Bc@*h_#i}lSI#Oywdy5bcgWo20AV|7N&6AwKu_(}bsI(m{If8T-s8rqR zNP@P^Qv*-5%S?8^qK&X$21?dUn% z{z~QdVr`?@&Tu)@g%5AFzQH1U!dsc5B%Lat=-hip4D?0yTCoe882Ox*TQ(;TTS04B z98hv5&kLp1A|P#83=mck8E|X@-41@WtY(F5F8;Ok{-^pMV{E{GeidppDf99k!tRHN z9b(>X*R1B=%#c+NjoT+-`QO%0*8Bit%E;V6phPfL9#XDj{-JYq_fv4e=+N;_*-@bD zcC*}T1PMQ1iR5sG#`4P8LGB?}0Ct*Ce5G0cu0tny7B z%jX^;K>osij+qE_#4H+i--z2DK=%?C?N!QNoEt%e#(tIa^BAnn7ot5wc)9OM7tDS! znvM6!6H$6h`_A4*ps~Q;I|Sw3Bqm&g#hs5~^&nMFp;U)zifWUitX!@DJGpQ7gM?$Y zJ$u)o4SQWU^A2uW}4wKifSF@lJ?h zjQqXG5_^KP+VAEq`1*GtLDN$SgJcS(^PJ_U(xGpCLY|KArZtzOaddfbTeOKw$~LmH zWVx9Uh%2x<(Gbr~XfwGWWO`pWw77v?q1omBd}?#x&q-NVTF%;#rz%#O^SvgX^j0g# z%k3tt^FK@*yVKnI!L1r?k7X`#&T*r5io;wY*2vl@_y!dVAc^_u>IJ*H9k-sIto@{( zCKWadw4zM$abejV@@Aw9*yAQ4OXLJxYpBH+z}= zv<*^8-TPb|*tY=?1I}FjUQiHgLMVkM#tIn!y#P#W}52n3xjb?^Y=_I3?2kF zm39dTWp0GIAizP(e$4I?nxgkStdDV&q+*aec7IkJ1wEKM43L6T3nPedpJL346(Kkn z&ycV{tS+ts6%jV5w#g^i1`GBTA97(4*MCfSkHrqC2!u=_MbYhZuKwJk!{6J|Ug3~^ zc1SO0Xg{oc5Dz1&!KJ*mx?;2*ZeWsTYFKQ|T~NrDM?Gj87j)%>p?RC$!6ZAk2?pluA1m$l&Ds+VG4HXO^;xaPYg>WT!8@#ld!?lpOC{r|HDO6uX zQ*3Obkdv%~RtFy%3|Swq9v+;%(2fhjLL}`kc#fB40H3%Xc(eL})^!axOZg1|EH*F? z7Oc8YxckTXNL%bANd=ttq%cVLe7-4%v_uTR8QR^9e~q*o+y)JczTri8@Ozl*)1pva zskrSxfj+mPbR<~4x13^z_5s3A%-)_rXx(M;q@=E&UlCvWmr+PDd}^*qJydfLkBHs4 zY3~`~3*mThJMqm+YFMJp?yHUbBplZ~&}OR3uNeQ;XIlr)iF9h#?6}31EN_cd4wNJ$ z2)DjaHTn!#TUwCM&U<0l}_fP?c4e5Oq2*YOP5 z)Epn=sG1z7iIPh1KnuN8kg;y`^OxHUHjnle3N** zoPPt(?a4_Y*P4Tk6yeFaFt1Xw;ESI|&ctcj4M&9BZsVDadD-O;0E6Nn!f`!-XUn%B zHGKnxitUrW%(3f{`r)8p{3bmzJP&uR&uM=F^w;1d^@*nGwHT;fzD?3w!G*X4)&si6 z41G67cbDg9Jrhln=bSb8{wk1Z%3lXq26jXSqDCfx+Qi@eWXVkgTk$I1#2OR)CXItc z@n?Nzr11_}gc(-A`?}`PS(`d8gOxm&&E#QqGS56eJJ7>lnkF5sbQ>2rVv3CKWgune z0(>&TrV?301YBxV1YTh#}&r%H2&5J;#)=mB%%Q1$x>S4dIR2#q* zqWiPor(JuPPO2CYX&bkmzY8)MKK4ck$=5ZHj;G{)77tarj*7U-E2(FF7~p}pq2F+) zppcrwJm0S?M<=V7v$-2zV^k$-nJ$)C*M&hvN25_Lc_|jdU45Q4v@39EA_AHc>zwiP z_4{uv>B=D@JZp@vNOU=l5h~2uc*FGEuB+R^Vh=-HYi3&WSr7b8tB9W=1d+lqlNpsA6!s+h>gOTwIavM)(Gl#kC=Ahdw*S4=s$!k4p$j*~edAPD_- zI?Il67J~Qnlc+5)*L6jh5$fG|A4Y}>p8$be@~`Wh|6_pG$URmSHox8AUfA{tXW;g_ zfTB1uWd^qEJJ09aZ4oh+t-5|+R|`a{Ge9gNf7iR0(VjX$y`3BCqiZ~>l&AKVzqLMk z+?5&20R3%&fLj$T5}H>1eADB+qMnao4_a!_XI}pJG#88B2!3QNYiI@Hw$G6+VM@@b z^BPa&rdh?lpI(9U*Jv}QrK7F)i8m$rc-wsv5-Hmq*rV?pzj;rxderk6_cy%~W(jNU zG(*lVcRlYz80I`wGWftS#!2-zFw`&)Ci{!X(WrDwhW8k|Z)9ehD_?j5*A)bjc+)|A zzr6EC6T$!id?|S-ISnmkOzn4`It~kmtUF_JN6`fibpOo4Lil~dho`$Fr5!YupPTf1 z*&!QfInO&_C>7iKlou3)N^b1*?X%w8V-gq9OMcfZbxkf!`qU7fBF|5*1Bdy-Ir=c;+uz31e2asvzfo8l*J(D>V2m+x3OEW?0^gB5B-dQ8 zh6@#8jD37B`<~#Xg_jP1;DJ1618YMVj42Tw1bm&axxITrk6FIY}CQQ@R3&ni9W7tO-G{7P1D?jM16iN8Gkdb*3rcGVr8`I zZoGVy*$oNvSzvXqRk)_Gu7VECuT$)ix+Uir=2~!aT^U#1Jz(ZmeOCG8#u8L^%q^A; zmeI4lJ0uggwe?K@oDNwUhK|!JiAG;s^6Z7K^AH5T{Zont@%Hm!=NEm{>E|)OmB(US zHd-T}={d}Cg5Xpf#dpP^+u6scXf~ufnH8)4!`>WH@VEwa*iitWk9XMjDHk#X(|xpl zW{ii3T-`T7UdHG$SsBXToWxaZ1LIr9N1Pj0#RxDWJjb!U0#EXJ#vkENs)oheLFI08 z@O{%@0>yT(vE~}-XPBP*nKAn^}B|}3((&rdE~<85`&`eR6JAWYw%wdZNCd(y6icUidamg6^iP6 z`BPhqO%=fmJl74BdjMJ@EzfHjM_-+oe$tYI0B5~yRe7Mn>sK#T(SLZgZRL%iN4Sz1dLHK+- z0M(?YT`@WjT7pIaPV+W$WCMVo8_iCG0KWV9`sXW8I5IW%m>@A3<`HPvwy_vhqGB87 zpR9=x0o!a4TWG-0ZSza$e#cfg2EW)?nr-W-C}o z#+p;gz_Crc)@8zeKa<4jr{qVg~~7shajd&>o1UV}a@7U)m~Utj+k&ls(g za|1SCvt__|uPW}QxB8ylPp$$@>&M{wlp)aZ?Z~RRwb*8gCc^BBTiFa#NY7wS6(pF% zlOPfvv$M-{8pq0R$6}K?b?L3t7%{x(plTf-05*#@+;|S?p=sDQ_Ec6~tH=D|jj9+s z;OwT={|euW0GFQIZCbF8ZrkLu2P4V*(tq6PM#~rUoacGK>+V2Ra8(~_vp%UUU2%u+ zPpFJGesO)o03y-M;kM_CDExUytJ^FigvQ1Mot-l~u%a46TsQX{==pjBeeeoNyd^CL z#7SC*0>>;4I&dV^aqu?v$hX(oop2sk$hXD!h=^}wc&ejpWb3URCYtfOY-rL89@J3I zdqV?(M={54JD*tM2V>$W24D1$!8g3Z^vpQ^lm1zATz6ofvwc?p7aGAH1-{G@mV|&- z&XwN)m!O+*o*TC7aolq?Loi>ep1@e-+lDTmUP|7dW6Ycr&4894Q?v+90SO={kjfj` z*2#>+YV9+rI8B@M0I)*5qqFkzvWbk0`@YR;)-*Ki!QtC?D*ri~{UVk*mtVTm(Yy5N zqv9daL+=a-BKooXF)nL4xE=RO=F3iw?Y!_n16^}#&)+Bm>pz!xf_N>m*pm=W`LIhs zzUK6N4?wD3XU;BtoIATjFZV5AQiDP_zJ>0+O1Fm3dEDE=j3+U3)HdB?KwLvBxcYIN zL#Ay@zhRhP?sBt10LS;L!#mWU3in}5`6~uje%pAQii;q>J(9~P+FbjrjPBR-*gl5~ zU}c#vunQo|%vF&ds{5hWj0kp&<{N>R%p1f{z5x$-p#l5LHJ^p>kZX?1Hb5%`a1ZeA zSkqA* zfjy*kO_H+R-`N)jItjxR6&INeq`f}9UB#0dI8#p7b)9z|*!eMynh|k{KM^sW*vTvV z`~pbRD5{>iEA<}oH%CeK3o9ijgaee79+=E8yQZ1|r_sX&{OO3~A=a@7)0=H6bDqaB z$cQToDu?`H%)E!wX;Sj9hlR>LAEHvdM^)sK=c4n0V$143K(@qFN@Nkls`z4016 z%1Lsov5JhVtTi$Vv@CQYf*N%@*--0Og)?TuU0*e-oZbN!D3xSv@M;683%gtV!6l=@ zByH=2rT&`v7EVYa$rq(|d4LpZp?>TN^XC zVGZuzpJ4#;>BXO}ZqfAseX-R@F6$ue8r)ha7!U@7jf&_g6A4eGtd(M;cceqiPukb$ zZIs^%x}p@ig1E%DaLUk>lS}i%9sAj$SWvJ#`=F%ZtkSo*5(Jnvqh^R0&ZXyE%McZF zWgJK_ZC%dTpmhG$w<(#rN5^#TZ4HTC1id}- zU><^z_Rc$eaj)ur=6bgBuck+SWdg(deK?kOeS10EzoH73itB68MiQ@f%=<>BWrMwy~W2-D?QSj%{!0QbWtkI{!RGLhCR!ITy`;6XkE7Sv|-Wf{PYdGR?7a=k2m6^j5W?z@L^Q0 zEBC3Ir%M}YHZAecO7wu&Su;=*IEec7!po_D-c0jL*KOfA*C8Q!ej!xZ+2m+p1Y}4` z(J5(RRVfLZmJa}EM2;~9CxhIYUPc%%aCpd&RYhUX2cgk+YyQa=o*8Dsbd{p8F?zDSDh0{ArJT@J{gO=%}hO(jUIf9tVC?V4$;B~2QRAl z8s^38j%OtlaP@s$(4br8VN*wbpk4)5pF5ca>Gy#_JSk>y5K;r=_42wD?K+qE|12l9 zlc#Rcy+wL+V$QR-uyS3&sp}rxVe?+i!^84(4+`*pd%J9xJ5HTv+3UGVF}Wo>L&+xf zL_+I3M~euJY516l!cRK^X`!GS&X}kUOE_w8c^tbWFYxrGY+fHcS{^Tiy?EUH>EQqr zAe-CE8JonebJMU)QupGaJ*&a{2jBFAVX!Pl_>k z#AC~v)Vc2>Qyt;0b{BN}UNx27dFStJ^wuc@eYD~T$sMIRd(v&I&H`2{bWMciDrOi+ z!h#T~~bjfBwe*{RjToKlG1`fg0oE z#dYk3=1jdjgpaK*SM`dF@4ZtA7&Ox$Z=Bd<%zGw*7?gZvEZslvpi5H39IWoM_hUbm zHuh&v3H|OnUCqT^9%h}ky3zWK*!_)1s1;jFjqWXaNn5;(vC%Ntx4ezTGTWiHE#EM= z8W(TWc@-JsJ*GYezBM@7nmam8#rkbw-?Y>NV}2jXRFcm~aj*w)<8Bb7*^zj-{|K>6 z9lLLHC+Ub7t89;FQt>-~@OR@M_#=PhZ(O*^={$mD-6(G%mQ_-r&}vM_Dm`A)$FA<= zqaq&2bqwF$lpoDnj8~77{NnELFbSV1|7EKpk%VDCY$H*;!59_00Cr;;TY21}(a&v)!S1|S6j3OVEvfSCOd)Q(#Pq)HSb^q5)kj@e1KDIhDe z1xls(olCt9{Dx+`$@cn;g-_^8G*7poxlx8ZDNeF-yuUyGIgNbw;(IqL$l ze45R-Q)7oFL+pF3bHy=7TllUwB;#tE1u5+y46hithHcG|U?nDWtKaR#DmXVN8}7w= zcE&xI1NucK=-y%s;u-8=HOi@~^^gfBbk-Egr#L&AD`nFxJ81J#buXb1W2B&VUk0Da zN3|p2xQeX91QmDx_d^*9542Wc3yx=l4Zv9x^V)bk;6!!Zk) zzRgXl*(U-`X>6?{%a|DCQwt%CIUhDN0Df|4T*7R=?<=tI$H^boeRRK0dkU=E8dMJzo}v`QnRvGM6brx&tx-}hi>*>!r$Wq)XYJE0Zh z3X8AQQB_*@eXK=}?j&sn=9ztm_U#OwBd4?1pheBj1Q3UZ{WlW$x=(^l+M9Ap6kxClGmxfc*1AYe+ z@4_`J!-p#4T?__aDHnf)0Y)dz4FlbM-ub4s^rvoTRHm&MiWm(#8sd{NOj~_qEzf(( zm3f51lL@rrSUtDP6i@-d0;V;{4h(aro^$N6GVyR=p|bTK^&7+K=wKk?MS1#~J@^s9 zw-Z&I#Xb@&(U5t(iBMJMnkV@@1!(nafwQ}{aw*Z5n7pEZ81Nqf7j2x$(GbaEp;{}?%9|Y`V;~VAE063t74tRuR*K9n2 zhoFaxLY_dF)yFyTB_iHH2r!nJXB%C2i@9@ZTIX+d0xpx7oc+HEV_WL!_&?*#d1T@_ z2G(O}e7-3^nYX?JaRDNa>t75i`vyd=F!wzoujlLrm9nf7uM^g%-RqCM9?1OW#ySxD z8H1ct?+`Z{tyd3=H?!d=9>e!j(1S<5 zfo_Dw(rvi-IricyM>k5WsnWJ2H}+%H9MPGw-fn zC_Y6?@NQo0MI;n(jBf?UdJfDoHySW~R`eT+Z5(0U3$hkM00V*yoZTzx0wvVMT$ zLk6qjBBIk(6hT@rkdFcXSZ{50f}}Ik`eFcA*X{exxXP}%HTLN^XJCXOd}s@Ay85Qf zJ|H}9bI`k9SR>IkmHY19le7ll#XRjgM{RT2a2f4N%DGI+HOx#d1oD{|w?7146952# zySPwDXM`}m_&2XvrWvvUrKdpe8HMM15eF>ti+z6bk0AY9t_PT)3kR@u-Cix}26}s* z%%_aj%Kp6l)1&DfDESLxOAmlLr&_^E0;$v#2P(Cg6&T9t&vC@Yx91g1JIZ^8Xa3kw}^1 z6Y?0J{fiQajf}S6?tHPTQN`H%A!8`^mIXHuxz4+nn0|3cZa|Huf#-6pMPW=imkgk1 zl9zMeF&sf}58)#{LGvzgKje-cRQa-B8`m_$S^~I}1Z=u@k_r95h5pC2@8VK##wo&7 zN`h<0)Wm)Vx<|LQ<%tDxQEn!O9?jf?uX`pbtJB zkW$h5FE<(1QuEysHXx*gAvMlRiI!}R-+U$j{k_+vaI-=}gX5ql!szWbWdWMg05Pu@ zZ8pCjz}0<#6(`LvKG*<;Le63hx=V~Mrq+D6CV|(*OMM}a22#9p0PJJHhDv%|d0DL~ zxbxJ{g?R{IVpi@oF1NS`K#K%k?WfEVodHP*2j#knCFJL zp7+K~URKz{V*PgkMtv!3jAkOjfFVMH2PGPUxU8XPr}g(@HI_rQLBSUip}5<9`YHN3 z&0%ZQyDM?59{|C%>_LvoZO7A2n?Rw@xXxqVs(AGRFg|>ZSky`~NrHzb*8N68iPL}- zh$sBYg6_p4bBVQ=v}>S2`B>GruCDIb+c4Xu06HiZ=yuP~aBcZ7rugJV-vdS8O)h$T zY7pKK_<5N!eWu7dF4`k1GCo^QDy#3$+T3+py*4Y9;>9prFeJv+ZdRKw`7(Lmd;%-eAYUCam8cV-1M}G@_@vjDs!RVT={T*dc1p%`qt#^|KeX& zo%icSoT)*&iebr~9xT5qL z$ulK3-D+m<&Gqwq!gL+icQ6y5Z*JgJQoGl> zgCDu6+ z2Vo>|;+!$H?wXx(Ei{l?U(o4_-6+El{8d^Hbq*Ec`GM10P;cJTV)c8x_l0mko}Y(R#P*fomkt!*S`j0cUOAa*U_DuRO}+J^x)^+xhuE4x+nd zB0EoH%8VqRkL6u=-0&j6U*n;|nq%9pcPpC1;_tacxQIYR0EQBAK}H~XHL($$l4wd` z9YSVt`n(K-LmHK2oAOmdiOB3F+?g4VP_AZMvbfRQoQNKA1{Coe$$eb4LnIR_1Y`cp=v2$VyPLhJQsj~|S%`|80$oV)pYwP0v~+?9KDz9DJ$ zn8=Gu9w%*8T(6>y=h(6`&=i*86L)p(Dk)y6wsw7s31D|~SZGf?mHoTD0(`H*D6mxs zC?w2|r4hPJ!OiX%22)mc)3!$?9tIGHr7&CQatsdm;zEM&n9qgs`z*`DikU)3#hR8a zQyVEaXuOPKe48T!eig@9e6jw+gBqI^5dEdG&atN+j6OL(S`wdN|3YuB@54h_o*PO1 z49gtA>DAaZ;U0j^yQeJkoKoKn;n>tA?}ePHq@KV7psG5*0y2SNu&G`5np4xM%mEZ= zQt#x>3sy+kM7QF5%W*xn`2w0#oztH@K7{Q=hCBer{D_J>GSaf5TMa?Woch=v0~FM^ z@M5@AA)2Yhk46SOZL7>)m>%Fh)H@X42GL#3Ik!8l4=M!jW{fUDU;>Q()+xxaJRyC0 z7w~K@lZT_=k`vH1800cT)3xO2jkn~TWG}<^{p*{xX@(n@SvVr=Zx3rp z-{`I{n3A_N)j9WFkKZ$=Bf~N7phr6s_UJ!l|AuTxFRzSojQP02OL@nFYj8oGBmx

/// Opens search in a new browser. If no browser path is passed in then Chrome is used. /// Leave browser path blank to use Chrome. /// public static void NewBrowserWindow(this string url, string browserPath = "") { + browserPath = string.IsNullOrEmpty(browserPath) ? GetDefaultBrowserPath() : browserPath; + var browserExecutableName = browserPath? .Split(new[] { Path.DirectorySeparatorChar }, StringSplitOptions.None) .Last(); @@ -44,7 +70,9 @@ namespace Flow.Launcher.Plugin.SharedCommands /// public static void NewTabInBrowser(this string url, string browserPath = "") { - var psi = new ProcessStartInfo() { UseShellExecute = true}; + browserPath = string.IsNullOrEmpty(browserPath) ? GetDefaultBrowserPath() : browserPath; + + var psi = new ProcessStartInfo() { UseShellExecute = true }; try { if (!string.IsNullOrEmpty(browserPath)) diff --git a/Flow.Launcher/ReportWindow.xaml.cs b/Flow.Launcher/ReportWindow.xaml.cs index b4e0414ab..7318fe4cd 100644 --- a/Flow.Launcher/ReportWindow.xaml.cs +++ b/Flow.Launcher/ReportWindow.xaml.cs @@ -52,8 +52,8 @@ namespace Flow.Launcher var link = new Hyperlink { IsEnabled = true }; link.Inlines.Add(url); link.NavigateUri = new Uri(url); - link.RequestNavigate += (s, e) => SearchWeb.NewBrowserWindow(e.Uri.ToString()); - link.Click += (s, e) => SearchWeb.NewBrowserWindow(url); + link.RequestNavigate += (s, e) => SearchWeb.NewTabInBrowser(e.Uri.ToString()); + link.Click += (s, e) => SearchWeb.NewTabInBrowser(url); paragraph.Inlines.Add(textBeforeUrl); paragraph.Inlines.Add(link); diff --git a/Flow.Launcher/SettingWindow.xaml.cs b/Flow.Launcher/SettingWindow.xaml.cs index c38ed4d22..e5583da33 100644 --- a/Flow.Launcher/SettingWindow.xaml.cs +++ b/Flow.Launcher/SettingWindow.xaml.cs @@ -229,7 +229,7 @@ namespace Flow.Launcher var uri = new Uri(website); if (Uri.CheckSchemeName(uri.Scheme)) { - SearchWeb.NewBrowserWindow(website); + SearchWeb.NewTabInBrowser(website); } } } @@ -263,7 +263,7 @@ namespace Flow.Launcher private void OnRequestNavigate(object sender, RequestNavigateEventArgs e) { - SearchWeb.NewBrowserWindow(e.Uri.AbsoluteUri); + SearchWeb.NewTabInBrowser(e.Uri.AbsoluteUri); e.Handled = true; } diff --git a/Flow.Launcher/ViewModel/MainViewModel.cs b/Flow.Launcher/ViewModel/MainViewModel.cs index f18b74022..7a3aa9f2f 100644 --- a/Flow.Launcher/ViewModel/MainViewModel.cs +++ b/Flow.Launcher/ViewModel/MainViewModel.cs @@ -136,7 +136,7 @@ namespace Flow.Launcher.ViewModel StartHelpCommand = new RelayCommand(_ => { - SearchWeb.NewBrowserWindow("https://github.com/Flow-Launcher/Flow.Launcher/wiki/Flow-Launcher/"); + SearchWeb.NewTabInBrowser("https://github.com/Flow-Launcher/Flow.Launcher/wiki/Flow-Launcher/"); }); OpenResultCommand = new RelayCommand(index => From 11952a4c7d79a496e592c387a07308f9633acac9 Mon Sep 17 00:00:00 2001 From: Jeremy Wu Date: Sat, 21 Nov 2020 11:49:39 +1100 Subject: [PATCH 112/176] version bump Flow.Launcher.Plugin --- Flow.Launcher.Plugin/Flow.Launcher.Plugin.csproj | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Flow.Launcher.Plugin/Flow.Launcher.Plugin.csproj b/Flow.Launcher.Plugin/Flow.Launcher.Plugin.csproj index c5ab7dd3b..0f6450d18 100644 --- a/Flow.Launcher.Plugin/Flow.Launcher.Plugin.csproj +++ b/Flow.Launcher.Plugin/Flow.Launcher.Plugin.csproj @@ -14,10 +14,10 @@ - 1.2.2 - 1.2.2 - 1.2.2 - 1.2.2 + 1.3.0 + 1.3.0 + 1.3.0 + 1.3.0 Flow.Launcher.Plugin Flow-Launcher MIT From 81ec3ef3d5e623f24d38ce9b5ae10d89c29c4306 Mon Sep 17 00:00:00 2001 From: kubalav Date: Sun, 22 Nov 2020 10:41:13 +0100 Subject: [PATCH 113/176] - Flow Launcher Slovak translation polish - Calculator plugin string shortened - Program plugin add missing strings --- Flow.Launcher/Languages/sk.xaml | 12 ++++++------ .../Languages/sk.xaml | 2 +- .../Flow.Launcher.Plugin.Program/Languages/sk.xaml | 7 ++++++- 3 files changed, 13 insertions(+), 8 deletions(-) diff --git a/Flow.Launcher/Languages/sk.xaml b/Flow.Launcher/Languages/sk.xaml index 8b9487b21..bf001d507 100644 --- a/Flow.Launcher/Languages/sk.xaml +++ b/Flow.Launcher/Languages/sk.xaml @@ -5,8 +5,8 @@ Nepodarilo sa registrovať klávesovú skratku {0} Nepodarilo sa spustiť {0} Neplatný formát súboru pre plugin Flow Launchera - Pri tomto dopyte umiestniť navrchu - Zrušiť umiestnenie navrchu pri tomto dopyte + Pri tomto zadaní umiestniť navrchu + Zrušiť umiestnenie navrchu pri tomto zadaní Spustiť dopyt: {0} Posledný čas realizácie: {0} Otvoriť @@ -22,7 +22,7 @@ Nezobrazovať upozornenia na novú verziu Zapamätať si posledné umiestnenie Jazyk - Posledný dopyt + Posledné vyhľadávanie Ponechať Označiť Vymazať @@ -34,7 +34,7 @@ Schovať Flow Launcher po spustení Schovať ikonu z oblasti oznámení Presnosť vyhľadávania - Dá sa použiť Pinyin + Použiť Pinyin Plugin @@ -96,11 +96,11 @@ Verzia Flow Launcher bol aktivovaný {0}-krát Skontrolovať aktualizácie - Je dostupná nová verzia {0}, prosím, reštartujte Flow Launcher. + Je dostupná nová verzia {0}, chcete reštartovať Flow Launcher, aby sa mohol aktualizovať? Kontrola aktualizácií zlyhala, prosím, skontrolujte pripojenie na internet a nastavenie proxy k api.github.com. Sťahovanie aktualizácií zlyhalo, skontrolujte pripojenie na internet a nastavenie proxy k github-cloud.s3.amazonaws.com, - alebo prejdite na https://github.com/Flow-Launcher/Flow.Launcher/releases pre manuálne stiahnutie aktualizácií. + alebo prejdite na https://github.com/Flow-Launcher/Flow.Launcher/releases pre manuálne stiahnutie aktualizácie. Poznámky k vydaniu diff --git a/Plugins/Flow.Launcher.Plugin.Calculator/Languages/sk.xaml b/Plugins/Flow.Launcher.Plugin.Calculator/Languages/sk.xaml index dd52d5279..c08f0265c 100644 --- a/Plugins/Flow.Launcher.Plugin.Calculator/Languages/sk.xaml +++ b/Plugins/Flow.Launcher.Plugin.Calculator/Languages/sk.xaml @@ -12,5 +12,5 @@ Použiť podľa systému Čiarka (,) Bodka (.) - Max. desatinných miest + Desatinné miesta \ No newline at end of file diff --git a/Plugins/Flow.Launcher.Plugin.Program/Languages/sk.xaml b/Plugins/Flow.Launcher.Plugin.Program/Languages/sk.xaml index ece9fea81..851233407 100644 --- a/Plugins/Flow.Launcher.Plugin.Program/Languages/sk.xaml +++ b/Plugins/Flow.Launcher.Plugin.Program/Languages/sk.xaml @@ -40,7 +40,12 @@ Vyhľadávanie programov vo Flow Launcheri Neplatná cesta - + + Vlastný správca súborov + Arg. + Môžete si prispôsobiť otváranie umiestnenia priečinka vložením Premenných prostredia, ktoré chcete použiť. Dostupnosť premenných prostredia môžete vyskúšať cez príkazový riadok. + Zadajte argumenty, ktoré chcete pridať pre správcu súborov. %s pre rodičovský priečinok, %f pre celú cestu (funguje iba pre win32). Pre podrobnosti pozrite webovú stránku správcu súborov. + Úspešné Úspešne zakázané zobrazovanie tohto programu vo výsledkoch vyhľadávania From 341275fbbdda51d7c9bb1f1e80134895d499f2ed Mon Sep 17 00:00:00 2001 From: Jeremy Wu Date: Mon, 23 Nov 2020 13:30:45 +1100 Subject: [PATCH 114/176] version bump for Calculator & Program plugins --- Plugins/Flow.Launcher.Plugin.Calculator/plugin.json | 2 +- Plugins/Flow.Launcher.Plugin.Program/plugin.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Plugins/Flow.Launcher.Plugin.Calculator/plugin.json b/Plugins/Flow.Launcher.Plugin.Calculator/plugin.json index 5ec1ac002..709757d1a 100644 --- a/Plugins/Flow.Launcher.Plugin.Calculator/plugin.json +++ b/Plugins/Flow.Launcher.Plugin.Calculator/plugin.json @@ -4,7 +4,7 @@ "Name": "Calculator", "Description": "Provide mathematical calculations.(Try 5*3-2 in Flow Launcher)", "Author": "cxfksword", - "Version": "1.1.2", + "Version": "1.1.3", "Language": "csharp", "Website": "https://github.com/Flow-Launcher/Flow.Launcher", "ExecuteFileName": "Flow.Launcher.Plugin.Caculator.dll", diff --git a/Plugins/Flow.Launcher.Plugin.Program/plugin.json b/Plugins/Flow.Launcher.Plugin.Program/plugin.json index 9b5af94fb..7d7a42e03 100644 --- a/Plugins/Flow.Launcher.Plugin.Program/plugin.json +++ b/Plugins/Flow.Launcher.Plugin.Program/plugin.json @@ -4,7 +4,7 @@ "Name": "Program", "Description": "Search programs in Flow.Launcher", "Author": "qianlifeng", - "Version": "1.2.1", + "Version": "1.2.2", "Language": "csharp", "Website": "https://github.com/Flow-Launcher/Flow.Launcher", "ExecuteFileName": "Flow.Launcher.Plugin.Program.dll", From 2c14c2120f83eb4761efc91dd5190daac0f60e51 Mon Sep 17 00:00:00 2001 From: Qian Bao Date: Fri, 23 Oct 2020 10:45:22 +0800 Subject: [PATCH 115/176] Lazy Load Image --- Flow.Launcher/ResultListBox.xaml | 2 +- Flow.Launcher/ViewModel/ResultViewModel.cs | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/Flow.Launcher/ResultListBox.xaml b/Flow.Launcher/ResultListBox.xaml index 3280dc457..072196605 100644 --- a/Flow.Launcher/ResultListBox.xaml +++ b/Flow.Launcher/ResultListBox.xaml @@ -42,7 +42,7 @@ + Source="{Binding Image.Value}" /> diff --git a/Flow.Launcher/ViewModel/ResultViewModel.cs b/Flow.Launcher/ViewModel/ResultViewModel.cs index a4fe2ede4..a64836285 100644 --- a/Flow.Launcher/ViewModel/ResultViewModel.cs +++ b/Flow.Launcher/ViewModel/ResultViewModel.cs @@ -18,6 +18,7 @@ namespace Flow.Launcher.ViewModel if (result != null) { Result = result; + Image = new Lazy(() => SetImage); } Settings = settings; @@ -36,8 +37,10 @@ namespace Flow.Launcher.ViewModel public string ShowSubTitleToolTip => string.IsNullOrEmpty(Result.SubTitleToolTip) ? Result.SubTitle : Result.SubTitleToolTip; + + public Lazy Image { get; set; } - public ImageSource Image + private ImageSource SetImage { get { @@ -75,6 +78,7 @@ namespace Flow.Launcher.ViewModel } } + public override int GetHashCode() { return Result.GetHashCode(); From 1439ee7e9ed6adbcc5f17221dca1eb406c00ae58 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=98=E9=9F=AC=20=E5=BC=A0?= Date: Sun, 15 Nov 2020 20:45:00 +0800 Subject: [PATCH 116/176] Use a default image to list when the image hasn't been loaded in cache. Co-authored-by: Bao-Qian --- .../Image/ImageCache.cs | 13 +++++---- .../Image/ImageLoader.cs | 11 +++++++- Flow.Launcher/ViewModel/ResultViewModel.cs | 28 +++++++++++++------ 3 files changed, 37 insertions(+), 15 deletions(-) diff --git a/Flow.Launcher.Infrastructure/Image/ImageCache.cs b/Flow.Launcher.Infrastructure/Image/ImageCache.cs index 80c6684f5..7482ac1cf 100644 --- a/Flow.Launcher.Infrastructure/Image/ImageCache.cs +++ b/Flow.Launcher.Infrastructure/Image/ImageCache.cs @@ -26,7 +26,7 @@ namespace Flow.Launcher.Infrastructure.Image private const int MaxCached = 50; public ConcurrentDictionary Data { get; private set; } = new ConcurrentDictionary(); private const int permissibleFactor = 2; - + public void Initialization(Dictionary usage) { foreach (var key in usage.Keys) @@ -44,14 +44,14 @@ namespace Flow.Launcher.Infrastructure.Image value.usage++; return value.imageSource; } - + return null; } set { Data.AddOrUpdate( - path, - new ImageUsage(0, value), + path, + new ImageUsage(0, value), (k, v) => { v.imageSource = value; @@ -67,7 +67,8 @@ namespace Flow.Launcher.Infrastructure.Image // To delete the images from the data dictionary based on the resizing of the Usage Dictionary. - foreach (var key in Data.OrderBy(x => x.Value.usage).Take(Data.Count - MaxCached).Select(x => x.Key)) + foreach (var key in Data.Where(x => x.Key != Constant.MissingImgIcon) + .OrderBy(x => x.Value.usage).Take(Data.Count - MaxCached).Select(x => x.Key)) { if (!(key.Equals(Constant.ErrorIcon) || key.Equals(Constant.DefaultIcon))) { @@ -80,7 +81,7 @@ namespace Flow.Launcher.Infrastructure.Image public bool ContainsKey(string key) { - var contains = Data.ContainsKey(key); + var contains = Data.ContainsKey(key) && Data[key] != null; return contains; } diff --git a/Flow.Launcher.Infrastructure/Image/ImageLoader.cs b/Flow.Launcher.Infrastructure/Image/ImageLoader.cs index edfb88cbf..bc924926c 100644 --- a/Flow.Launcher.Infrastructure/Image/ImageLoader.cs +++ b/Flow.Launcher.Infrastructure/Image/ImageLoader.cs @@ -61,7 +61,7 @@ namespace Flow.Launcher.Infrastructure.Image { lock (_storage) { - _storage.Save(ImageCache.Data.Select(x => (x.Key, x.Value.usage)).ToDictionary(x => x.Key, y => y.usage)); + _storage.Save(ImageCache.Data.Select(x => (x.Key, x.Value.usage)).ToDictionary(x => x.Key, x => x.usage)); } } @@ -211,6 +211,15 @@ namespace Flow.Launcher.Infrastructure.Image option); } + public static bool CacheContainImage(string path) + { + return ImageCache.ContainsKey(path); + } + public static ImageSource LoadDefault(bool loadFullImage = false) + { + return LoadInternal(Constant.MissingImgIcon, loadFullImage).ImageSource; + } + public static ImageSource Load(string path, bool loadFullImage = false) { var imageResult = LoadInternal(path, loadFullImage); diff --git a/Flow.Launcher/ViewModel/ResultViewModel.cs b/Flow.Launcher/ViewModel/ResultViewModel.cs index a64836285..76c2a3e48 100644 --- a/Flow.Launcher/ViewModel/ResultViewModel.cs +++ b/Flow.Launcher/ViewModel/ResultViewModel.cs @@ -1,4 +1,5 @@ using System; +using System.Threading.Tasks; using System.Windows; using System.Windows.Media; using System.Windows.Threading; @@ -26,18 +27,18 @@ namespace Flow.Launcher.ViewModel public Settings Settings { get; private set; } - public Visibility ShowOpenResultHotkey => Settings.ShowOpenResultHotkey ? Visibility.Visible : Visibility.Hidden; + public Visibility ShowOpenResultHotkey => Settings.ShowOpenResultHotkey ? Visibility.Visible : Visibility.Hidden; public string OpenResultModifiers => Settings.OpenResultModifiers; public string ShowTitleToolTip => string.IsNullOrEmpty(Result.TitleToolTip) - ? Result.Title + ? Result.Title : Result.TitleToolTip; public string ShowSubTitleToolTip => string.IsNullOrEmpty(Result.SubTitleToolTip) - ? Result.SubTitle + ? Result.SubTitle : Result.SubTitleToolTip; - + public Lazy Image { get; set; } private ImageSource SetImage @@ -57,9 +58,20 @@ namespace Flow.Launcher.ViewModel imagePath = Constant.MissingImgIcon; } } - - // will get here either when icoPath has value\icon delegate is null\when had exception in delegate - return ImageLoader.Load(imagePath); + + if (ImageLoader.CacheContainImage(imagePath)) + // will get here either when icoPath has value\icon delegate is null\when had exception in delegate + return ImageLoader.Load(imagePath); + else + { + Task.Run(() => + { + Image = new Lazy(() => ImageLoader.Load(imagePath)); + OnPropertyChanged(nameof(Image)); + }); + + return ImageLoader.LoadDefault(); + } } } @@ -78,7 +90,7 @@ namespace Flow.Launcher.ViewModel } } - + public override int GetHashCode() { return Result.GetHashCode(); From 99086e26444498bc5ebe0a7ca5654eeedb99dc9c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=98=E9=9F=AC=20=E5=BC=A0?= Date: Mon, 16 Nov 2020 10:12:32 +0800 Subject: [PATCH 117/176] change SetImage to method instead of property to avoid unintended use --- Flow.Launcher/ViewModel/ResultViewModel.cs | 49 ++++++++++------------ 1 file changed, 23 insertions(+), 26 deletions(-) diff --git a/Flow.Launcher/ViewModel/ResultViewModel.cs b/Flow.Launcher/ViewModel/ResultViewModel.cs index 76c2a3e48..8ce35227f 100644 --- a/Flow.Launcher/ViewModel/ResultViewModel.cs +++ b/Flow.Launcher/ViewModel/ResultViewModel.cs @@ -19,7 +19,7 @@ namespace Flow.Launcher.ViewModel if (result != null) { Result = result; - Image = new Lazy(() => SetImage); + Image = new Lazy(SetImage); } Settings = settings; @@ -41,38 +41,35 @@ namespace Flow.Launcher.ViewModel public Lazy Image { get; set; } - private ImageSource SetImage + private ImageSource SetImage() { - get + var imagePath = Result.IcoPath; + if (string.IsNullOrEmpty(imagePath) && Result.Icon != null) { - var imagePath = Result.IcoPath; - if (string.IsNullOrEmpty(imagePath) && Result.Icon != null) + try { - try - { - return Result.Icon(); - } - catch (Exception e) - { - Log.Exception($"|ResultViewModel.Image|IcoPath is empty and exception when calling Icon() for result <{Result.Title}> of plugin <{Result.PluginDirectory}>", e); - imagePath = Constant.MissingImgIcon; - } + return Result.Icon(); } - - if (ImageLoader.CacheContainImage(imagePath)) - // will get here either when icoPath has value\icon delegate is null\when had exception in delegate - return ImageLoader.Load(imagePath); - else + catch (Exception e) { - Task.Run(() => - { - Image = new Lazy(() => ImageLoader.Load(imagePath)); - OnPropertyChanged(nameof(Image)); - }); - - return ImageLoader.LoadDefault(); + Log.Exception($"|ResultViewModel.Image|IcoPath is empty and exception when calling Icon() for result <{Result.Title}> of plugin <{Result.PluginDirectory}>", e); + imagePath = Constant.MissingImgIcon; } } + + if (ImageLoader.CacheContainImage(imagePath)) + // will get here either when icoPath has value\icon delegate is null\when had exception in delegate + return ImageLoader.Load(imagePath); + else + { + Task.Run(() => + { + Image = new Lazy(() => ImageLoader.Load(imagePath)); + OnPropertyChanged(nameof(Image)); + }); + + return ImageLoader.LoadDefault(); + } } public Result Result { get; } From a7310d5d22663af9119bc0d96b7fd0fa849afbf4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=98=E9=9F=AC=20=E5=BC=A0?= Date: Mon, 16 Nov 2020 12:46:39 +0800 Subject: [PATCH 118/176] Use Customized LazyAsync class to load image instead of the weird way of updating lazy class async --- .../Image/ImageLoader.cs | 12 ++-- Flow.Launcher/ViewModel/ResultViewModel.cs | 56 +++++++++++++++---- 2 files changed, 51 insertions(+), 17 deletions(-) diff --git a/Flow.Launcher.Infrastructure/Image/ImageLoader.cs b/Flow.Launcher.Infrastructure/Image/ImageLoader.cs index bc924926c..f61d4615a 100644 --- a/Flow.Launcher.Infrastructure/Image/ImageLoader.cs +++ b/Flow.Launcher.Infrastructure/Image/ImageLoader.cs @@ -18,6 +18,8 @@ namespace Flow.Launcher.Infrastructure.Image private static readonly ConcurrentDictionary GuidToKey = new ConcurrentDictionary(); private static IImageHashGenerator _hashGenerator; private static bool EnableImageHash = true; + public static ImageSource defaultImage { get; } = new BitmapImage(new Uri(Constant.MissingImgIcon)); + private static readonly string[] ImageExtensions = { @@ -37,6 +39,7 @@ namespace Flow.Launcher.Infrastructure.Image var usage = LoadStorageToConcurrentDictionary(); + foreach (var icon in new[] { Constant.DefaultIcon, Constant.MissingImgIcon }) { ImageSource img = new BitmapImage(new Uri(icon)); @@ -213,13 +216,10 @@ namespace Flow.Launcher.Infrastructure.Image public static bool CacheContainImage(string path) { - return ImageCache.ContainsKey(path); - } - public static ImageSource LoadDefault(bool loadFullImage = false) - { - return LoadInternal(Constant.MissingImgIcon, loadFullImage).ImageSource; + return ImageCache.ContainsKey(path) && ImageCache[path] != null; } + public static ImageSource Load(string path, bool loadFullImage = false) { var imageResult = LoadInternal(path, loadFullImage); @@ -230,7 +230,7 @@ namespace Flow.Launcher.Infrastructure.Image string hash = EnableImageHash ? _hashGenerator.GetHashFromImage(img) : null; if (hash != null) { - + if (GuidToKey.TryGetValue(hash, out string key)) { // image already exists img = ImageCache[key] ?? img; diff --git a/Flow.Launcher/ViewModel/ResultViewModel.cs b/Flow.Launcher/ViewModel/ResultViewModel.cs index 8ce35227f..511df5e59 100644 --- a/Flow.Launcher/ViewModel/ResultViewModel.cs +++ b/Flow.Launcher/ViewModel/ResultViewModel.cs @@ -8,18 +8,57 @@ using Flow.Launcher.Infrastructure.Image; using Flow.Launcher.Infrastructure.Logger; using Flow.Launcher.Infrastructure.UserSettings; using Flow.Launcher.Plugin; - +using Microsoft.FSharp.Core; namespace Flow.Launcher.ViewModel { public class ResultViewModel : BaseModel { + public class LazyAsync : Lazy> + { + private T defaultValue; + + + private readonly Action _updateCallback; + public T Value + { + get + { + if (!IsValueCreated) + { + base.Value.ContinueWith(_ => + { + _updateCallback(); + }); + return defaultValue; + } + else if (!base.Value.IsCompleted) + { + return defaultValue; + } + else return base.Value.Result; + } + } + public LazyAsync(Func> factory, T defaultValue, Action updateCallback) : base(factory) + { + if (defaultValue != null) + { + this.defaultValue = defaultValue; + } + _updateCallback = updateCallback; + + } + } + public ResultViewModel(Result result, Settings settings) { if (result != null) { Result = result; - Image = new Lazy(SetImage); + Image = new LazyAsync(SetImage, ImageLoader.defaultImage, () => + { + OnPropertyChanged(nameof(Image)); + }); } Settings = settings; @@ -39,9 +78,9 @@ namespace Flow.Launcher.ViewModel ? Result.SubTitle : Result.SubTitleToolTip; - public Lazy Image { get; set; } + public LazyAsync Image { get; set; } - private ImageSource SetImage() + private async Task SetImage() { var imagePath = Result.IcoPath; if (string.IsNullOrEmpty(imagePath) && Result.Icon != null) @@ -62,14 +101,9 @@ namespace Flow.Launcher.ViewModel return ImageLoader.Load(imagePath); else { - Task.Run(() => - { - Image = new Lazy(() => ImageLoader.Load(imagePath)); - OnPropertyChanged(nameof(Image)); - }); - - return ImageLoader.LoadDefault(); + return await Task.Run(() => ImageLoader.Load(imagePath)); } + } public Result Result { get; } From b3df2fd590bf81883a03f17a955a0d13541ed284 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=98=E9=9F=AC=20=E5=BC=A0?= Date: Mon, 16 Nov 2020 12:58:53 +0800 Subject: [PATCH 119/176] change default image property name --- Flow.Launcher.Infrastructure/Image/ImageLoader.cs | 2 +- Flow.Launcher/ViewModel/ResultViewModel.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Flow.Launcher.Infrastructure/Image/ImageLoader.cs b/Flow.Launcher.Infrastructure/Image/ImageLoader.cs index f61d4615a..fb2f426a0 100644 --- a/Flow.Launcher.Infrastructure/Image/ImageLoader.cs +++ b/Flow.Launcher.Infrastructure/Image/ImageLoader.cs @@ -18,7 +18,7 @@ namespace Flow.Launcher.Infrastructure.Image private static readonly ConcurrentDictionary GuidToKey = new ConcurrentDictionary(); private static IImageHashGenerator _hashGenerator; private static bool EnableImageHash = true; - public static ImageSource defaultImage { get; } = new BitmapImage(new Uri(Constant.MissingImgIcon)); + public static ImageSource DefaultImage { get; } = new BitmapImage(new Uri(Constant.MissingImgIcon)); private static readonly string[] ImageExtensions = diff --git a/Flow.Launcher/ViewModel/ResultViewModel.cs b/Flow.Launcher/ViewModel/ResultViewModel.cs index 511df5e59..f4a51070f 100644 --- a/Flow.Launcher/ViewModel/ResultViewModel.cs +++ b/Flow.Launcher/ViewModel/ResultViewModel.cs @@ -55,7 +55,7 @@ namespace Flow.Launcher.ViewModel if (result != null) { Result = result; - Image = new LazyAsync(SetImage, ImageLoader.defaultImage, () => + Image = new LazyAsync(SetImage, ImageLoader.DefaultImage, () => { OnPropertyChanged(nameof(Image)); }); From dd8a31ccd87bb71d5fc3d3ab74a170e96d2aa0da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=98=E9=9F=AC=20=E5=BC=A0?= Date: Wed, 25 Nov 2020 23:26:35 +0800 Subject: [PATCH 120/176] Add new to Value Property of the LazyAsync clas --- Flow.Launcher/ViewModel/ResultViewModel.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Flow.Launcher/ViewModel/ResultViewModel.cs b/Flow.Launcher/ViewModel/ResultViewModel.cs index f4a51070f..0909b342f 100644 --- a/Flow.Launcher/ViewModel/ResultViewModel.cs +++ b/Flow.Launcher/ViewModel/ResultViewModel.cs @@ -20,7 +20,7 @@ namespace Flow.Launcher.ViewModel private readonly Action _updateCallback; - public T Value + public new T Value { get { From efcb6a7833e030f9463e6792fdc63579a8c787d5 Mon Sep 17 00:00:00 2001 From: Jeremy Wu Date: Thu, 26 Nov 2020 20:47:04 +1100 Subject: [PATCH 121/176] add status check when base.Value has faulted --- .../Image/ImageCache.cs | 6 +++--- .../Image/ImageLoader.cs | 2 -- Flow.Launcher/ViewModel/ResultViewModel.cs | 19 ++++++++----------- 3 files changed, 11 insertions(+), 16 deletions(-) diff --git a/Flow.Launcher.Infrastructure/Image/ImageCache.cs b/Flow.Launcher.Infrastructure/Image/ImageCache.cs index 7482ac1cf..3c819236b 100644 --- a/Flow.Launcher.Infrastructure/Image/ImageCache.cs +++ b/Flow.Launcher.Infrastructure/Image/ImageCache.cs @@ -66,9 +66,10 @@ namespace Flow.Launcher.Infrastructure.Image { // To delete the images from the data dictionary based on the resizing of the Usage Dictionary. - foreach (var key in Data.Where(x => x.Key != Constant.MissingImgIcon) - .OrderBy(x => x.Value.usage).Take(Data.Count - MaxCached).Select(x => x.Key)) + .OrderBy(x => x.Value.usage) + .Take(Data.Count - MaxCached) + .Select(x => x.Key)) { if (!(key.Equals(Constant.ErrorIcon) || key.Equals(Constant.DefaultIcon))) { @@ -98,5 +99,4 @@ namespace Flow.Launcher.Infrastructure.Image return Data.Values.Select(x => x.imageSource).Distinct().Count(); } } - } \ No newline at end of file diff --git a/Flow.Launcher.Infrastructure/Image/ImageLoader.cs b/Flow.Launcher.Infrastructure/Image/ImageLoader.cs index fb2f426a0..ac333d567 100644 --- a/Flow.Launcher.Infrastructure/Image/ImageLoader.cs +++ b/Flow.Launcher.Infrastructure/Image/ImageLoader.cs @@ -39,7 +39,6 @@ namespace Flow.Launcher.Infrastructure.Image var usage = LoadStorageToConcurrentDictionary(); - foreach (var icon in new[] { Constant.DefaultIcon, Constant.MissingImgIcon }) { ImageSource img = new BitmapImage(new Uri(icon)); @@ -219,7 +218,6 @@ namespace Flow.Launcher.Infrastructure.Image return ImageCache.ContainsKey(path) && ImageCache[path] != null; } - public static ImageSource Load(string path, bool loadFullImage = false) { var imageResult = LoadInternal(path, loadFullImage); diff --git a/Flow.Launcher/ViewModel/ResultViewModel.cs b/Flow.Launcher/ViewModel/ResultViewModel.cs index 0909b342f..6e00d3421 100644 --- a/Flow.Launcher/ViewModel/ResultViewModel.cs +++ b/Flow.Launcher/ViewModel/ResultViewModel.cs @@ -2,13 +2,11 @@ using System.Threading.Tasks; using System.Windows; using System.Windows.Media; -using System.Windows.Threading; using Flow.Launcher.Infrastructure; using Flow.Launcher.Infrastructure.Image; using Flow.Launcher.Infrastructure.Logger; using Flow.Launcher.Infrastructure.UserSettings; using Flow.Launcher.Plugin; -using Microsoft.FSharp.Core; namespace Flow.Launcher.ViewModel { @@ -18,7 +16,6 @@ namespace Flow.Launcher.ViewModel { private T defaultValue; - private readonly Action _updateCallback; public new T Value { @@ -30,13 +27,14 @@ namespace Flow.Launcher.ViewModel { _updateCallback(); }); + return defaultValue; } - else if (!base.Value.IsCompleted) - { + + if (!base.Value.IsCompleted || base.Value.IsFaulted) return defaultValue; - } - else return base.Value.Result; + + return base.Value.Result; } } public LazyAsync(Func> factory, T defaultValue, Action updateCallback) : base(factory) @@ -45,8 +43,8 @@ namespace Flow.Launcher.ViewModel { this.defaultValue = defaultValue; } + _updateCallback = updateCallback; - } } @@ -97,13 +95,14 @@ namespace Flow.Launcher.ViewModel } if (ImageLoader.CacheContainImage(imagePath)) + { // will get here either when icoPath has value\icon delegate is null\when had exception in delegate return ImageLoader.Load(imagePath); + } else { return await Task.Run(() => ImageLoader.Load(imagePath)); } - } public Result Result { get; } @@ -121,7 +120,6 @@ namespace Flow.Launcher.ViewModel } } - public override int GetHashCode() { return Result.GetHashCode(); @@ -131,6 +129,5 @@ namespace Flow.Launcher.ViewModel { return Result.ToString(); } - } } From ac945f48147c8901861bb1ed9f2c9d2d7966e044 Mon Sep 17 00:00:00 2001 From: Jeremy Wu Date: Fri, 27 Nov 2020 07:04:39 +1100 Subject: [PATCH 122/176] revert unneeded condition on Constant.MissingImgIcon --- Flow.Launcher.Infrastructure/Image/ImageCache.cs | 5 +---- Flow.Launcher/ViewModel/ResultViewModel.cs | 12 ++++++++---- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/Flow.Launcher.Infrastructure/Image/ImageCache.cs b/Flow.Launcher.Infrastructure/Image/ImageCache.cs index 3c819236b..0cb5779d2 100644 --- a/Flow.Launcher.Infrastructure/Image/ImageCache.cs +++ b/Flow.Launcher.Infrastructure/Image/ImageCache.cs @@ -66,10 +66,7 @@ namespace Flow.Launcher.Infrastructure.Image { // To delete the images from the data dictionary based on the resizing of the Usage Dictionary. - foreach (var key in Data.Where(x => x.Key != Constant.MissingImgIcon) - .OrderBy(x => x.Value.usage) - .Take(Data.Count - MaxCached) - .Select(x => x.Key)) + foreach (var key in Data.OrderBy(x => x.Value.usage).Take(Data.Count - MaxCached).Select(x => x.Key)) { if (!(key.Equals(Constant.ErrorIcon) || key.Equals(Constant.DefaultIcon))) { diff --git a/Flow.Launcher/ViewModel/ResultViewModel.cs b/Flow.Launcher/ViewModel/ResultViewModel.cs index 6e00d3421..00a0e1ae5 100644 --- a/Flow.Launcher/ViewModel/ResultViewModel.cs +++ b/Flow.Launcher/ViewModel/ResultViewModel.cs @@ -53,10 +53,14 @@ namespace Flow.Launcher.ViewModel if (result != null) { Result = result; - Image = new LazyAsync(SetImage, ImageLoader.DefaultImage, () => - { - OnPropertyChanged(nameof(Image)); - }); + + Image = new LazyAsync( + SetImage, + ImageLoader.DefaultImage, + () => + { + OnPropertyChanged(nameof(Image)); + }); } Settings = settings; From f20c721ad1adba428602290efe45a4c351ed233b Mon Sep 17 00:00:00 2001 From: Jeremy Wu Date: Fri, 27 Nov 2020 13:12:09 +1100 Subject: [PATCH 123/176] allow MissingImgIcon and DefaultIcon to be removed from image cache --- Flow.Launcher.Infrastructure/Image/ImageCache.cs | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/Flow.Launcher.Infrastructure/Image/ImageCache.cs b/Flow.Launcher.Infrastructure/Image/ImageCache.cs index 0cb5779d2..b1c09024f 100644 --- a/Flow.Launcher.Infrastructure/Image/ImageCache.cs +++ b/Flow.Launcher.Infrastructure/Image/ImageCache.cs @@ -65,14 +65,8 @@ namespace Flow.Launcher.Infrastructure.Image if (Data.Count > permissibleFactor * MaxCached) { // To delete the images from the data dictionary based on the resizing of the Usage Dictionary. - foreach (var key in Data.OrderBy(x => x.Value.usage).Take(Data.Count - MaxCached).Select(x => x.Key)) - { - if (!(key.Equals(Constant.ErrorIcon) || key.Equals(Constant.DefaultIcon))) - { - Data.TryRemove(key, out _); - } - } + Data.TryRemove(key, out _); } } } From c1ca76dd15800ad72f540cffc521a9790493288d Mon Sep 17 00:00:00 2001 From: YFdyh000 Date: Sun, 29 Nov 2020 16:11:58 +0800 Subject: [PATCH 124/176] fix tray menu translation --- Flow.Launcher/MainWindow.xaml.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Flow.Launcher/MainWindow.xaml.cs b/Flow.Launcher/MainWindow.xaml.cs index 2c0beaaab..28ad80603 100644 --- a/Flow.Launcher/MainWindow.xaml.cs +++ b/Flow.Launcher/MainWindow.xaml.cs @@ -53,11 +53,12 @@ namespace Flow.Launcher private void OnInitialized(object sender, EventArgs e) { // show notify icon when flowlauncher is hided - InitializeNotifyIcon(); } private void OnLoaded(object sender, RoutedEventArgs _) { + InitializeNotifyIcon(); + // todo is there a way to set blur only once? ThemeManager.Instance.SetBlurForWindow(); WindowsInteropHelper.DisableControlBox(this); From 9bc89ea2784384ea9755ffde4acfd148a9ea36b7 Mon Sep 17 00:00:00 2001 From: Zero Date: Sun, 29 Nov 2020 17:01:51 +0800 Subject: [PATCH 125/176] :see_no_evil: ignore some files/folders --- .gitignore | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 28366cd03..a293100e6 100644 --- a/.gitignore +++ b/.gitignore @@ -300,4 +300,8 @@ migrateToAutomaticPackageRestore.ps1 *.pyc *.diagsession Output-Performance.txt -*.diff \ No newline at end of file +*.diff + +# vscode +.vscode +.history \ No newline at end of file From 835b9214af0d17137fb7ac3613f2197834ec35ac Mon Sep 17 00:00:00 2001 From: Zero Date: Sun, 29 Nov 2020 17:09:27 +0800 Subject: [PATCH 126/176] :art: :recycle: format & rebuild json rpc python script - :art: format source via formatter - :recycle: more informations see https://github.com/Flow-Launcher/Flow.Launcher.JsonRPC.Python --- JsonRPC/wox.py | 115 ------------------------------------------------- README.md | 24 ++++++----- 2 files changed, 14 insertions(+), 125 deletions(-) delete mode 100644 JsonRPC/wox.py diff --git a/JsonRPC/wox.py b/JsonRPC/wox.py deleted file mode 100644 index 1beaa1d7e..000000000 --- a/JsonRPC/wox.py +++ /dev/null @@ -1,115 +0,0 @@ -# -*- coding: utf-8 -*- -from __future__ import print_function -import json -import sys -import inspect - -class FlowLauncher(object): - """ - Flow.Launcher python plugin base - """ - - def __init__(self): - rpc_request = json.loads(sys.argv[1]) - # proxy is not working now - self.proxy = rpc_request.get("proxy",{}) - request_method_name = rpc_request.get("method") - request_parameters = rpc_request.get("parameters") - methods = inspect.getmembers(self, predicate=inspect.ismethod) - - request_method = dict(methods)[request_method_name] - results = request_method(*request_parameters) - - if request_method_name == "query" or request_method_name == "context_menu": - print(json.dumps({"result": results})) - - def query(self,query): - """ - sub class need to override this method - """ - return [] - - def context_menu(self, data): - """ - optional context menu entries for a result - """ - return [] - - def debug(self,msg): - """ - alert msg - """ - print("DEBUG:{}".format(msg)) - sys.exit() - -class FlowLauncherAPI(object): - - @classmethod - def change_query(cls,query,requery = False): - """ - change flowlauncher query - """ - print(json.dumps({"method": "Flow.Launcher.ChangeQuery","parameters":[query,requery]})) - - @classmethod - def shell_run(cls,cmd): - """ - run shell commands - """ - print(json.dumps({"method": "Flow.Launcher.ShellRun","parameters":[cmd]})) - - @classmethod - def close_app(cls): - """ - close flowlauncher - """ - print(json.dumps({"method": "Flow.Launcher.CloseApp","parameters":[]})) - - @classmethod - def hide_app(cls): - """ - hide flowlauncher - """ - print(json.dumps({"method": "Flow.Launcher.HideApp","parameters":[]})) - - @classmethod - def show_app(cls): - """ - show flowlauncher - """ - print(json.dumps({"method": "Flow.Launcher.ShowApp","parameters":[]})) - - @classmethod - def show_msg(cls,title,sub_title,ico_path=""): - """ - show messagebox - """ - print(json.dumps({"method": "Flow.Launcher.ShowMsg","parameters":[title,sub_title,ico_path]})) - - @classmethod - def open_setting_dialog(cls): - """ - open setting dialog - """ - print(json.dumps({"method": "Flow.Launcher.OpenSettingDialog","parameters":[]})) - - @classmethod - def start_loadingbar(cls): - """ - start loading animation in flowlauncher - """ - print(json.dumps({"method": "Flow.Launcher.StartLoadingBar","parameters":[]})) - - @classmethod - def stop_loadingbar(cls): - """ - stop loading animation in flowlauncher - """ - print(json.dumps({"method": "Flow.Launcher.StopLoadingBar","parameters":[]})) - - @classmethod - def reload_plugins(cls): - """ - reload all flowlauncher plugins - """ - print(json.dumps({"method": "Flow.Launcher.ReloadPlugins","parameters":[]})) diff --git a/README.md b/README.md index d7f8dd7ba..94d59bb93 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ Flow Launcher. Dedicated to make your workflow flow more seamlessly. Aimed at be ![The Flow](https://user-images.githubusercontent.com/26427004/82151677-fa9c7100-989f-11ea-9143-81de60aaf07d.gif) - Search everything from applications, files, bookmarks, YouTube, Twitter and more. All from the comfort of your keyboard without ever touching the mouse. -- Search for file contents +- Search for file contents. - Support search using environment variable paths - Run batch and PowerShell commands as Administrator or a different user. - Support languages from Chinese to Italian and more. @@ -26,20 +26,24 @@ Flow Launcher. Dedicated to make your workflow flow more seamlessly. Aimed at be ## Running Flow Launcher -| [Windows 7 and up](https://github.com/Flow-Launcher/Flow.Launcher/releases/latest) -| ------------- | +| [Windows 7 and up](https://github.com/Flow-Launcher/Flow.Launcher/releases/latest) | +| ---------------------------------------------------------------------------------- | Windows may complain about security due to code not being signed, this will be completed at a later stage. If you downloaded from this repo, you are good to continue the set up. -**Integrations:** - - If you use python plugins, install [python3](https://www.python.org/downloads/): `.exe` installer + add it to `%PATH%` or set it in flow's settings - - Flow searches files and contents via Windows Index Search, to use Everything, download the plugin [here](https://github.com/Flow-Launcher/Flow.Launcher.Plugin.Everything/releases/latest) +**Integrations** + - If you use Python plugins: + - Install [Python3](https://www.python.org/downloads/), download `.exe` installer. + - Add Python to `%PATH%` or set it in flow's settings. + - Use `pip` to install `flowlauncher`, cmd in `pip install flowlauncher`. + - Start to launch your Python plugins. + - Flow searches files and contents via Windows Index Search, to use Everything, download the plugin [here](https://github.com/Flow-Launcher/Flow.Launcher.Plugin.Everything/releases/latest). **Usage** -- Open flow's search window: Alt+Space is the default hotkey -- Open context menu: Ctrl+O/Shift+Enter -- Cancel/Return to previous screen: Esc -- Install/Uninstall plugins: in the search window, type `wpm install/uninstall` + the plugin name +- Open flow's search window: Alt+Space is the default hotkey. +- Open context menu: Ctrl+O/Shift+Enter. +- Cancel/Return to previous screen: Esc. +- Install/Uninstall plugins: in the search window, type `wpm install/uninstall` + the plugin name. - Saved user settings are located: - If using roaming: `%APPDATA%\FlowLauncher` - If using portable, by default: `%localappdata%\FlowLauncher\app-\UserData` From 5a9c631577cba212869cd6388fba57cd084f7dcb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=98=E9=9F=AC=20=E5=BC=A0?= Date: Sun, 29 Nov 2020 20:50:28 +0800 Subject: [PATCH 127/176] Use PropertyChange event to change text when language has changed. --- .../Resource/Internationalization.cs | 3 ++- .../UserSettings/Settings.cs | 10 ++++++- Flow.Launcher/MainWindow.xaml.cs | 27 ++++++++++++++++--- 3 files changed, 35 insertions(+), 5 deletions(-) diff --git a/Flow.Launcher.Core/Resource/Internationalization.cs b/Flow.Launcher.Core/Resource/Internationalization.cs index 1df6f2a04..9c5bb9cc3 100644 --- a/Flow.Launcher.Core/Resource/Internationalization.cs +++ b/Flow.Launcher.Core/Resource/Internationalization.cs @@ -4,6 +4,7 @@ using System.IO; using System.Linq; using System.Reflection; using System.Windows; +using Flow.Launcher; using Flow.Launcher.Core.Plugin; using Flow.Launcher.Infrastructure; using Flow.Launcher.Infrastructure.Logger; @@ -88,7 +89,6 @@ namespace Flow.Launcher.Core.Resource { language = language.NonNull(); - Settings.Language = language.LanguageCode; RemoveOldLanguageFiles(); if (language != AvailableLanguages.English) @@ -96,6 +96,7 @@ namespace Flow.Launcher.Core.Resource LoadLanguage(language); } UpdatePluginMetadataTranslations(); + Settings.Language = language.LanguageCode; } diff --git a/Flow.Launcher.Infrastructure/UserSettings/Settings.cs b/Flow.Launcher.Infrastructure/UserSettings/Settings.cs index 837fe3b71..832b6fbfa 100644 --- a/Flow.Launcher.Infrastructure/UserSettings/Settings.cs +++ b/Flow.Launcher.Infrastructure/UserSettings/Settings.cs @@ -9,10 +9,18 @@ namespace Flow.Launcher.Infrastructure.UserSettings { public class Settings : BaseModel { + private string language = "en"; + public string Hotkey { get; set; } = $"{KeyConstant.Alt} + {KeyConstant.Space}"; public string OpenResultModifiers { get; set; } = KeyConstant.Alt; public bool ShowOpenResultHotkey { get; set; } = true; - public string Language { get; set; } = "en"; + public string Language + { + get => language; set { + language = value; + OnPropertyChanged(); + } + } public string Theme { get; set; } = Constant.DefaultTheme; public bool UseDropShadowEffect { get; set; } = false; public string QueryBoxFont { get; set; } = FontFamily.GenericSansSerif.Name; diff --git a/Flow.Launcher/MainWindow.xaml.cs b/Flow.Launcher/MainWindow.xaml.cs index 28ad80603..558388762 100644 --- a/Flow.Launcher/MainWindow.xaml.cs +++ b/Flow.Launcher/MainWindow.xaml.cs @@ -52,11 +52,12 @@ namespace Flow.Launcher private void OnInitialized(object sender, EventArgs e) { - // show notify icon when flowlauncher is hided + } private void OnLoaded(object sender, RoutedEventArgs _) { + // show notify icon when flowlauncher is hidden InitializeNotifyIcon(); // todo is there a way to set blur only once? @@ -88,11 +89,19 @@ namespace Flow.Launcher }; _settings.PropertyChanged += (o, e) => { - if (e.PropertyName == nameof(Settings.HideNotifyIcon)) + switch (e.PropertyName) { - _notifyIcon.Visible = !_settings.HideNotifyIcon; + case nameof(Settings.HideNotifyIcon): + _notifyIcon.Visible = !_settings.HideNotifyIcon; + break; + case nameof(Settings.Language): + UpdateNotifyIconText(); + break; } }; + + + InitializePosition(); } @@ -104,6 +113,18 @@ namespace Flow.Launcher _settings.WindowLeft = Left; } + private void UpdateNotifyIconText() + { + var menu = _notifyIcon.ContextMenuStrip; + var open = menu.Items[0]; + var setting = menu.Items[1]; + var exit = menu.Items[2]; + + open.Text = InternationalizationManager.Instance.GetTranslation("iconTrayOpen"); + setting.Text = InternationalizationManager.Instance.GetTranslation("iconTraySettings"); + exit.Text = InternationalizationManager.Instance.GetTranslation("iconTrayExit"); + } + private void InitializeNotifyIcon() { _notifyIcon = new NotifyIcon From ac6dea1322a319e282c4233449ca02e0507d510a Mon Sep 17 00:00:00 2001 From: Jeremy Wu Date: Mon, 30 Nov 2020 07:31:38 +1100 Subject: [PATCH 128/176] clear whitespaces, no code changes --- Flow.Launcher.Core/Resource/Internationalization.cs | 1 - Flow.Launcher/MainWindow.xaml.cs | 5 ----- 2 files changed, 6 deletions(-) diff --git a/Flow.Launcher.Core/Resource/Internationalization.cs b/Flow.Launcher.Core/Resource/Internationalization.cs index 9c5bb9cc3..64b949cbb 100644 --- a/Flow.Launcher.Core/Resource/Internationalization.cs +++ b/Flow.Launcher.Core/Resource/Internationalization.cs @@ -4,7 +4,6 @@ using System.IO; using System.Linq; using System.Reflection; using System.Windows; -using Flow.Launcher; using Flow.Launcher.Core.Plugin; using Flow.Launcher.Infrastructure; using Flow.Launcher.Infrastructure.Logger; diff --git a/Flow.Launcher/MainWindow.xaml.cs b/Flow.Launcher/MainWindow.xaml.cs index 558388762..993eb76c5 100644 --- a/Flow.Launcher/MainWindow.xaml.cs +++ b/Flow.Launcher/MainWindow.xaml.cs @@ -100,8 +100,6 @@ namespace Flow.Launcher } }; - - InitializePosition(); } @@ -201,7 +199,6 @@ namespace Flow.Launcher } } - private void OnDrop(object sender, DragEventArgs e) { if (e.Data.GetDataPresent(DataFormats.FileDrop)) @@ -316,7 +313,5 @@ namespace Flow.Launcher _viewModel.QueryTextCursorMovedToEnd = false; } } - - } } \ No newline at end of file From e11daa0867ea6fdf75fb1a793d4338fd03f52db1 Mon Sep 17 00:00:00 2001 From: Zero Date: Mon, 30 Nov 2020 09:52:25 +0800 Subject: [PATCH 129/176] Update LICENSE --- LICENSE | 40 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 39 insertions(+), 1 deletion(-) diff --git a/LICENSE b/LICENSE index cb4b563c0..0b9ce01e4 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,44 @@ +FlowLauncher are licensed under the terms of the MIT license, reproduced below. + + +A. HISTORY OF THE SOFTWARE +========================== + +- Copyright (c) 2015-2019 Wox. All rights reserved. +- Copyright (c) 2019-2020+ Flow-Launcher. All rights reserved. + + +B. FlowLauncher LICENSE +========================== + The MIT License (MIT) -Copyright (c) 2015 Wox +Copyright (c) 2019-2020+ Flow-Launcher. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +C. Wox LICENSE +========================== + +The MIT License (MIT) + +Copyright (c) 2020 Wox https://github.com/Wox-launcher/Wox Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in From a460aefa1f6faca89a47491c86598365a5c9ea1c Mon Sep 17 00:00:00 2001 From: Jeremy Wu Date: Sun, 6 Dec 2020 19:58:27 +1100 Subject: [PATCH 130/176] add PluginsManager --- Flow.Launcher.sln | 16 +++++++ ...Flow.Launcher.Plugin.PluginsManager.csproj | 30 ++++++++++++ .../Main.cs | 10 ++++ .../Plugins.cs | 13 ++++++ .../PluginsManager.cs | 46 +++++++++++++++++++ .../PluginsManifest.cs | 35 ++++++++++++++ .../plugin.json | 14 ++++++ 7 files changed, 164 insertions(+) create mode 100644 Plugins/Flow.Launcher.Plugin.PluginManager/Flow.Launcher.Plugin.PluginsManager.csproj create mode 100644 Plugins/Flow.Launcher.Plugin.PluginManager/Main.cs create mode 100644 Plugins/Flow.Launcher.Plugin.PluginManager/Plugins.cs create mode 100644 Plugins/Flow.Launcher.Plugin.PluginManager/PluginsManager.cs create mode 100644 Plugins/Flow.Launcher.Plugin.PluginManager/PluginsManifest.cs create mode 100644 Plugins/Flow.Launcher.Plugin.PluginManager/plugin.json diff --git a/Flow.Launcher.sln b/Flow.Launcher.sln index 6196aa5df..22086b0bd 100644 --- a/Flow.Launcher.sln +++ b/Flow.Launcher.sln @@ -20,6 +20,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Flow.Launcher", "Flow.Launc {59BD9891-3837-438A-958D-ADC7F91F6F7E} = {59BD9891-3837-438A-958D-ADC7F91F6F7E} {C21BFF9C-2C99-4B5F-B7C9-A5E6DDDB37B0} = {C21BFF9C-2C99-4B5F-B7C9-A5E6DDDB37B0} {F35190AA-4758-4D9E-A193-E3BDF6AD3567} = {F35190AA-4758-4D9E-A193-E3BDF6AD3567} + {70CB72BC-1CD6-453D-9CA5-F7E2441426FE} = {70CB72BC-1CD6-453D-9CA5-F7E2441426FE} {9B130CC5-14FB-41FF-B310-0A95B6894C37} = {9B130CC5-14FB-41FF-B310-0A95B6894C37} {FDED22C8-B637-42E8-824A-63B5B6E05A3A} = {FDED22C8-B637-42E8-824A-63B5B6E05A3A} {A3DCCBCA-ACC1-421D-B16E-210896234C26} = {A3DCCBCA-ACC1-421D-B16E-210896234C26} @@ -71,6 +72,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Flow.Launcher.Plugin.Explor EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Flow.Launcher.Plugin.ProcessKiller", "Plugins\Flow.Launcher.Plugin.ProcessKiller\Flow.Launcher.Plugin.ProcessKiller.csproj", "{588088F4-3262-4F9F-9663-A05DE12534C3}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Flow.Launcher.Plugin.PluginsManager", "Plugins\Flow.Launcher.Plugin.PluginManager\Flow.Launcher.Plugin.PluginsManager.csproj", "{70CB72BC-1CD6-453D-9CA5-F7E2441426FE}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -298,6 +301,18 @@ Global {588088F4-3262-4F9F-9663-A05DE12534C3}.Release|x64.Build.0 = Release|Any CPU {588088F4-3262-4F9F-9663-A05DE12534C3}.Release|x86.ActiveCfg = Release|Any CPU {588088F4-3262-4F9F-9663-A05DE12534C3}.Release|x86.Build.0 = Release|Any CPU + {70CB72BC-1CD6-453D-9CA5-F7E2441426FE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {70CB72BC-1CD6-453D-9CA5-F7E2441426FE}.Debug|Any CPU.Build.0 = Debug|Any CPU + {70CB72BC-1CD6-453D-9CA5-F7E2441426FE}.Debug|x64.ActiveCfg = Debug|Any CPU + {70CB72BC-1CD6-453D-9CA5-F7E2441426FE}.Debug|x64.Build.0 = Debug|Any CPU + {70CB72BC-1CD6-453D-9CA5-F7E2441426FE}.Debug|x86.ActiveCfg = Debug|Any CPU + {70CB72BC-1CD6-453D-9CA5-F7E2441426FE}.Debug|x86.Build.0 = Debug|Any CPU + {70CB72BC-1CD6-453D-9CA5-F7E2441426FE}.Release|Any CPU.ActiveCfg = Release|Any CPU + {70CB72BC-1CD6-453D-9CA5-F7E2441426FE}.Release|Any CPU.Build.0 = Release|Any CPU + {70CB72BC-1CD6-453D-9CA5-F7E2441426FE}.Release|x64.ActiveCfg = Release|Any CPU + {70CB72BC-1CD6-453D-9CA5-F7E2441426FE}.Release|x64.Build.0 = Release|Any CPU + {70CB72BC-1CD6-453D-9CA5-F7E2441426FE}.Release|x86.ActiveCfg = Release|Any CPU + {70CB72BC-1CD6-453D-9CA5-F7E2441426FE}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -316,6 +331,7 @@ Global {59BD9891-3837-438A-958D-ADC7F91F6F7E} = {3A73F5A7-0335-40D8-BF7C-F20BE5D0BA87} {F9C4C081-4CC3-4146-95F1-E102B4E10A5F} = {3A73F5A7-0335-40D8-BF7C-F20BE5D0BA87} {588088F4-3262-4F9F-9663-A05DE12534C3} = {3A73F5A7-0335-40D8-BF7C-F20BE5D0BA87} + {70CB72BC-1CD6-453D-9CA5-F7E2441426FE} = {3A73F5A7-0335-40D8-BF7C-F20BE5D0BA87} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {F26ACB50-3F6C-4907-B0C9-1ADACC1D0DED} diff --git a/Plugins/Flow.Launcher.Plugin.PluginManager/Flow.Launcher.Plugin.PluginsManager.csproj b/Plugins/Flow.Launcher.Plugin.PluginManager/Flow.Launcher.Plugin.PluginsManager.csproj new file mode 100644 index 000000000..b1d0c6f68 --- /dev/null +++ b/Plugins/Flow.Launcher.Plugin.PluginManager/Flow.Launcher.Plugin.PluginsManager.csproj @@ -0,0 +1,30 @@ + + + + Library + netcoreapp3.1 + true + true + true + false + + + + ..\..\Output\Debug\Plugins\Flow.Launcher.Plugin.PluginsManager + + + + ..\..\Output\Release\Plugins\Flow.Launcher.Plugin.PluginsManager + + + + + + + + + + PreserveNewest + + + \ No newline at end of file diff --git a/Plugins/Flow.Launcher.Plugin.PluginManager/Main.cs b/Plugins/Flow.Launcher.Plugin.PluginManager/Main.cs new file mode 100644 index 000000000..36e40bf1b --- /dev/null +++ b/Plugins/Flow.Launcher.Plugin.PluginManager/Main.cs @@ -0,0 +1,10 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace Flow.Launcher.Plugin.PluginsManager +{ + class Main + { + } +} diff --git a/Plugins/Flow.Launcher.Plugin.PluginManager/Plugins.cs b/Plugins/Flow.Launcher.Plugin.PluginManager/Plugins.cs new file mode 100644 index 000000000..f6538b7ef --- /dev/null +++ b/Plugins/Flow.Launcher.Plugin.PluginManager/Plugins.cs @@ -0,0 +1,13 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace Flow.Launcher.Plugin.PluginsManager +{ + internal class Plugin + { + public string Name { get; set; } + public string Url { get; set; } + public string Version { get; set; } + } +} diff --git a/Plugins/Flow.Launcher.Plugin.PluginManager/PluginsManager.cs b/Plugins/Flow.Launcher.Plugin.PluginManager/PluginsManager.cs new file mode 100644 index 000000000..055e027ad --- /dev/null +++ b/Plugins/Flow.Launcher.Plugin.PluginManager/PluginsManager.cs @@ -0,0 +1,46 @@ +using Flow.Launcher.Infrastructure.Http; +using System; +using System.Collections.Generic; +using System.Net; +using System.Text; + +namespace Flow.Launcher.Plugin.PluginsManager +{ + internal class PluginsManager + { + internal void PluginInstall(Plugin plugin) + { + if (PluginExists()) + { + //prompt user if want to install + + return; + } + + PluginDowload(plugin.Url, ""); + } + + private void PluginDowload(string downloadUrl, string toFilePath) + { + using (var wc = new WebClient { Proxy = Http.WebProxy() }) + { + wc.DownloadFile(downloadUrl, toFilePath); + } + } + + internal void PluginUpdate() + { + + } + + internal bool PluginExists() + { + return false; + } + + internal void PluginsManifestSiteOpen() + { + + } + } +} diff --git a/Plugins/Flow.Launcher.Plugin.PluginManager/PluginsManifest.cs b/Plugins/Flow.Launcher.Plugin.PluginManager/PluginsManifest.cs new file mode 100644 index 000000000..d470a996c --- /dev/null +++ b/Plugins/Flow.Launcher.Plugin.PluginManager/PluginsManifest.cs @@ -0,0 +1,35 @@ +using Flow.Launcher.Infrastructure.Http; +using Flow.Launcher.Infrastructure.Logger; +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.Net; +using System.Text; + +namespace Flow.Launcher.Plugin.PluginsManager +{ + class PluginsManifest + { + public List Plugins { get; private set; } + public PluginsManifest() + { + var json = string.Empty; + + using (var wc = new WebClient { Proxy = Http.WebProxy() }) + { + try + { + json = wc.DownloadString("https://raw.githubusercontent.com/Flow-Launcher/Flow.Launcher.PluginsManifest/main/plugins.json"); + } + catch (Exception e) + { + Log.Exception("|PluginManagement.GetManifest|Encountered error trying to download plugins manifest", e); + + Plugins = new List(); + } + } + + Plugins = !string.IsNullOrEmpty(json) ? JsonConvert.DeserializeObject>(json) : new List(); + } + } +} diff --git a/Plugins/Flow.Launcher.Plugin.PluginManager/plugin.json b/Plugins/Flow.Launcher.Plugin.PluginManager/plugin.json new file mode 100644 index 000000000..327011ac3 --- /dev/null +++ b/Plugins/Flow.Launcher.Plugin.PluginManager/plugin.json @@ -0,0 +1,14 @@ +{ + "ID": "9f8f9b14-2518-4907-b211-35ab6290dee7", + "ActionKeywords": [ + "pm" + ], + "Name": "Plugins Manager", + "Description": "Management of installing, uninstalling or updating Flow Launcher plugins", + "Author": "Jeremy Wu", + "Version": "1.0.0", + "Language": "csharp", + "Website": "https://github.com/Flow-Launcher/Flow.Launcher", + "ExecuteFileName": "Flow.Launcher.Plugin.PluginsManager.dll", + "IcoPath": "Images\\pluginsmanager.png" +} From 9ae9d69a570fa2073979b9dbeb31dc23112c5d07 Mon Sep 17 00:00:00 2001 From: Jeremy Wu Date: Sun, 6 Dec 2020 20:39:26 +1100 Subject: [PATCH 131/176] update Plugin json mapping --- .../Flow.Launcher.Plugin.PluginManager/Plugins.cs | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/Plugins/Flow.Launcher.Plugin.PluginManager/Plugins.cs b/Plugins/Flow.Launcher.Plugin.PluginManager/Plugins.cs index f6538b7ef..56f01e86b 100644 --- a/Plugins/Flow.Launcher.Plugin.PluginManager/Plugins.cs +++ b/Plugins/Flow.Launcher.Plugin.PluginManager/Plugins.cs @@ -6,8 +6,14 @@ namespace Flow.Launcher.Plugin.PluginsManager { internal class Plugin { - public string Name { get; set; } - public string Url { get; set; } - public string Version { get; set; } + internal string ID { get; set; } + internal string Name { get; set; } + internal string Description { get; set; } + internal string Author { get; set; } + internal string Version { get; set; } + internal string Language { get; set; } + internal string Website { get; set; } + internal string UrlDownload { get; set; } + internal string UrlSourceCode { get; set; } } } From cc1d049cad8efe8298e07aa6a094dbe2d773b0ce Mon Sep 17 00:00:00 2001 From: Jeremy Wu Date: Sun, 6 Dec 2020 21:10:22 +1100 Subject: [PATCH 132/176] Plugins Manager scaffolding --- .../ContextMenu.cs | 29 ++++++++++ ...Flow.Launcher.Plugin.PluginsManager.csproj | 8 +++ .../Languages/en.xaml | 15 ++++++ .../Main.cs | 54 +++++++++++++++++-- .../{ => Models}/Plugins.cs | 2 +- .../{ => Models}/PluginsManifest.cs | 2 +- .../ViewModels/SettingsViewModel.cs | 26 +++++++++ .../Views/PluginsManagerSettings.xaml | 12 +++++ .../Views/PluginsManagerSettings.xaml.cs | 22 ++++++++ 9 files changed, 165 insertions(+), 5 deletions(-) create mode 100644 Plugins/Flow.Launcher.Plugin.PluginManager/ContextMenu.cs create mode 100644 Plugins/Flow.Launcher.Plugin.PluginManager/Languages/en.xaml rename Plugins/Flow.Launcher.Plugin.PluginManager/{ => Models}/Plugins.cs (90%) rename Plugins/Flow.Launcher.Plugin.PluginManager/{ => Models}/PluginsManifest.cs (95%) create mode 100644 Plugins/Flow.Launcher.Plugin.PluginManager/ViewModels/SettingsViewModel.cs create mode 100644 Plugins/Flow.Launcher.Plugin.PluginManager/Views/PluginsManagerSettings.xaml create mode 100644 Plugins/Flow.Launcher.Plugin.PluginManager/Views/PluginsManagerSettings.xaml.cs diff --git a/Plugins/Flow.Launcher.Plugin.PluginManager/ContextMenu.cs b/Plugins/Flow.Launcher.Plugin.PluginManager/ContextMenu.cs new file mode 100644 index 000000000..d26c1ead4 --- /dev/null +++ b/Plugins/Flow.Launcher.Plugin.PluginManager/ContextMenu.cs @@ -0,0 +1,29 @@ +using Flow.Launcher.Infrastructure.UserSettings; +using System; +using System.Collections.Generic; +using System.Text; + +namespace Flow.Launcher.Plugin.PluginsManager +{ + internal class ContextMenu : IContextMenu + { + private PluginInitContext Context { get; set; } + + private Settings Settings { get; set; } + + public ContextMenu(PluginInitContext context, Settings settings) + { + Context = context; + Settings = settings; + } + + public List LoadContextMenus(Result selectedResult) + { + // Open website + // Go to source code + // Report an issue? + // Request a feature? + return new List(); + } + } +} diff --git a/Plugins/Flow.Launcher.Plugin.PluginManager/Flow.Launcher.Plugin.PluginsManager.csproj b/Plugins/Flow.Launcher.Plugin.PluginManager/Flow.Launcher.Plugin.PluginsManager.csproj index b1d0c6f68..43a1e089b 100644 --- a/Plugins/Flow.Launcher.Plugin.PluginManager/Flow.Launcher.Plugin.PluginsManager.csproj +++ b/Plugins/Flow.Launcher.Plugin.PluginManager/Flow.Launcher.Plugin.PluginsManager.csproj @@ -27,4 +27,12 @@ PreserveNewest + + + + + + + + \ No newline at end of file diff --git a/Plugins/Flow.Launcher.Plugin.PluginManager/Languages/en.xaml b/Plugins/Flow.Launcher.Plugin.PluginManager/Languages/en.xaml new file mode 100644 index 000000000..75caf81ec --- /dev/null +++ b/Plugins/Flow.Launcher.Plugin.PluginManager/Languages/en.xaml @@ -0,0 +1,15 @@ + + + + + + + + Plugins Manager + Management of installing, uninstalling or updating Flow Launcher plugins + + + + \ No newline at end of file diff --git a/Plugins/Flow.Launcher.Plugin.PluginManager/Main.cs b/Plugins/Flow.Launcher.Plugin.PluginManager/Main.cs index 36e40bf1b..73d3f954c 100644 --- a/Plugins/Flow.Launcher.Plugin.PluginManager/Main.cs +++ b/Plugins/Flow.Launcher.Plugin.PluginManager/Main.cs @@ -1,10 +1,58 @@ -using System; +using Flow.Launcher.Infrastructure.Storage; +using Flow.Launcher.Infrastructure.UserSettings; +using Flow.Launcher.Plugin.PluginsManager.ViewModels; +using Flow.Launcher.Plugin.PluginsManager.Views; using System.Collections.Generic; -using System.Text; +using System.Windows.Controls; namespace Flow.Launcher.Plugin.PluginsManager { - class Main + public class Main : ISettingProvider, IPlugin, ISavable, IContextMenu, IPluginI18n { + internal PluginInitContext Context { get; set; } + + internal Settings Settings; + + private SettingsViewModel viewModel; + + private IContextMenu contextMenu; + + public Control CreateSettingPanel() + { + return new PluginsManagerSettings(viewModel); + } + + public void Init(PluginInitContext context) + { + Context = context; + viewModel = new SettingsViewModel(context); + Settings = viewModel.Settings; + contextMenu = new ContextMenu(Context, Settings); + } + + public List LoadContextMenus(Result selectedResult) + { + return contextMenu.LoadContextMenus(selectedResult); + } + + public List Query(Query query) + { + return new List(); + } + + public void Save() + { + viewModel.Save(); + } + + public string GetTranslatedPluginTitle() + { + return Context.API.GetTranslation("plugin_pluginsmanager_plugin_name"); + } + + public string GetTranslatedPluginDescription() + { + return Context.API.GetTranslation("plugin_pluginsmanager_plugin_description"); + } } } diff --git a/Plugins/Flow.Launcher.Plugin.PluginManager/Plugins.cs b/Plugins/Flow.Launcher.Plugin.PluginManager/Models/Plugins.cs similarity index 90% rename from Plugins/Flow.Launcher.Plugin.PluginManager/Plugins.cs rename to Plugins/Flow.Launcher.Plugin.PluginManager/Models/Plugins.cs index 56f01e86b..d2f6348af 100644 --- a/Plugins/Flow.Launcher.Plugin.PluginManager/Plugins.cs +++ b/Plugins/Flow.Launcher.Plugin.PluginManager/Models/Plugins.cs @@ -2,7 +2,7 @@ using System.Collections.Generic; using System.Text; -namespace Flow.Launcher.Plugin.PluginsManager +namespace Flow.Launcher.Plugin.PluginsManager.Models { internal class Plugin { diff --git a/Plugins/Flow.Launcher.Plugin.PluginManager/PluginsManifest.cs b/Plugins/Flow.Launcher.Plugin.PluginManager/Models/PluginsManifest.cs similarity index 95% rename from Plugins/Flow.Launcher.Plugin.PluginManager/PluginsManifest.cs rename to Plugins/Flow.Launcher.Plugin.PluginManager/Models/PluginsManifest.cs index d470a996c..3609aba7d 100644 --- a/Plugins/Flow.Launcher.Plugin.PluginManager/PluginsManifest.cs +++ b/Plugins/Flow.Launcher.Plugin.PluginManager/Models/PluginsManifest.cs @@ -6,7 +6,7 @@ using System.Collections.Generic; using System.Net; using System.Text; -namespace Flow.Launcher.Plugin.PluginsManager +namespace Flow.Launcher.Plugin.PluginsManager.Models { class PluginsManifest { diff --git a/Plugins/Flow.Launcher.Plugin.PluginManager/ViewModels/SettingsViewModel.cs b/Plugins/Flow.Launcher.Plugin.PluginManager/ViewModels/SettingsViewModel.cs new file mode 100644 index 000000000..f3cf117d3 --- /dev/null +++ b/Plugins/Flow.Launcher.Plugin.PluginManager/ViewModels/SettingsViewModel.cs @@ -0,0 +1,26 @@ +using Flow.Launcher.Infrastructure.Storage; +using Flow.Launcher.Infrastructure.UserSettings; + +namespace Flow.Launcher.Plugin.PluginsManager.ViewModels +{ + public class SettingsViewModel + { + private readonly PluginJsonStorage storage; + + internal Settings Settings { get; set; } + + internal PluginInitContext Context { get; set; } + + public SettingsViewModel(PluginInitContext context) + { + Context = context; + storage = new PluginJsonStorage(); + Settings = storage.Load(); + } + + public void Save() + { + storage.Save(); + } + } +} diff --git a/Plugins/Flow.Launcher.Plugin.PluginManager/Views/PluginsManagerSettings.xaml b/Plugins/Flow.Launcher.Plugin.PluginManager/Views/PluginsManagerSettings.xaml new file mode 100644 index 000000000..7f6d7ba82 --- /dev/null +++ b/Plugins/Flow.Launcher.Plugin.PluginManager/Views/PluginsManagerSettings.xaml @@ -0,0 +1,12 @@ + + + + + diff --git a/Plugins/Flow.Launcher.Plugin.PluginManager/Views/PluginsManagerSettings.xaml.cs b/Plugins/Flow.Launcher.Plugin.PluginManager/Views/PluginsManagerSettings.xaml.cs new file mode 100644 index 000000000..14204eda9 --- /dev/null +++ b/Plugins/Flow.Launcher.Plugin.PluginManager/Views/PluginsManagerSettings.xaml.cs @@ -0,0 +1,22 @@ + +using Flow.Launcher.Plugin.PluginsManager.ViewModels; + +namespace Flow.Launcher.Plugin.PluginsManager.Views +{ + /// + /// Interaction logic for PluginsManagerSettings.xaml + /// + public partial class PluginsManagerSettings + { + private readonly SettingsViewModel viewModel; + + public PluginsManagerSettings(SettingsViewModel viewModel) + { + InitializeComponent(); + + this.viewModel = viewModel; + + //RefreshView(); + } + } +} From 42f8bbe6972db523540ddd74a63533ba3b9250fc Mon Sep 17 00:00:00 2001 From: Zero Date: Sun, 6 Dec 2020 19:18:57 +0800 Subject: [PATCH 133/176] Update LICENSE --- LICENSE | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/LICENSE b/LICENSE index 0b9ce01e4..b4ba8d542 100644 --- a/LICENSE +++ b/LICENSE @@ -4,8 +4,15 @@ FlowLauncher are licensed under the terms of the MIT license, reproduced below. A. HISTORY OF THE SOFTWARE ========================== -- Copyright (c) 2015-2019 Wox. All rights reserved. -- Copyright (c) 2019-2020+ Flow-Launcher. All rights reserved. +- Copyright (c) 2015-2019 Wox +- Copyright (c) 2019-2020+ Flow-Launcher + +Flow's roots came from a rebrand of the JJW24/Wox fork and WoX. +A big thank you and all credits to Bao, the author of WoX, +and its contrbutors for all the amazing work. +The JJW24/Wox fork started adding new changes on top of +main WoX repo's code base from release v1.3.524. +Flow is a continuation of the work from JJW24/Wox B. FlowLauncher LICENSE @@ -13,7 +20,7 @@ B. FlowLauncher LICENSE The MIT License (MIT) -Copyright (c) 2019-2020+ Flow-Launcher. All rights reserved. +Copyright (c) 2019-2020+ Flow-Launcher Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in @@ -38,7 +45,7 @@ C. Wox LICENSE The MIT License (MIT) -Copyright (c) 2020 Wox https://github.com/Wox-launcher/Wox +Copyright (c) 2015 Wox Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in From 158701012623e0a95bf53638654609a4efc18164 Mon Sep 17 00:00:00 2001 From: Jeremy Wu Date: Mon, 7 Dec 2020 07:40:42 +1100 Subject: [PATCH 134/176] add plugin search --- .../Main.cs | 6 +- .../Models/Plugins.cs | 19 ------- .../Models/PluginsManifest.cs | 10 ++-- .../Models/UserPlugin.cs | 19 +++++++ .../PluginsManager.cs | 57 ++++++++++++++++++- 5 files changed, 83 insertions(+), 28 deletions(-) delete mode 100644 Plugins/Flow.Launcher.Plugin.PluginManager/Models/Plugins.cs create mode 100644 Plugins/Flow.Launcher.Plugin.PluginManager/Models/UserPlugin.cs diff --git a/Plugins/Flow.Launcher.Plugin.PluginManager/Main.cs b/Plugins/Flow.Launcher.Plugin.PluginManager/Main.cs index 73d3f954c..829bb9715 100644 --- a/Plugins/Flow.Launcher.Plugin.PluginManager/Main.cs +++ b/Plugins/Flow.Launcher.Plugin.PluginManager/Main.cs @@ -37,7 +37,11 @@ namespace Flow.Launcher.Plugin.PluginsManager public List Query(Query query) { - return new List(); + var search = query.Search; + + var pluginManager = new PluginsManager(); + + return pluginManager.PluginsSearch(search); } public void Save() diff --git a/Plugins/Flow.Launcher.Plugin.PluginManager/Models/Plugins.cs b/Plugins/Flow.Launcher.Plugin.PluginManager/Models/Plugins.cs deleted file mode 100644 index d2f6348af..000000000 --- a/Plugins/Flow.Launcher.Plugin.PluginManager/Models/Plugins.cs +++ /dev/null @@ -1,19 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace Flow.Launcher.Plugin.PluginsManager.Models -{ - internal class Plugin - { - internal string ID { get; set; } - internal string Name { get; set; } - internal string Description { get; set; } - internal string Author { get; set; } - internal string Version { get; set; } - internal string Language { get; set; } - internal string Website { get; set; } - internal string UrlDownload { get; set; } - internal string UrlSourceCode { get; set; } - } -} diff --git a/Plugins/Flow.Launcher.Plugin.PluginManager/Models/PluginsManifest.cs b/Plugins/Flow.Launcher.Plugin.PluginManager/Models/PluginsManifest.cs index 3609aba7d..134ad7bd0 100644 --- a/Plugins/Flow.Launcher.Plugin.PluginManager/Models/PluginsManifest.cs +++ b/Plugins/Flow.Launcher.Plugin.PluginManager/Models/PluginsManifest.cs @@ -8,10 +8,10 @@ using System.Text; namespace Flow.Launcher.Plugin.PluginsManager.Models { - class PluginsManifest + internal class PluginsManifest { - public List Plugins { get; private set; } - public PluginsManifest() + internal List UserPlugins { get; private set; } + internal PluginsManifest() { var json = string.Empty; @@ -25,11 +25,11 @@ namespace Flow.Launcher.Plugin.PluginsManager.Models { Log.Exception("|PluginManagement.GetManifest|Encountered error trying to download plugins manifest", e); - Plugins = new List(); + UserPlugins = new List(); } } - Plugins = !string.IsNullOrEmpty(json) ? JsonConvert.DeserializeObject>(json) : new List(); + UserPlugins = !string.IsNullOrEmpty(json) ? JsonConvert.DeserializeObject>(json) : new List(); } } } diff --git a/Plugins/Flow.Launcher.Plugin.PluginManager/Models/UserPlugin.cs b/Plugins/Flow.Launcher.Plugin.PluginManager/Models/UserPlugin.cs new file mode 100644 index 000000000..3bc44e0f6 --- /dev/null +++ b/Plugins/Flow.Launcher.Plugin.PluginManager/Models/UserPlugin.cs @@ -0,0 +1,19 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace Flow.Launcher.Plugin.PluginsManager.Models +{ + public class UserPlugin + { + public string ID { get; set; } + public string Name { get; set; } + public string Description { get; set; } + public string Author { get; set; } + public string Version { get; set; } + public string Language { get; set; } + public string Website { get; set; } + public string UrlDownload { get; set; } + public string UrlSourceCode { get; set; } + } +} diff --git a/Plugins/Flow.Launcher.Plugin.PluginManager/PluginsManager.cs b/Plugins/Flow.Launcher.Plugin.PluginManager/PluginsManager.cs index 055e027ad..1f3321d6a 100644 --- a/Plugins/Flow.Launcher.Plugin.PluginManager/PluginsManager.cs +++ b/Plugins/Flow.Launcher.Plugin.PluginManager/PluginsManager.cs @@ -1,6 +1,9 @@ -using Flow.Launcher.Infrastructure.Http; +using Flow.Launcher.Infrastructure; +using Flow.Launcher.Infrastructure.Http; +using Flow.Launcher.Plugin.PluginsManager.Models; using System; using System.Collections.Generic; +using System.Linq; using System.Net; using System.Text; @@ -8,7 +11,12 @@ namespace Flow.Launcher.Plugin.PluginsManager { internal class PluginsManager { - internal void PluginInstall(Plugin plugin) + private PluginsManifest pluginsManifest; + internal PluginsManager() + { + pluginsManifest = new PluginsManifest(); + } + internal void PluginInstall(UserPlugin plugin) { if (PluginExists()) { @@ -17,7 +25,7 @@ namespace Flow.Launcher.Plugin.PluginsManager return; } - PluginDowload(plugin.Url, ""); + PluginDowload(plugin.UrlDownload, ""); } private void PluginDowload(string downloadUrl, string toFilePath) @@ -42,5 +50,48 @@ namespace Flow.Launcher.Plugin.PluginsManager { } + + internal List PluginsSearch(string searchName) + { + var results = new List(); + + if (string.IsNullOrEmpty(searchName)) + { + pluginsManifest.UserPlugins + .ForEach(x => results.Add( + new Result + { + Title = $"{x.Name} by {x.Author}", + SubTitle = x.Description, + IcoPath = "Images\\plugin.png", + Action = e => + { + PluginInstall(x); + return false; + } + })); + + return results; + } + + pluginsManifest.UserPlugins + .Where(x => StringMatcher.FuzzySearch(searchName, x.Name).IsSearchPrecisionScoreMet()) + .Select(x => x) + .ToList() + .ForEach(x => results.Add( + new Result + { + Title = $"{x.Name} by {x.Author}", + SubTitle = x.Description, + IcoPath = "Images\\plugin.png", + Action = e => + { + PluginInstall(x); + return false; + } + })); + + return results; + } } } From 8d96899a8225212afb93d17d444e0d2032a6c7c3 Mon Sep 17 00:00:00 2001 From: Jeremy Wu Date: Mon, 7 Dec 2020 07:42:23 +1100 Subject: [PATCH 135/176] update icoPath --- .../Flow.Launcher.Plugin.PluginManager/PluginsManager.cs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/Plugins/Flow.Launcher.Plugin.PluginManager/PluginsManager.cs b/Plugins/Flow.Launcher.Plugin.PluginManager/PluginsManager.cs index 1f3321d6a..5457c1562 100644 --- a/Plugins/Flow.Launcher.Plugin.PluginManager/PluginsManager.cs +++ b/Plugins/Flow.Launcher.Plugin.PluginManager/PluginsManager.cs @@ -12,6 +12,9 @@ namespace Flow.Launcher.Plugin.PluginsManager internal class PluginsManager { private PluginsManifest pluginsManifest; + + private string icoPath = "Images\\plugin.png"; + internal PluginsManager() { pluginsManifest = new PluginsManifest(); @@ -63,7 +66,7 @@ namespace Flow.Launcher.Plugin.PluginsManager { Title = $"{x.Name} by {x.Author}", SubTitle = x.Description, - IcoPath = "Images\\plugin.png", + IcoPath = icoPath, Action = e => { PluginInstall(x); @@ -83,7 +86,7 @@ namespace Flow.Launcher.Plugin.PluginsManager { Title = $"{x.Name} by {x.Author}", SubTitle = x.Description, - IcoPath = "Images\\plugin.png", + IcoPath = icoPath, Action = e => { PluginInstall(x); From a72750dc65d6bf446eec7bb7eb3197445e34a4c6 Mon Sep 17 00:00:00 2001 From: Jeremy Wu Date: Mon, 7 Dec 2020 21:21:14 +1100 Subject: [PATCH 136/176] add plugin download behaviour --- ...Flow.Launcher.Plugin.PluginsManager.csproj | 8 ++- .../Languages/en.xaml | 4 +- .../Main.cs | 2 +- .../PluginsManager.cs | 67 +++++++++++-------- 4 files changed, 48 insertions(+), 33 deletions(-) diff --git a/Plugins/Flow.Launcher.Plugin.PluginManager/Flow.Launcher.Plugin.PluginsManager.csproj b/Plugins/Flow.Launcher.Plugin.PluginManager/Flow.Launcher.Plugin.PluginsManager.csproj index 43a1e089b..84cc5ffb1 100644 --- a/Plugins/Flow.Launcher.Plugin.PluginManager/Flow.Launcher.Plugin.PluginsManager.csproj +++ b/Plugins/Flow.Launcher.Plugin.PluginManager/Flow.Launcher.Plugin.PluginsManager.csproj @@ -29,10 +29,14 @@ - + + PreserveNewest + - + + PreserveNewest + \ No newline at end of file diff --git a/Plugins/Flow.Launcher.Plugin.PluginManager/Languages/en.xaml b/Plugins/Flow.Launcher.Plugin.PluginManager/Languages/en.xaml index 75caf81ec..7930eb743 100644 --- a/Plugins/Flow.Launcher.Plugin.PluginManager/Languages/en.xaml +++ b/Plugins/Flow.Launcher.Plugin.PluginManager/Languages/en.xaml @@ -3,7 +3,9 @@ xmlns:system="clr-namespace:System;assembly=mscorlib"> - + Downloading plugin + Please wait... + Successfully downloaded diff --git a/Plugins/Flow.Launcher.Plugin.PluginManager/Main.cs b/Plugins/Flow.Launcher.Plugin.PluginManager/Main.cs index 829bb9715..1a21f6026 100644 --- a/Plugins/Flow.Launcher.Plugin.PluginManager/Main.cs +++ b/Plugins/Flow.Launcher.Plugin.PluginManager/Main.cs @@ -39,7 +39,7 @@ namespace Flow.Launcher.Plugin.PluginsManager { var search = query.Search; - var pluginManager = new PluginsManager(); + var pluginManager = new PluginsManager(Context); return pluginManager.PluginsSearch(search); } diff --git a/Plugins/Flow.Launcher.Plugin.PluginManager/PluginsManager.cs b/Plugins/Flow.Launcher.Plugin.PluginManager/PluginsManager.cs index 5457c1562..6a9da4eea 100644 --- a/Plugins/Flow.Launcher.Plugin.PluginManager/PluginsManager.cs +++ b/Plugins/Flow.Launcher.Plugin.PluginManager/PluginsManager.cs @@ -1,23 +1,29 @@ -using Flow.Launcher.Infrastructure; +using Flow.Launcher.Infrastructure; using Flow.Launcher.Infrastructure.Http; +using Flow.Launcher.Infrastructure.Logger; +using Flow.Launcher.Infrastructure.UserSettings; using Flow.Launcher.Plugin.PluginsManager.Models; using System; using System.Collections.Generic; +using System.IO; using System.Linq; using System.Net; using System.Text; +using System.Windows; namespace Flow.Launcher.Plugin.PluginsManager { internal class PluginsManager { private PluginsManifest pluginsManifest; + private PluginInitContext context { get; set; } private string icoPath = "Images\\plugin.png"; - internal PluginsManager() + internal PluginsManager(PluginInitContext context) { pluginsManifest = new PluginsManifest(); + this.context = context; } internal void PluginInstall(UserPlugin plugin) { @@ -28,14 +34,28 @@ namespace Flow.Launcher.Plugin.PluginsManager return; } - PluginDowload(plugin.UrlDownload, ""); + var filePath = Path.Combine(DataLocation.PluginsDirectory, $"{plugin.Name}{plugin.ID}.zip"); + PluginDownload(plugin.UrlDownload, filePath); } - private void PluginDowload(string downloadUrl, string toFilePath) + private void PluginDownload(string downloadUrl, string toFilePath) { - using (var wc = new WebClient { Proxy = Http.WebProxy() }) + try { - wc.DownloadFile(downloadUrl, toFilePath); + using (var wc = new WebClient { Proxy = Http.WebProxy() }) + { + wc.DownloadFile(downloadUrl, toFilePath); + } + + context.API.ShowMsg(context.API.GetTranslation("plugin_pluginsmanager_downloading_plugin"), + context.API.GetTranslation("plugin_pluginsmanager_download_success")); + } + catch(Exception e) + { + context.API.ShowMsg(context.API.GetTranslation("plugin_pluginsmanager_downloading_plugin"), + context.API.GetTranslation("plugin_pluginsmanager_download_success")); + + Log.Exception("PluginsManager", "An error occured while downloading plugin", e, "PluginDownload"); } } @@ -58,9 +78,8 @@ namespace Flow.Launcher.Plugin.PluginsManager { var results = new List(); - if (string.IsNullOrEmpty(searchName)) - { - pluginsManifest.UserPlugins + pluginsManifest + .UserPlugins .ForEach(x => results.Add( new Result { @@ -69,32 +88,22 @@ namespace Flow.Launcher.Plugin.PluginsManager IcoPath = icoPath, Action = e => { + context.API.ShowMsg(context.API.GetTranslation("plugin_pluginsmanager_downloading_plugin"), + context.API.GetTranslation("plugin_pluginsmanager_please_wait")); + Application.Current.MainWindow.Hide(); PluginInstall(x); - return false; + + return true; } })); + if (string.IsNullOrEmpty(searchName)) return results; - } - pluginsManifest.UserPlugins - .Where(x => StringMatcher.FuzzySearch(searchName, x.Name).IsSearchPrecisionScoreMet()) - .Select(x => x) - .ToList() - .ForEach(x => results.Add( - new Result - { - Title = $"{x.Name} by {x.Author}", - SubTitle = x.Description, - IcoPath = icoPath, - Action = e => - { - PluginInstall(x); - return false; - } - })); - - return results; + return results + .Where(x => StringMatcher.FuzzySearch(searchName, x.Title).IsSearchPrecisionScoreMet()) + .Select(x => x) + .ToList(); } } } From 8c136580e29e8f58acca7432ae131e47da8f5dbb Mon Sep 17 00:00:00 2001 From: Jeremy Wu Date: Tue, 8 Dec 2020 21:59:45 +1100 Subject: [PATCH 137/176] remove InstallPlugin method from API - do not allow InstallPlugin method to be called via API - move InstallPlugin functionality to PluginsManager for use exclusively --- Flow.Launcher.Core/Flow.Launcher.Core.csproj | 1 - Flow.Launcher.Core/Plugin/PluginInstaller.cs | 169 ------------------ Flow.Launcher.Core/Plugin/PluginManager.cs | 5 - Flow.Launcher.Plugin/IPublicAPI.cs | 6 - Flow.Launcher/PublicAPIInstance.cs | 5 - ...Flow.Launcher.Plugin.PluginsManager.csproj | 4 + .../PluginsManager.cs | 157 ++++++++++++++++ 7 files changed, 161 insertions(+), 186 deletions(-) delete mode 100644 Flow.Launcher.Core/Plugin/PluginInstaller.cs diff --git a/Flow.Launcher.Core/Flow.Launcher.Core.csproj b/Flow.Launcher.Core/Flow.Launcher.Core.csproj index 9f146a457..189a6669e 100644 --- a/Flow.Launcher.Core/Flow.Launcher.Core.csproj +++ b/Flow.Launcher.Core/Flow.Launcher.Core.csproj @@ -55,7 +55,6 @@ - diff --git a/Flow.Launcher.Core/Plugin/PluginInstaller.cs b/Flow.Launcher.Core/Plugin/PluginInstaller.cs deleted file mode 100644 index 7b980a3ee..000000000 --- a/Flow.Launcher.Core/Plugin/PluginInstaller.cs +++ /dev/null @@ -1,169 +0,0 @@ -using System; -using System.IO; -using System.Windows; -using ICSharpCode.SharpZipLib.Zip; -using Newtonsoft.Json; -using Flow.Launcher.Plugin; -using Flow.Launcher.Infrastructure; -using Flow.Launcher.Infrastructure.Logger; - -namespace Flow.Launcher.Core.Plugin -{ - internal class PluginInstaller - { - internal static void Install(string path) - { - if (File.Exists(path)) - { - string tempFolder = Path.Combine(Path.GetTempPath(), "flowlauncher", "plugins"); - if (Directory.Exists(tempFolder)) - { - Directory.Delete(tempFolder, true); - } - UnZip(path, tempFolder, true); - - string jsonPath = Path.Combine(tempFolder, Constant.PluginMetadataFileName); - if (!File.Exists(jsonPath)) - { - MessageBox.Show("Install failed: plugin config is missing"); - return; - } - - PluginMetadata plugin = GetMetadataFromJson(tempFolder); - if (plugin == null || plugin.Name == null) - { - MessageBox.Show("Install failed: plugin config is invalid"); - return; - } - - string pluginFolderPath = Infrastructure.UserSettings.DataLocation.PluginsDirectory; - - string newPluginName = plugin.Name - .Replace("/", "_") - .Replace("\\", "_") - .Replace(":", "_") - .Replace("<", "_") - .Replace(">", "_") - .Replace("?", "_") - .Replace("*", "_") - .Replace("|", "_") - + "-" + Guid.NewGuid(); - - string newPluginPath = Path.Combine(pluginFolderPath, newPluginName); - - string content = $"Do you want to install following plugin?{Environment.NewLine}{Environment.NewLine}" + - $"Name: {plugin.Name}{Environment.NewLine}" + - $"Version: {plugin.Version}{Environment.NewLine}" + - $"Author: {plugin.Author}"; - PluginPair existingPlugin = PluginManager.GetPluginForId(plugin.ID); - - if (existingPlugin != null) - { - content = $"Do you want to update following plugin?{Environment.NewLine}{Environment.NewLine}" + - $"Name: {plugin.Name}{Environment.NewLine}" + - $"Old Version: {existingPlugin.Metadata.Version}" + - $"{Environment.NewLine}New Version: {plugin.Version}" + - $"{Environment.NewLine}Author: {plugin.Author}"; - } - - var result = MessageBox.Show(content, "Install plugin", MessageBoxButton.YesNo, MessageBoxImage.Question); - if (result == MessageBoxResult.Yes) - { - if (existingPlugin != null && Directory.Exists(existingPlugin.Metadata.PluginDirectory)) - { - //when plugin is in use, we can't delete them. That's why we need to make plugin folder a random name - File.Create(Path.Combine(existingPlugin.Metadata.PluginDirectory, "NeedDelete.txt")).Close(); - } - - Directory.Move(tempFolder, newPluginPath); - - //exsiting plugins may be has loaded by application, - //if we try to delelte those kind of plugins, we will get a error that indicate the - //file is been used now. - //current solution is to restart Flow Launcher. Ugly. - //if (MainWindow.Initialized) - //{ - // Plugins.Initialize(); - //} - if (MessageBox.Show($"You have installed plugin {plugin.Name} successfully.{Environment.NewLine}" + - "Restart Flow Launcher to take effect?", - "Install plugin", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes) - { - PluginManager.API.RestartApp(); - } - } - } - } - - private static PluginMetadata GetMetadataFromJson(string pluginDirectory) - { - string configPath = Path.Combine(pluginDirectory, Constant.PluginMetadataFileName); - PluginMetadata metadata; - - if (!File.Exists(configPath)) - { - return null; - } - - try - { - metadata = JsonConvert.DeserializeObject(File.ReadAllText(configPath)); - metadata.PluginDirectory = pluginDirectory; - } - catch (Exception e) - { - Log.Exception($"|PluginInstaller.GetMetadataFromJson|plugin config {configPath} failed: invalid json format", e); - return null; - } - - if (!AllowedLanguage.IsAllowed(metadata.Language)) - { - Log.Error($"|PluginInstaller.GetMetadataFromJson|plugin config {configPath} failed: invalid language {metadata.Language}"); - return null; - } - if (!File.Exists(metadata.ExecuteFilePath)) - { - Log.Error($"|PluginInstaller.GetMetadataFromJson|plugin config {configPath} failed: file {metadata.ExecuteFilePath} doesn't exist"); - return null; - } - - return metadata; - } - - /// - /// unzip plugin contents to the given directory. - /// - /// The path to the zip file. - /// The output directory. - /// overwirte - private static void UnZip(string zipFile, string strDirectory, bool overWrite) - { - if (strDirectory == "") - strDirectory = Directory.GetCurrentDirectory(); - - using (ZipInputStream zipStream = new ZipInputStream(File.OpenRead(zipFile))) - { - ZipEntry theEntry; - - while ((theEntry = zipStream.GetNextEntry()) != null) - { - var pathToZip = theEntry.Name; - var directoryName = String.IsNullOrEmpty(pathToZip) ? "" : Path.GetDirectoryName(pathToZip); - var fileName = Path.GetFileName(pathToZip); - var destinationDir = Path.Combine(strDirectory, directoryName); - var destinationFile = Path.Combine(destinationDir, fileName); - - Directory.CreateDirectory(destinationDir); - - if (String.IsNullOrEmpty(fileName) || (File.Exists(destinationFile) && !overWrite)) - continue; - - using (FileStream streamWriter = File.Create(destinationFile)) - { - zipStream.CopyTo(streamWriter); - } - } - } - } - } -} diff --git a/Flow.Launcher.Core/Plugin/PluginManager.cs b/Flow.Launcher.Core/Plugin/PluginManager.cs index 5cde9de83..3b697a1ee 100644 --- a/Flow.Launcher.Core/Plugin/PluginManager.cs +++ b/Flow.Launcher.Core/Plugin/PluginManager.cs @@ -133,11 +133,6 @@ namespace Flow.Launcher.Core.Plugin } } - public static void InstallPlugin(string path) - { - PluginInstaller.Install(path); - } - public static List ValidPluginsForQuery(Query query) { if (NonGlobalPlugins.ContainsKey(query.ActionKeyword)) diff --git a/Flow.Launcher.Plugin/IPublicAPI.cs b/Flow.Launcher.Plugin/IPublicAPI.cs index 681973905..ccc00d5e9 100644 --- a/Flow.Launcher.Plugin/IPublicAPI.cs +++ b/Flow.Launcher.Plugin/IPublicAPI.cs @@ -63,12 +63,6 @@ namespace Flow.Launcher.Plugin /// void OpenSettingDialog(); - /// - /// Install Flow Launcher plugin - /// - /// Plugin path (ends with .flowlauncher) - void InstallPlugin(string path); - /// /// Get translation of current language /// You need to implement IPluginI18n if you want to support multiple languages for your plugin diff --git a/Flow.Launcher/PublicAPIInstance.cs b/Flow.Launcher/PublicAPIInstance.cs index 0cc5a0e5d..90d4fff63 100644 --- a/Flow.Launcher/PublicAPIInstance.cs +++ b/Flow.Launcher/PublicAPIInstance.cs @@ -115,11 +115,6 @@ namespace Flow.Launcher _mainVM.ProgressBarVisibility = Visibility.Collapsed; } - public void InstallPlugin(string path) - { - Application.Current.Dispatcher.Invoke(() => PluginManager.InstallPlugin(path)); - } - public string GetTranslation(string key) { return InternationalizationManager.Instance.GetTranslation(key); diff --git a/Plugins/Flow.Launcher.Plugin.PluginManager/Flow.Launcher.Plugin.PluginsManager.csproj b/Plugins/Flow.Launcher.Plugin.PluginManager/Flow.Launcher.Plugin.PluginsManager.csproj index 84cc5ffb1..cc1a931ce 100644 --- a/Plugins/Flow.Launcher.Plugin.PluginManager/Flow.Launcher.Plugin.PluginsManager.csproj +++ b/Plugins/Flow.Launcher.Plugin.PluginManager/Flow.Launcher.Plugin.PluginsManager.csproj @@ -39,4 +39,8 @@ PreserveNewest + + + + \ No newline at end of file diff --git a/Plugins/Flow.Launcher.Plugin.PluginManager/PluginsManager.cs b/Plugins/Flow.Launcher.Plugin.PluginManager/PluginsManager.cs index 6a9da4eea..5484fdf85 100644 --- a/Plugins/Flow.Launcher.Plugin.PluginManager/PluginsManager.cs +++ b/Plugins/Flow.Launcher.Plugin.PluginManager/PluginsManager.cs @@ -3,6 +3,7 @@ using Flow.Launcher.Infrastructure.Http; using Flow.Launcher.Infrastructure.Logger; using Flow.Launcher.Infrastructure.UserSettings; using Flow.Launcher.Plugin.PluginsManager.Models; +using ICSharpCode.SharpZipLib.Zip; using System; using System.Collections.Generic; using System.IO; @@ -36,6 +37,7 @@ namespace Flow.Launcher.Plugin.PluginsManager var filePath = Path.Combine(DataLocation.PluginsDirectory, $"{plugin.Name}{plugin.ID}.zip"); PluginDownload(plugin.UrlDownload, filePath); + context.API.InstallPlugin(filePath); } private void PluginDownload(string downloadUrl, string toFilePath) @@ -105,5 +107,160 @@ namespace Flow.Launcher.Plugin.PluginsManager .Select(x => x) .ToList(); } + + private void Install(string path) + { + if (File.Exists(path)) + { + string tempFolder = Path.Combine(Path.GetTempPath(), "flowlauncher", "plugins"); + if (Directory.Exists(tempFolder)) + { + Directory.Delete(tempFolder, true); + } + UnZip(path, tempFolder, true); + + string jsonPath = Path.Combine(tempFolder, Constant.PluginMetadataFileName); + if (!File.Exists(jsonPath)) + { + MessageBox.Show("Install failed: plugin config is missing"); + return; + } + + PluginMetadata plugin = GetMetadataFromJson(tempFolder); + if (plugin == null || plugin.Name == null) + { + MessageBox.Show("Install failed: plugin config is invalid"); + return; + } + + string pluginFolderPath = Infrastructure.UserSettings.DataLocation.PluginsDirectory; + + string newPluginName = plugin.Name + .Replace("/", "_") + .Replace("\\", "_") + .Replace(":", "_") + .Replace("<", "_") + .Replace(">", "_") + .Replace("?", "_") + .Replace("*", "_") + .Replace("|", "_") + + "-" + Guid.NewGuid(); + + string newPluginPath = Path.Combine(pluginFolderPath, newPluginName); + + string content = $"Do you want to install following plugin?{Environment.NewLine}{Environment.NewLine}" + + $"Name: {plugin.Name}{Environment.NewLine}" + + $"Version: {plugin.Version}{Environment.NewLine}" + + $"Author: {plugin.Author}"; + PluginPair existingPlugin = PluginManager.GetPluginForId(plugin.ID); + + if (existingPlugin != null) + { + content = $"Do you want to update following plugin?{Environment.NewLine}{Environment.NewLine}" + + $"Name: {plugin.Name}{Environment.NewLine}" + + $"Old Version: {existingPlugin.Metadata.Version}" + + $"{Environment.NewLine}New Version: {plugin.Version}" + + $"{Environment.NewLine}Author: {plugin.Author}"; + } + + var result = MessageBox.Show(content, "Install plugin", MessageBoxButton.YesNo, MessageBoxImage.Question); + if (result == MessageBoxResult.Yes) + { + if (existingPlugin != null && Directory.Exists(existingPlugin.Metadata.PluginDirectory)) + { + //when plugin is in use, we can't delete them. That's why we need to make plugin folder a random name + File.Create(Path.Combine(existingPlugin.Metadata.PluginDirectory, "NeedDelete.txt")).Close(); + } + + Directory.Move(tempFolder, newPluginPath); + + //exsiting plugins may be has loaded by application, + //if we try to delelte those kind of plugins, we will get a error that indicate the + //file is been used now. + //current solution is to restart Flow Launcher. Ugly. + //if (MainWindow.Initialized) + //{ + // Plugins.Initialize(); + //} + if (MessageBox.Show($"You have installed plugin {plugin.Name} successfully.{Environment.NewLine}" + + "Restart Flow Launcher to take effect?", + "Install plugin", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes) + { + PluginManager.API.RestartApp(); + } + } + } + } + + private PluginMetadata GetMetadataFromJson(string pluginDirectory) + { + string configPath = Path.Combine(pluginDirectory, Constant.PluginMetadataFileName); + PluginMetadata metadata; + + if (!File.Exists(configPath)) + { + return null; + } + + try + { + metadata = JsonConvert.DeserializeObject(File.ReadAllText(configPath)); + metadata.PluginDirectory = pluginDirectory; + } + catch (Exception e) + { + Log.Exception($"|PluginInstaller.GetMetadataFromJson|plugin config {configPath} failed: invalid json format", e); + return null; + } + + if (!AllowedLanguage.IsAllowed(metadata.Language)) + { + Log.Error($"|PluginInstaller.GetMetadataFromJson|plugin config {configPath} failed: invalid language {metadata.Language}"); + return null; + } + if (!File.Exists(metadata.ExecuteFilePath)) + { + Log.Error($"|PluginInstaller.GetMetadataFromJson|plugin config {configPath} failed: file {metadata.ExecuteFilePath} doesn't exist"); + return null; + } + + return metadata; + } + + /// + /// unzip plugin contents to the given directory. + /// + /// The path to the zip file. + /// The output directory. + /// overwirte + private void UnZip(string zipFile, string strDirectory, bool overWrite) + { + if (strDirectory == "") + strDirectory = Directory.GetCurrentDirectory(); + + using (ZipInputStream zipStream = new ZipInputStream(File.OpenRead(zipFile))) + { + ZipEntry theEntry; + + while ((theEntry = zipStream.GetNextEntry()) != null) + { + var pathToZip = theEntry.Name; + var directoryName = String.IsNullOrEmpty(pathToZip) ? "" : Path.GetDirectoryName(pathToZip); + var fileName = Path.GetFileName(pathToZip); + var destinationDir = Path.Combine(strDirectory, directoryName); + var destinationFile = Path.Combine(destinationDir, fileName); + + Directory.CreateDirectory(destinationDir); + + if (String.IsNullOrEmpty(fileName) || (File.Exists(destinationFile) && !overWrite)) + continue; + + using (FileStream streamWriter = File.Create(destinationFile)) + { + zipStream.CopyTo(streamWriter); + } + } + } + } } } From eaf3267353710db159eac311af8983ad7ad60667 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=98=E9=9F=AC=20=E5=BC=A0?= Date: Tue, 8 Dec 2020 19:48:42 +0800 Subject: [PATCH 138/176] Add space for pinyin translation --- Flow.Launcher.Infrastructure/PinyinAlphabet.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Flow.Launcher.Infrastructure/PinyinAlphabet.cs b/Flow.Launcher.Infrastructure/PinyinAlphabet.cs index 38f1ab879..9396226c7 100644 --- a/Flow.Launcher.Infrastructure/PinyinAlphabet.cs +++ b/Flow.Launcher.Infrastructure/PinyinAlphabet.cs @@ -36,8 +36,8 @@ namespace Flow.Launcher.Infrastructure { if (WordsHelper.HasChinese(content)) { - var result = WordsHelper.GetPinyin(content, ";"); - result = GetFirstPinyinChar(result) + result.Replace(";", ""); + var result = WordsHelper.GetPinyin(content, " "); + result = GetFirstPinyinChar(result) + result; _pinyinCache[content] = result; return result; } @@ -59,7 +59,7 @@ namespace Flow.Launcher.Infrastructure private string GetFirstPinyinChar(string content) { - return string.Concat(content.Split(';').Select(x => x.First())); + return string.Concat(content.Split(' ').Select(x => x.First())); } } } \ No newline at end of file From d8191f71bf0e24e91f5135d1c4e0537a82b7b922 Mon Sep 17 00:00:00 2001 From: Jeremy Wu Date: Wed, 9 Dec 2020 05:28:58 +1100 Subject: [PATCH 139/176] adjust temporary working directory path --- .../PluginsManager.cs | 129 ++++++++---------- 1 file changed, 54 insertions(+), 75 deletions(-) diff --git a/Plugins/Flow.Launcher.Plugin.PluginManager/PluginsManager.cs b/Plugins/Flow.Launcher.Plugin.PluginManager/PluginsManager.cs index 5484fdf85..4290767c3 100644 --- a/Plugins/Flow.Launcher.Plugin.PluginManager/PluginsManager.cs +++ b/Plugins/Flow.Launcher.Plugin.PluginManager/PluginsManager.cs @@ -4,6 +4,7 @@ using Flow.Launcher.Infrastructure.Logger; using Flow.Launcher.Infrastructure.UserSettings; using Flow.Launcher.Plugin.PluginsManager.Models; using ICSharpCode.SharpZipLib.Zip; +using Newtonsoft.Json; using System; using System.Collections.Generic; using System.IO; @@ -37,7 +38,7 @@ namespace Flow.Launcher.Plugin.PluginsManager var filePath = Path.Combine(DataLocation.PluginsDirectory, $"{plugin.Name}{plugin.ID}.zip"); PluginDownload(plugin.UrlDownload, filePath); - context.API.InstallPlugin(filePath); + Application.Current.Dispatcher.Invoke(() => Install(plugin, filePath)); } private void PluginDownload(string downloadUrl, string toFilePath) @@ -108,51 +109,62 @@ namespace Flow.Launcher.Plugin.PluginsManager .ToList(); } - private void Install(string path) + private void Install(UserPlugin plugin, string downloadedFilePath) { - if (File.Exists(path)) + if (File.Exists(downloadedFilePath)) { - string tempFolder = Path.Combine(Path.GetTempPath(), "flowlauncher", "plugins"); - if (Directory.Exists(tempFolder)) + var tempFolderPath = Path.Combine(Path.GetTempPath(), "flowlauncher"); + var tempPluginFolderPath = Path.Combine(tempFolderPath, "plugin"); + + if (Directory.Exists(tempFolderPath)) { - Directory.Delete(tempFolder, true); + Directory.Delete(tempFolderPath, true); } - UnZip(path, tempFolder, true); - string jsonPath = Path.Combine(tempFolder, Constant.PluginMetadataFileName); - if (!File.Exists(jsonPath)) + Directory.CreateDirectory(tempFolderPath); + + var zipFilePath = Path.Combine(tempFolderPath, Path.GetFileName(downloadedFilePath)); + + File.Move(downloadedFilePath, zipFilePath); + + UnZip(zipFilePath, tempPluginFolderPath, true); + + var unzippedParentFolderPath = tempPluginFolderPath; + + var metadataJsonFilePath = string.Empty; + + var pluginFolderPath = string.Empty; + + var unzippedFolderCount = Directory.GetDirectories(unzippedParentFolderPath).Length; + var unzippedFilesCount = Directory.GetFiles(unzippedParentFolderPath).Length; + + // addjust path depending on how the plugin is zipped up + // the recommended should be to zip up the folder not the contents + if (unzippedFolderCount == 1 && unzippedFilesCount == 0) + // folder is zipped up, unzipped plugin directory structure: tempPath/unzippedParentPluginFolder/pluginFolderName/ + pluginFolderPath = Directory.GetDirectories(unzippedParentFolderPath)[0]; + + if (unzippedFilesCount > 1) + // content is zipped up, unzipped plugin directory structure: tempPath/unzippedParentPluginFolder/ + pluginFolderPath = unzippedParentFolderPath; + + if (File.Exists(Path.Combine(pluginFolderPath, Constant.PluginMetadataFileName))) + metadataJsonFilePath = Path.Combine(pluginFolderPath, Constant.PluginMetadataFileName); + + if (string.IsNullOrEmpty(metadataJsonFilePath) || string.IsNullOrEmpty(pluginFolderPath)) { - MessageBox.Show("Install failed: plugin config is missing"); + MessageBox.Show("Install failed: unable to find the plugin.json metadata file"); return; } - PluginMetadata plugin = GetMetadataFromJson(tempFolder); - if (plugin == null || plugin.Name == null) - { - MessageBox.Show("Install failed: plugin config is invalid"); - return; - } - - string pluginFolderPath = Infrastructure.UserSettings.DataLocation.PluginsDirectory; - - string newPluginName = plugin.Name - .Replace("/", "_") - .Replace("\\", "_") - .Replace(":", "_") - .Replace("<", "_") - .Replace(">", "_") - .Replace("?", "_") - .Replace("*", "_") - .Replace("|", "_") - + "-" + Guid.NewGuid(); - - string newPluginPath = Path.Combine(pluginFolderPath, newPluginName); + string newPluginPath = Path.Combine(DataLocation.PluginsDirectory, $"{plugin.Name}{plugin.ID}"); string content = $"Do you want to install following plugin?{Environment.NewLine}{Environment.NewLine}" + $"Name: {plugin.Name}{Environment.NewLine}" + $"Version: {plugin.Version}{Environment.NewLine}" + $"Author: {plugin.Author}"; - PluginPair existingPlugin = PluginManager.GetPluginForId(plugin.ID); + + var existingPlugin = context.API.GetAllPlugins().Where(x => x.Metadata.ID == plugin.ID).FirstOrDefault(); if (existingPlugin != null) { @@ -172,7 +184,7 @@ namespace Flow.Launcher.Plugin.PluginsManager File.Create(Path.Combine(existingPlugin.Metadata.PluginDirectory, "NeedDelete.txt")).Close(); } - Directory.Move(tempFolder, newPluginPath); + Directory.Move(pluginFolderPath, newPluginPath); //exsiting plugins may be has loaded by application, //if we try to delelte those kind of plugins, we will get a error that indicate the @@ -186,73 +198,38 @@ namespace Flow.Launcher.Plugin.PluginsManager "Restart Flow Launcher to take effect?", "Install plugin", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes) { - PluginManager.API.RestartApp(); + context.API.RestartApp(); } } } } - private PluginMetadata GetMetadataFromJson(string pluginDirectory) - { - string configPath = Path.Combine(pluginDirectory, Constant.PluginMetadataFileName); - PluginMetadata metadata; - - if (!File.Exists(configPath)) - { - return null; - } - - try - { - metadata = JsonConvert.DeserializeObject(File.ReadAllText(configPath)); - metadata.PluginDirectory = pluginDirectory; - } - catch (Exception e) - { - Log.Exception($"|PluginInstaller.GetMetadataFromJson|plugin config {configPath} failed: invalid json format", e); - return null; - } - - if (!AllowedLanguage.IsAllowed(metadata.Language)) - { - Log.Error($"|PluginInstaller.GetMetadataFromJson|plugin config {configPath} failed: invalid language {metadata.Language}"); - return null; - } - if (!File.Exists(metadata.ExecuteFilePath)) - { - Log.Error($"|PluginInstaller.GetMetadataFromJson|plugin config {configPath} failed: file {metadata.ExecuteFilePath} doesn't exist"); - return null; - } - - return metadata; - } - /// /// unzip plugin contents to the given directory. /// - /// The path to the zip file. + /// The path to the zip file. /// The output directory. - /// overwirte - private void UnZip(string zipFile, string strDirectory, bool overWrite) + /// overwrite + private void UnZip(string zipFilePath, string strDirectory, bool overwrite) { if (strDirectory == "") strDirectory = Directory.GetCurrentDirectory(); - using (ZipInputStream zipStream = new ZipInputStream(File.OpenRead(zipFile))) + using (ZipInputStream zipStream = new ZipInputStream(File.OpenRead(zipFilePath))) { ZipEntry theEntry; while ((theEntry = zipStream.GetNextEntry()) != null) { var pathToZip = theEntry.Name; - var directoryName = String.IsNullOrEmpty(pathToZip) ? "" : Path.GetDirectoryName(pathToZip); + var directoryName = string.IsNullOrEmpty(pathToZip) ? "" : Path.GetDirectoryName(pathToZip); var fileName = Path.GetFileName(pathToZip); var destinationDir = Path.Combine(strDirectory, directoryName); var destinationFile = Path.Combine(destinationDir, fileName); Directory.CreateDirectory(destinationDir); - if (String.IsNullOrEmpty(fileName) || (File.Exists(destinationFile) && !overWrite)) + if (string.IsNullOrEmpty(fileName) || (File.Exists(destinationFile) && !overwrite)) continue; using (FileStream streamWriter = File.Create(destinationFile)) @@ -262,5 +239,7 @@ namespace Flow.Launcher.Plugin.PluginsManager } } } + + //delete the zip file when done } } From 519342178f0bc1730e2df34b8605f8e6e3bcab13 Mon Sep 17 00:00:00 2001 From: Jeremy Wu Date: Thu, 10 Dec 2020 13:29:47 +1100 Subject: [PATCH 140/176] move download and unzip to utilities class --- .../PluginsManager.cs | 61 +++---------------- .../Utilities.cs | 50 +++++++++++++++ 2 files changed, 57 insertions(+), 54 deletions(-) create mode 100644 Plugins/Flow.Launcher.Plugin.PluginManager/Utilities.cs diff --git a/Plugins/Flow.Launcher.Plugin.PluginManager/PluginsManager.cs b/Plugins/Flow.Launcher.Plugin.PluginManager/PluginsManager.cs index 4290767c3..e7e61460e 100644 --- a/Plugins/Flow.Launcher.Plugin.PluginManager/PluginsManager.cs +++ b/Plugins/Flow.Launcher.Plugin.PluginManager/PluginsManager.cs @@ -3,14 +3,11 @@ using Flow.Launcher.Infrastructure.Http; using Flow.Launcher.Infrastructure.Logger; using Flow.Launcher.Infrastructure.UserSettings; using Flow.Launcher.Plugin.PluginsManager.Models; -using ICSharpCode.SharpZipLib.Zip; -using Newtonsoft.Json; using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Net; -using System.Text; using System.Windows; namespace Flow.Launcher.Plugin.PluginsManager @@ -37,29 +34,23 @@ namespace Flow.Launcher.Plugin.PluginsManager } var filePath = Path.Combine(DataLocation.PluginsDirectory, $"{plugin.Name}{plugin.ID}.zip"); - PluginDownload(plugin.UrlDownload, filePath); - Application.Current.Dispatcher.Invoke(() => Install(plugin, filePath)); - } - - private void PluginDownload(string downloadUrl, string toFilePath) - { + try { - using (var wc = new WebClient { Proxy = Http.WebProxy() }) - { - wc.DownloadFile(downloadUrl, toFilePath); - } + Utilities.Download(plugin.UrlDownload, filePath); context.API.ShowMsg(context.API.GetTranslation("plugin_pluginsmanager_downloading_plugin"), - context.API.GetTranslation("plugin_pluginsmanager_download_success")); + context.API.GetTranslation("plugin_pluginsmanager_download_success")); } - catch(Exception e) + catch (Exception e) { context.API.ShowMsg(context.API.GetTranslation("plugin_pluginsmanager_downloading_plugin"), context.API.GetTranslation("plugin_pluginsmanager_download_success")); Log.Exception("PluginsManager", "An error occured while downloading plugin", e, "PluginDownload"); } + + Application.Current.Dispatcher.Invoke(() => Install(plugin, filePath)); } internal void PluginUpdate() @@ -127,7 +118,7 @@ namespace Flow.Launcher.Plugin.PluginsManager File.Move(downloadedFilePath, zipFilePath); - UnZip(zipFilePath, tempPluginFolderPath, true); + Utilities.UnZip(zipFilePath, tempPluginFolderPath, true); var unzippedParentFolderPath = tempPluginFolderPath; @@ -203,43 +194,5 @@ namespace Flow.Launcher.Plugin.PluginsManager } } } - - /// - /// unzip plugin contents to the given directory. - /// - /// The path to the zip file. - /// The output directory. - /// overwrite - private void UnZip(string zipFilePath, string strDirectory, bool overwrite) - { - if (strDirectory == "") - strDirectory = Directory.GetCurrentDirectory(); - - using (ZipInputStream zipStream = new ZipInputStream(File.OpenRead(zipFilePath))) - { - ZipEntry theEntry; - - while ((theEntry = zipStream.GetNextEntry()) != null) - { - var pathToZip = theEntry.Name; - var directoryName = string.IsNullOrEmpty(pathToZip) ? "" : Path.GetDirectoryName(pathToZip); - var fileName = Path.GetFileName(pathToZip); - var destinationDir = Path.Combine(strDirectory, directoryName); - var destinationFile = Path.Combine(destinationDir, fileName); - - Directory.CreateDirectory(destinationDir); - - if (string.IsNullOrEmpty(fileName) || (File.Exists(destinationFile) && !overwrite)) - continue; - - using (FileStream streamWriter = File.Create(destinationFile)) - { - zipStream.CopyTo(streamWriter); - } - } - } - } - - //delete the zip file when done } } diff --git a/Plugins/Flow.Launcher.Plugin.PluginManager/Utilities.cs b/Plugins/Flow.Launcher.Plugin.PluginManager/Utilities.cs new file mode 100644 index 000000000..1ff42fdbd --- /dev/null +++ b/Plugins/Flow.Launcher.Plugin.PluginManager/Utilities.cs @@ -0,0 +1,50 @@ +using Flow.Launcher.Infrastructure.Http; +using ICSharpCode.SharpZipLib.Zip; +using System.IO; +using System.Net; + +namespace Flow.Launcher.Plugin.PluginsManager +{ + internal static class Utilities + { + /// + /// Unzip contents to the given directory. + /// + /// The path to the zip file. + /// The output directory. + /// overwrite + internal static void UnZip(string zipFilePath, string strDirectory, bool overwrite) + { + if (strDirectory == "") + strDirectory = Directory.GetCurrentDirectory(); + + using var zipStream = new ZipInputStream(File.OpenRead(zipFilePath)); + + ZipEntry theEntry; + + while ((theEntry = zipStream.GetNextEntry()) != null) + { + var pathToZip = theEntry.Name; + var directoryName = string.IsNullOrEmpty(pathToZip) ? "" : Path.GetDirectoryName(pathToZip); + var fileName = Path.GetFileName(pathToZip); + var destinationDir = Path.Combine(strDirectory, directoryName); + var destinationFile = Path.Combine(destinationDir, fileName); + + Directory.CreateDirectory(destinationDir); + + if (string.IsNullOrEmpty(fileName) || (File.Exists(destinationFile) && !overwrite)) + continue; + + using var streamWriter = File.Create(destinationFile); + zipStream.CopyTo(streamWriter); + } + } + + internal static void Download(string downloadUrl, string toFilePath) + { + using var wc = new WebClient { Proxy = Http.WebProxy() }; + + wc.DownloadFile(downloadUrl, toFilePath); + } + } +} From 311222ecd57ae602abf6665c6603b24b795783bc Mon Sep 17 00:00:00 2001 From: Jeremy Wu Date: Thu, 10 Dec 2020 19:54:30 +1100 Subject: [PATCH 141/176] update file name update method name --- Flow.Launcher.sln | 30 +++++++++---------- .../ContextMenu.cs | 0 ...Flow.Launcher.Plugin.PluginsManager.csproj | 0 .../Languages/en.xaml | 0 .../Main.cs | 2 +- .../Models/PluginsManifest.cs | 0 .../Models/UserPlugin.cs | 0 .../PluginsManager.cs | 12 ++++---- .../Utilities.cs | 0 .../ViewModels/SettingsViewModel.cs | 0 .../Views/PluginsManagerSettings.xaml | 0 .../Views/PluginsManagerSettings.xaml.cs | 0 .../plugin.json | 0 13 files changed, 22 insertions(+), 22 deletions(-) rename Plugins/{Flow.Launcher.Plugin.PluginManager => Flow.Launcher.Plugin.PluginsManager}/ContextMenu.cs (100%) rename Plugins/{Flow.Launcher.Plugin.PluginManager => Flow.Launcher.Plugin.PluginsManager}/Flow.Launcher.Plugin.PluginsManager.csproj (100%) rename Plugins/{Flow.Launcher.Plugin.PluginManager => Flow.Launcher.Plugin.PluginsManager}/Languages/en.xaml (100%) rename Plugins/{Flow.Launcher.Plugin.PluginManager => Flow.Launcher.Plugin.PluginsManager}/Main.cs (96%) rename Plugins/{Flow.Launcher.Plugin.PluginManager => Flow.Launcher.Plugin.PluginsManager}/Models/PluginsManifest.cs (100%) rename Plugins/{Flow.Launcher.Plugin.PluginManager => Flow.Launcher.Plugin.PluginsManager}/Models/UserPlugin.cs (100%) rename Plugins/{Flow.Launcher.Plugin.PluginManager => Flow.Launcher.Plugin.PluginsManager}/PluginsManager.cs (95%) rename Plugins/{Flow.Launcher.Plugin.PluginManager => Flow.Launcher.Plugin.PluginsManager}/Utilities.cs (100%) rename Plugins/{Flow.Launcher.Plugin.PluginManager => Flow.Launcher.Plugin.PluginsManager}/ViewModels/SettingsViewModel.cs (100%) rename Plugins/{Flow.Launcher.Plugin.PluginManager => Flow.Launcher.Plugin.PluginsManager}/Views/PluginsManagerSettings.xaml (100%) rename Plugins/{Flow.Launcher.Plugin.PluginManager => Flow.Launcher.Plugin.PluginsManager}/Views/PluginsManagerSettings.xaml.cs (100%) rename Plugins/{Flow.Launcher.Plugin.PluginManager => Flow.Launcher.Plugin.PluginsManager}/plugin.json (100%) diff --git a/Flow.Launcher.sln b/Flow.Launcher.sln index 22086b0bd..c873bc147 100644 --- a/Flow.Launcher.sln +++ b/Flow.Launcher.sln @@ -15,12 +15,12 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Flow.Launcher", "Flow.Launc ProjectSection(ProjectDependencies) = postProject {1EE20B48-82FB-48A2-8086-675D6DDAB4F0} = {1EE20B48-82FB-48A2-8086-675D6DDAB4F0} {0B9DE348-9361-4940-ADB6-F5953BFFCCEC} = {0B9DE348-9361-4940-ADB6-F5953BFFCCEC} + {4792A74A-0CEA-4173-A8B2-30E6764C6217} = {4792A74A-0CEA-4173-A8B2-30E6764C6217} {FDB3555B-58EF-4AE6-B5F1-904719637AB4} = {FDB3555B-58EF-4AE6-B5F1-904719637AB4} {F9C4C081-4CC3-4146-95F1-E102B4E10A5F} = {F9C4C081-4CC3-4146-95F1-E102B4E10A5F} {59BD9891-3837-438A-958D-ADC7F91F6F7E} = {59BD9891-3837-438A-958D-ADC7F91F6F7E} {C21BFF9C-2C99-4B5F-B7C9-A5E6DDDB37B0} = {C21BFF9C-2C99-4B5F-B7C9-A5E6DDDB37B0} {F35190AA-4758-4D9E-A193-E3BDF6AD3567} = {F35190AA-4758-4D9E-A193-E3BDF6AD3567} - {70CB72BC-1CD6-453D-9CA5-F7E2441426FE} = {70CB72BC-1CD6-453D-9CA5-F7E2441426FE} {9B130CC5-14FB-41FF-B310-0A95B6894C37} = {9B130CC5-14FB-41FF-B310-0A95B6894C37} {FDED22C8-B637-42E8-824A-63B5B6E05A3A} = {FDED22C8-B637-42E8-824A-63B5B6E05A3A} {A3DCCBCA-ACC1-421D-B16E-210896234C26} = {A3DCCBCA-ACC1-421D-B16E-210896234C26} @@ -72,7 +72,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Flow.Launcher.Plugin.Explor EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Flow.Launcher.Plugin.ProcessKiller", "Plugins\Flow.Launcher.Plugin.ProcessKiller\Flow.Launcher.Plugin.ProcessKiller.csproj", "{588088F4-3262-4F9F-9663-A05DE12534C3}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Flow.Launcher.Plugin.PluginsManager", "Plugins\Flow.Launcher.Plugin.PluginManager\Flow.Launcher.Plugin.PluginsManager.csproj", "{70CB72BC-1CD6-453D-9CA5-F7E2441426FE}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Flow.Launcher.Plugin.PluginsManager", "Plugins\Flow.Launcher.Plugin.PluginsManager\Flow.Launcher.Plugin.PluginsManager.csproj", "{4792A74A-0CEA-4173-A8B2-30E6764C6217}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -301,18 +301,18 @@ Global {588088F4-3262-4F9F-9663-A05DE12534C3}.Release|x64.Build.0 = Release|Any CPU {588088F4-3262-4F9F-9663-A05DE12534C3}.Release|x86.ActiveCfg = Release|Any CPU {588088F4-3262-4F9F-9663-A05DE12534C3}.Release|x86.Build.0 = Release|Any CPU - {70CB72BC-1CD6-453D-9CA5-F7E2441426FE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {70CB72BC-1CD6-453D-9CA5-F7E2441426FE}.Debug|Any CPU.Build.0 = Debug|Any CPU - {70CB72BC-1CD6-453D-9CA5-F7E2441426FE}.Debug|x64.ActiveCfg = Debug|Any CPU - {70CB72BC-1CD6-453D-9CA5-F7E2441426FE}.Debug|x64.Build.0 = Debug|Any CPU - {70CB72BC-1CD6-453D-9CA5-F7E2441426FE}.Debug|x86.ActiveCfg = Debug|Any CPU - {70CB72BC-1CD6-453D-9CA5-F7E2441426FE}.Debug|x86.Build.0 = Debug|Any CPU - {70CB72BC-1CD6-453D-9CA5-F7E2441426FE}.Release|Any CPU.ActiveCfg = Release|Any CPU - {70CB72BC-1CD6-453D-9CA5-F7E2441426FE}.Release|Any CPU.Build.0 = Release|Any CPU - {70CB72BC-1CD6-453D-9CA5-F7E2441426FE}.Release|x64.ActiveCfg = Release|Any CPU - {70CB72BC-1CD6-453D-9CA5-F7E2441426FE}.Release|x64.Build.0 = Release|Any CPU - {70CB72BC-1CD6-453D-9CA5-F7E2441426FE}.Release|x86.ActiveCfg = Release|Any CPU - {70CB72BC-1CD6-453D-9CA5-F7E2441426FE}.Release|x86.Build.0 = Release|Any CPU + {4792A74A-0CEA-4173-A8B2-30E6764C6217}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {4792A74A-0CEA-4173-A8B2-30E6764C6217}.Debug|Any CPU.Build.0 = Debug|Any CPU + {4792A74A-0CEA-4173-A8B2-30E6764C6217}.Debug|x64.ActiveCfg = Debug|Any CPU + {4792A74A-0CEA-4173-A8B2-30E6764C6217}.Debug|x64.Build.0 = Debug|Any CPU + {4792A74A-0CEA-4173-A8B2-30E6764C6217}.Debug|x86.ActiveCfg = Debug|Any CPU + {4792A74A-0CEA-4173-A8B2-30E6764C6217}.Debug|x86.Build.0 = Debug|Any CPU + {4792A74A-0CEA-4173-A8B2-30E6764C6217}.Release|Any CPU.ActiveCfg = Release|Any CPU + {4792A74A-0CEA-4173-A8B2-30E6764C6217}.Release|Any CPU.Build.0 = Release|Any CPU + {4792A74A-0CEA-4173-A8B2-30E6764C6217}.Release|x64.ActiveCfg = Release|Any CPU + {4792A74A-0CEA-4173-A8B2-30E6764C6217}.Release|x64.Build.0 = Release|Any CPU + {4792A74A-0CEA-4173-A8B2-30E6764C6217}.Release|x86.ActiveCfg = Release|Any CPU + {4792A74A-0CEA-4173-A8B2-30E6764C6217}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -331,7 +331,7 @@ Global {59BD9891-3837-438A-958D-ADC7F91F6F7E} = {3A73F5A7-0335-40D8-BF7C-F20BE5D0BA87} {F9C4C081-4CC3-4146-95F1-E102B4E10A5F} = {3A73F5A7-0335-40D8-BF7C-F20BE5D0BA87} {588088F4-3262-4F9F-9663-A05DE12534C3} = {3A73F5A7-0335-40D8-BF7C-F20BE5D0BA87} - {70CB72BC-1CD6-453D-9CA5-F7E2441426FE} = {3A73F5A7-0335-40D8-BF7C-F20BE5D0BA87} + {4792A74A-0CEA-4173-A8B2-30E6764C6217} = {3A73F5A7-0335-40D8-BF7C-F20BE5D0BA87} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {F26ACB50-3F6C-4907-B0C9-1ADACC1D0DED} diff --git a/Plugins/Flow.Launcher.Plugin.PluginManager/ContextMenu.cs b/Plugins/Flow.Launcher.Plugin.PluginsManager/ContextMenu.cs similarity index 100% rename from Plugins/Flow.Launcher.Plugin.PluginManager/ContextMenu.cs rename to Plugins/Flow.Launcher.Plugin.PluginsManager/ContextMenu.cs diff --git a/Plugins/Flow.Launcher.Plugin.PluginManager/Flow.Launcher.Plugin.PluginsManager.csproj b/Plugins/Flow.Launcher.Plugin.PluginsManager/Flow.Launcher.Plugin.PluginsManager.csproj similarity index 100% rename from Plugins/Flow.Launcher.Plugin.PluginManager/Flow.Launcher.Plugin.PluginsManager.csproj rename to Plugins/Flow.Launcher.Plugin.PluginsManager/Flow.Launcher.Plugin.PluginsManager.csproj diff --git a/Plugins/Flow.Launcher.Plugin.PluginManager/Languages/en.xaml b/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/en.xaml similarity index 100% rename from Plugins/Flow.Launcher.Plugin.PluginManager/Languages/en.xaml rename to Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/en.xaml diff --git a/Plugins/Flow.Launcher.Plugin.PluginManager/Main.cs b/Plugins/Flow.Launcher.Plugin.PluginsManager/Main.cs similarity index 96% rename from Plugins/Flow.Launcher.Plugin.PluginManager/Main.cs rename to Plugins/Flow.Launcher.Plugin.PluginsManager/Main.cs index 1a21f6026..70ff7915c 100644 --- a/Plugins/Flow.Launcher.Plugin.PluginManager/Main.cs +++ b/Plugins/Flow.Launcher.Plugin.PluginsManager/Main.cs @@ -41,7 +41,7 @@ namespace Flow.Launcher.Plugin.PluginsManager var pluginManager = new PluginsManager(Context); - return pluginManager.PluginsSearch(search); + return pluginManager.Search(search); } public void Save() diff --git a/Plugins/Flow.Launcher.Plugin.PluginManager/Models/PluginsManifest.cs b/Plugins/Flow.Launcher.Plugin.PluginsManager/Models/PluginsManifest.cs similarity index 100% rename from Plugins/Flow.Launcher.Plugin.PluginManager/Models/PluginsManifest.cs rename to Plugins/Flow.Launcher.Plugin.PluginsManager/Models/PluginsManifest.cs diff --git a/Plugins/Flow.Launcher.Plugin.PluginManager/Models/UserPlugin.cs b/Plugins/Flow.Launcher.Plugin.PluginsManager/Models/UserPlugin.cs similarity index 100% rename from Plugins/Flow.Launcher.Plugin.PluginManager/Models/UserPlugin.cs rename to Plugins/Flow.Launcher.Plugin.PluginsManager/Models/UserPlugin.cs diff --git a/Plugins/Flow.Launcher.Plugin.PluginManager/PluginsManager.cs b/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs similarity index 95% rename from Plugins/Flow.Launcher.Plugin.PluginManager/PluginsManager.cs rename to Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs index e7e61460e..d35c8c16b 100644 --- a/Plugins/Flow.Launcher.Plugin.PluginManager/PluginsManager.cs +++ b/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs @@ -17,14 +17,14 @@ namespace Flow.Launcher.Plugin.PluginsManager private PluginsManifest pluginsManifest; private PluginInitContext context { get; set; } - private string icoPath = "Images\\plugin.png"; + private readonly string icoPath = "Images\\plugin.png"; internal PluginsManager(PluginInitContext context) { pluginsManifest = new PluginsManifest(); this.context = context; } - internal void PluginInstall(UserPlugin plugin) + internal void InstallOrUpdate(UserPlugin plugin) { if (PluginExists()) { @@ -53,7 +53,7 @@ namespace Flow.Launcher.Plugin.PluginsManager Application.Current.Dispatcher.Invoke(() => Install(plugin, filePath)); } - internal void PluginUpdate() + internal void Update() { } @@ -65,10 +65,10 @@ namespace Flow.Launcher.Plugin.PluginsManager internal void PluginsManifestSiteOpen() { - + //Open https://git.vcmq.workers.dev/Flow-Launcher/Flow.Launcher.PluginsManifest } - internal List PluginsSearch(string searchName) + internal List Search(string searchName) { var results = new List(); @@ -85,7 +85,7 @@ namespace Flow.Launcher.Plugin.PluginsManager context.API.ShowMsg(context.API.GetTranslation("plugin_pluginsmanager_downloading_plugin"), context.API.GetTranslation("plugin_pluginsmanager_please_wait")); Application.Current.MainWindow.Hide(); - PluginInstall(x); + InstallOrUpdate(x); return true; } diff --git a/Plugins/Flow.Launcher.Plugin.PluginManager/Utilities.cs b/Plugins/Flow.Launcher.Plugin.PluginsManager/Utilities.cs similarity index 100% rename from Plugins/Flow.Launcher.Plugin.PluginManager/Utilities.cs rename to Plugins/Flow.Launcher.Plugin.PluginsManager/Utilities.cs diff --git a/Plugins/Flow.Launcher.Plugin.PluginManager/ViewModels/SettingsViewModel.cs b/Plugins/Flow.Launcher.Plugin.PluginsManager/ViewModels/SettingsViewModel.cs similarity index 100% rename from Plugins/Flow.Launcher.Plugin.PluginManager/ViewModels/SettingsViewModel.cs rename to Plugins/Flow.Launcher.Plugin.PluginsManager/ViewModels/SettingsViewModel.cs diff --git a/Plugins/Flow.Launcher.Plugin.PluginManager/Views/PluginsManagerSettings.xaml b/Plugins/Flow.Launcher.Plugin.PluginsManager/Views/PluginsManagerSettings.xaml similarity index 100% rename from Plugins/Flow.Launcher.Plugin.PluginManager/Views/PluginsManagerSettings.xaml rename to Plugins/Flow.Launcher.Plugin.PluginsManager/Views/PluginsManagerSettings.xaml diff --git a/Plugins/Flow.Launcher.Plugin.PluginManager/Views/PluginsManagerSettings.xaml.cs b/Plugins/Flow.Launcher.Plugin.PluginsManager/Views/PluginsManagerSettings.xaml.cs similarity index 100% rename from Plugins/Flow.Launcher.Plugin.PluginManager/Views/PluginsManagerSettings.xaml.cs rename to Plugins/Flow.Launcher.Plugin.PluginsManager/Views/PluginsManagerSettings.xaml.cs diff --git a/Plugins/Flow.Launcher.Plugin.PluginManager/plugin.json b/Plugins/Flow.Launcher.Plugin.PluginsManager/plugin.json similarity index 100% rename from Plugins/Flow.Launcher.Plugin.PluginManager/plugin.json rename to Plugins/Flow.Launcher.Plugin.PluginsManager/plugin.json From 1a59da4adc757653cbb014c3803208abf785fbac Mon Sep 17 00:00:00 2001 From: Jeremy Wu Date: Thu, 10 Dec 2020 21:28:01 +1100 Subject: [PATCH 142/176] add plugin uninstall method --- .../Languages/en.xaml | 1 + .../Main.cs | 9 +- .../PluginsManager.cs | 91 +++++++++++++------ 3 files changed, 73 insertions(+), 28 deletions(-) diff --git a/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/en.xaml b/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/en.xaml index 7930eb743..01a9052ed 100644 --- a/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/en.xaml +++ b/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/en.xaml @@ -6,6 +6,7 @@ Downloading plugin Please wait... Successfully downloaded + Do you want to uninstall the following plugin? diff --git a/Plugins/Flow.Launcher.Plugin.PluginsManager/Main.cs b/Plugins/Flow.Launcher.Plugin.PluginsManager/Main.cs index 70ff7915c..f763826a8 100644 --- a/Plugins/Flow.Launcher.Plugin.PluginsManager/Main.cs +++ b/Plugins/Flow.Launcher.Plugin.PluginsManager/Main.cs @@ -39,9 +39,14 @@ namespace Flow.Launcher.Plugin.PluginsManager { var search = query.Search; - var pluginManager = new PluginsManager(Context); + var uninstallCmd = "uninstall"; - return pluginManager.Search(search); + var pluginManager = new PluginsManager(Context); + + if (search.ToLower().StartsWith($"{uninstallCmd} ") || search.ToLower() == uninstallCmd) + return pluginManager.RequestUninstall(search.Replace(uninstallCmd, string.Empty).Trim()); + + return pluginManager.RequestInstallOrUpdate(search); } public void Save() diff --git a/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs b/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs index d35c8c16b..ad62ac7b7 100644 --- a/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs +++ b/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs @@ -15,14 +15,14 @@ namespace Flow.Launcher.Plugin.PluginsManager internal class PluginsManager { private PluginsManifest pluginsManifest; - private PluginInitContext context { get; set; } + private PluginInitContext Context { get; set; } private readonly string icoPath = "Images\\plugin.png"; internal PluginsManager(PluginInitContext context) { pluginsManifest = new PluginsManifest(); - this.context = context; + Context = context; } internal void InstallOrUpdate(UserPlugin plugin) { @@ -39,13 +39,13 @@ namespace Flow.Launcher.Plugin.PluginsManager { Utilities.Download(plugin.UrlDownload, filePath); - context.API.ShowMsg(context.API.GetTranslation("plugin_pluginsmanager_downloading_plugin"), - context.API.GetTranslation("plugin_pluginsmanager_download_success")); + Context.API.ShowMsg(Context.API.GetTranslation("plugin_pluginsmanager_downloading_plugin"), + Context.API.GetTranslation("plugin_pluginsmanager_download_success")); } catch (Exception e) { - context.API.ShowMsg(context.API.GetTranslation("plugin_pluginsmanager_downloading_plugin"), - context.API.GetTranslation("plugin_pluginsmanager_download_success")); + Context.API.ShowMsg(Context.API.GetTranslation("plugin_pluginsmanager_downloading_plugin"), + Context.API.GetTranslation("plugin_pluginsmanager_download_success")); Log.Exception("PluginsManager", "An error occured while downloading plugin", e, "PluginDownload"); } @@ -68,7 +68,18 @@ namespace Flow.Launcher.Plugin.PluginsManager //Open https://git.vcmq.workers.dev/Flow-Launcher/Flow.Launcher.PluginsManifest } - internal List Search(string searchName) + internal List Search(List results, string searchName) + { + if (string.IsNullOrEmpty(searchName)) + return results; + + return results + .Where(x => StringMatcher.FuzzySearch(searchName, x.Title).IsSearchPrecisionScoreMet()) + .Select(x => x) + .ToList(); + } + + internal List RequestInstallOrUpdate(string searchName) { var results = new List(); @@ -82,8 +93,8 @@ namespace Flow.Launcher.Plugin.PluginsManager IcoPath = icoPath, Action = e => { - context.API.ShowMsg(context.API.GetTranslation("plugin_pluginsmanager_downloading_plugin"), - context.API.GetTranslation("plugin_pluginsmanager_please_wait")); + Context.API.ShowMsg(Context.API.GetTranslation("plugin_pluginsmanager_downloading_plugin"), + Context.API.GetTranslation("plugin_pluginsmanager_please_wait")); Application.Current.MainWindow.Hide(); InstallOrUpdate(x); @@ -91,13 +102,7 @@ namespace Flow.Launcher.Plugin.PluginsManager } })); - if (string.IsNullOrEmpty(searchName)) - return results; - - return results - .Where(x => StringMatcher.FuzzySearch(searchName, x.Title).IsSearchPrecisionScoreMet()) - .Select(x => x) - .ToList(); + return Search(results, searchName); } private void Install(UserPlugin plugin, string downloadedFilePath) @@ -155,7 +160,7 @@ namespace Flow.Launcher.Plugin.PluginsManager $"Version: {plugin.Version}{Environment.NewLine}" + $"Author: {plugin.Author}"; - var existingPlugin = context.API.GetAllPlugins().Where(x => x.Metadata.ID == plugin.ID).FirstOrDefault(); + var existingPlugin = Context.API.GetAllPlugins().Where(x => x.Metadata.ID == plugin.ID).FirstOrDefault(); if (existingPlugin != null) { @@ -177,22 +182,56 @@ namespace Flow.Launcher.Plugin.PluginsManager Directory.Move(pluginFolderPath, newPluginPath); - //exsiting plugins may be has loaded by application, - //if we try to delelte those kind of plugins, we will get a error that indicate the - //file is been used now. - //current solution is to restart Flow Launcher. Ugly. - //if (MainWindow.Initialized) - //{ - // Plugins.Initialize(); - //} if (MessageBox.Show($"You have installed plugin {plugin.Name} successfully.{Environment.NewLine}" + "Restart Flow Launcher to take effect?", "Install plugin", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes) { - context.API.RestartApp(); + Context.API.RestartApp(); } } } } + + internal List RequestUninstall(string search) + { + var results = new List(); + + Context.API.GetAllPlugins() + .ForEach(x => results.Add( + new Result + { + Title = $"{x.Metadata.Name} by {x.Metadata.Author}", + SubTitle = x.Metadata.Description, + IcoPath = icoPath, + Action = e => + { + Application.Current.MainWindow.Hide(); + Uninstall(x.Metadata); + + return true; + } + })); + + return Search(results, search); + } + + private void Uninstall(PluginMetadata plugin) + { + string message = Context.API.GetTranslation("plugin_pluginsmanager_uninstall_prompt")+ + $"{Environment.NewLine}{Environment.NewLine}" + + $"{plugin.Name} by {plugin.Author}"; + + if (MessageBox.Show(message, "Flow Launcher", MessageBoxButton.YesNo) == MessageBoxResult.Yes) + { + File.Create(Path.Combine(plugin.PluginDirectory, "NeedDelete.txt")).Close(); + var result = MessageBox.Show($"You have uninstalled plugin {plugin.Name} successfully.{Environment.NewLine}" + + "Restart Flow Launcher to take effect?", + "Install plugin", MessageBoxButton.YesNo, MessageBoxImage.Question); + if (result == MessageBoxResult.Yes) + { + Context.API.RestartApp(); + } + } + } } } From 402e2da061fa82258d024b7be718f8319ddd3738 Mon Sep 17 00:00:00 2001 From: Jeremy Wu Date: Thu, 10 Dec 2020 21:31:21 +1100 Subject: [PATCH 143/176] use plugin icopath when displaying uninstall plugins --- Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs b/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs index ad62ac7b7..5a3304912 100644 --- a/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs +++ b/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs @@ -14,7 +14,7 @@ namespace Flow.Launcher.Plugin.PluginsManager { internal class PluginsManager { - private PluginsManifest pluginsManifest; + private readonly PluginsManifest pluginsManifest; private PluginInitContext Context { get; set; } private readonly string icoPath = "Images\\plugin.png"; @@ -202,7 +202,7 @@ namespace Flow.Launcher.Plugin.PluginsManager { Title = $"{x.Metadata.Name} by {x.Metadata.Author}", SubTitle = x.Metadata.Description, - IcoPath = icoPath, + IcoPath = x.Metadata.IcoPath, Action = e => { Application.Current.MainWindow.Hide(); From 712a1456a2fde36a65b03ed58fc234a05c81eb42 Mon Sep 17 00:00:00 2001 From: Jeremy Wu Date: Thu, 10 Dec 2020 22:09:27 +1100 Subject: [PATCH 144/176] add plugin icopath --- .../Images/pluginsmanager.png | Bin 0 -> 496093 bytes .../PluginsManager.cs | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 Plugins/Flow.Launcher.Plugin.PluginsManager/Images/pluginsmanager.png diff --git a/Plugins/Flow.Launcher.Plugin.PluginsManager/Images/pluginsmanager.png b/Plugins/Flow.Launcher.Plugin.PluginsManager/Images/pluginsmanager.png new file mode 100644 index 0000000000000000000000000000000000000000..65f0e41dc144cc1e332f181332c86031dfb37a11 GIT binary patch literal 496093 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 OK+Pm{Am42@dKRN*4Q22h_@G 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/t)Li`SQ4z>PGiq@V!DQWEKy3bH|%yH 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 f(`8UrH!@cOj?01h`ag$cQ6(@nc;gm$ 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

|t)cS~J?bP4-^_vHP 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 Jy=NQx{{T`VG&2AI literal 0 HcmV?d00001 diff --git a/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs b/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs index 5a3304912..29065122b 100644 --- a/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs +++ b/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs @@ -17,7 +17,7 @@ namespace Flow.Launcher.Plugin.PluginsManager private readonly PluginsManifest pluginsManifest; private PluginInitContext Context { get; set; } - private readonly string icoPath = "Images\\plugin.png"; + private readonly string icoPath = "Images\\pluginsmanager.png"; internal PluginsManager(PluginInitContext context) { From 4365520feabd145f7736f22cab13f3ebe9da4a36 Mon Sep 17 00:00:00 2001 From: Jeremy Wu Date: Thu, 10 Dec 2020 22:18:21 +1100 Subject: [PATCH 145/176] update settings window to user control --- .../Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs | 4 +--- .../Views/PluginsManagerSettings.xaml | 8 ++++---- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs b/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs index 29065122b..f18d52d4c 100644 --- a/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs +++ b/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs @@ -1,5 +1,4 @@ using Flow.Launcher.Infrastructure; -using Flow.Launcher.Infrastructure.Http; using Flow.Launcher.Infrastructure.Logger; using Flow.Launcher.Infrastructure.UserSettings; using Flow.Launcher.Plugin.PluginsManager.Models; @@ -7,7 +6,6 @@ using System; using System.Collections.Generic; using System.IO; using System.Linq; -using System.Net; using System.Windows; namespace Flow.Launcher.Plugin.PluginsManager @@ -65,7 +63,7 @@ namespace Flow.Launcher.Plugin.PluginsManager internal void PluginsManifestSiteOpen() { - //Open https://git.vcmq.workers.dev/Flow-Launcher/Flow.Launcher.PluginsManifest + //Open from context menu https://git.vcmq.workers.dev/Flow-Launcher/Flow.Launcher.PluginsManifest } internal List Search(List results, string searchName) diff --git a/Plugins/Flow.Launcher.Plugin.PluginsManager/Views/PluginsManagerSettings.xaml b/Plugins/Flow.Launcher.Plugin.PluginsManager/Views/PluginsManagerSettings.xaml index 7f6d7ba82..89d27f6ff 100644 --- a/Plugins/Flow.Launcher.Plugin.PluginsManager/Views/PluginsManagerSettings.xaml +++ b/Plugins/Flow.Launcher.Plugin.PluginsManager/Views/PluginsManagerSettings.xaml @@ -1,12 +1,12 @@ - + d:DesignHeight="450" d:DesignWidth="800"> - + From b17dbcc31764f9ef8eade2d3e588e3d411c3b1cd Mon Sep 17 00:00:00 2001 From: Jeremy Wu Date: Thu, 10 Dec 2020 22:58:18 +1100 Subject: [PATCH 146/176] refactor --- .../PluginsManager.cs | 145 +++++++----------- .../Utilities.cs | 18 +++ 2 files changed, 73 insertions(+), 90 deletions(-) diff --git a/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs b/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs index f18d52d4c..776c01144 100644 --- a/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs +++ b/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs @@ -24,13 +24,24 @@ namespace Flow.Launcher.Plugin.PluginsManager } internal void InstallOrUpdate(UserPlugin plugin) { - if (PluginExists()) + if (PluginExists(plugin.ID)) { - //prompt user if want to install + var updateMessage = $"Do you want to update following plugin?{Environment.NewLine}{Environment.NewLine}" + + $"Name: {plugin.Name}{Environment.NewLine}" + + $"{Environment.NewLine}New Version: {plugin.Version}" + + $"{Environment.NewLine}Author: {plugin.Author}"; - return; + throw new NotImplementedException(); } + var message = $"Do you want to install following plugin?{Environment.NewLine}{Environment.NewLine}" + + $"Name: {plugin.Name}{Environment.NewLine}" + + $"Version: {plugin.Version}{Environment.NewLine}" + + $"Author: {plugin.Author}"; + + if(MessageBox.Show(message, "Install plugin", MessageBoxButton.YesNo) == MessageBoxResult.No) + return; + var filePath = Path.Combine(DataLocation.PluginsDirectory, $"{plugin.Name}{plugin.ID}.zip"); try @@ -53,17 +64,18 @@ namespace Flow.Launcher.Plugin.PluginsManager internal void Update() { - + throw new NotImplementedException(); } - internal bool PluginExists() + internal bool PluginExists(string id) { - return false; + return Context.API.GetAllPlugins().Any(x => x.Metadata.ID == id); } internal void PluginsManifestSiteOpen() { //Open from context menu https://git.vcmq.workers.dev/Flow-Launcher/Flow.Launcher.PluginsManifest + throw new NotImplementedException(); } internal List Search(List results, string searchName) @@ -105,89 +117,43 @@ namespace Flow.Launcher.Plugin.PluginsManager private void Install(UserPlugin plugin, string downloadedFilePath) { - if (File.Exists(downloadedFilePath)) + if (!File.Exists(downloadedFilePath)) + return; + + var tempFolderPath = Path.Combine(Path.GetTempPath(), "flowlauncher"); + var tempFolderPluginPath = Path.Combine(tempFolderPath, "plugin"); + + if (Directory.Exists(tempFolderPath)) + Directory.Delete(tempFolderPath, true); + + Directory.CreateDirectory(tempFolderPath); + + var zipFilePath = Path.Combine(tempFolderPath, Path.GetFileName(downloadedFilePath)); + + File.Move(downloadedFilePath, zipFilePath); + + Utilities.UnZip(zipFilePath, tempFolderPluginPath, true); + + var pluginFolderPath = Utilities.GetContainingFolderPathAfterUnzip(tempFolderPluginPath); + + var metadataJsonFilePath = string.Empty; + if (File.Exists(Path.Combine(pluginFolderPath, Constant.PluginMetadataFileName))) + metadataJsonFilePath = Path.Combine(pluginFolderPath, Constant.PluginMetadataFileName); + + if (string.IsNullOrEmpty(metadataJsonFilePath) || string.IsNullOrEmpty(pluginFolderPath)) { - var tempFolderPath = Path.Combine(Path.GetTempPath(), "flowlauncher"); - var tempPluginFolderPath = Path.Combine(tempFolderPath, "plugin"); - - if (Directory.Exists(tempFolderPath)) - { - Directory.Delete(tempFolderPath, true); - } - - Directory.CreateDirectory(tempFolderPath); - - var zipFilePath = Path.Combine(tempFolderPath, Path.GetFileName(downloadedFilePath)); - - File.Move(downloadedFilePath, zipFilePath); - - Utilities.UnZip(zipFilePath, tempPluginFolderPath, true); - - var unzippedParentFolderPath = tempPluginFolderPath; - - var metadataJsonFilePath = string.Empty; - - var pluginFolderPath = string.Empty; - - var unzippedFolderCount = Directory.GetDirectories(unzippedParentFolderPath).Length; - var unzippedFilesCount = Directory.GetFiles(unzippedParentFolderPath).Length; - - // addjust path depending on how the plugin is zipped up - // the recommended should be to zip up the folder not the contents - if (unzippedFolderCount == 1 && unzippedFilesCount == 0) - // folder is zipped up, unzipped plugin directory structure: tempPath/unzippedParentPluginFolder/pluginFolderName/ - pluginFolderPath = Directory.GetDirectories(unzippedParentFolderPath)[0]; - - if (unzippedFilesCount > 1) - // content is zipped up, unzipped plugin directory structure: tempPath/unzippedParentPluginFolder/ - pluginFolderPath = unzippedParentFolderPath; - - if (File.Exists(Path.Combine(pluginFolderPath, Constant.PluginMetadataFileName))) - metadataJsonFilePath = Path.Combine(pluginFolderPath, Constant.PluginMetadataFileName); - - if (string.IsNullOrEmpty(metadataJsonFilePath) || string.IsNullOrEmpty(pluginFolderPath)) - { - MessageBox.Show("Install failed: unable to find the plugin.json metadata file"); - return; - } - - string newPluginPath = Path.Combine(DataLocation.PluginsDirectory, $"{plugin.Name}{plugin.ID}"); - - string content = $"Do you want to install following plugin?{Environment.NewLine}{Environment.NewLine}" + - $"Name: {plugin.Name}{Environment.NewLine}" + - $"Version: {plugin.Version}{Environment.NewLine}" + - $"Author: {plugin.Author}"; - - var existingPlugin = Context.API.GetAllPlugins().Where(x => x.Metadata.ID == plugin.ID).FirstOrDefault(); - - if (existingPlugin != null) - { - content = $"Do you want to update following plugin?{Environment.NewLine}{Environment.NewLine}" + - $"Name: {plugin.Name}{Environment.NewLine}" + - $"Old Version: {existingPlugin.Metadata.Version}" + - $"{Environment.NewLine}New Version: {plugin.Version}" + - $"{Environment.NewLine}Author: {plugin.Author}"; - } - - var result = MessageBox.Show(content, "Install plugin", MessageBoxButton.YesNo, MessageBoxImage.Question); - if (result == MessageBoxResult.Yes) - { - if (existingPlugin != null && Directory.Exists(existingPlugin.Metadata.PluginDirectory)) - { - //when plugin is in use, we can't delete them. That's why we need to make plugin folder a random name - File.Create(Path.Combine(existingPlugin.Metadata.PluginDirectory, "NeedDelete.txt")).Close(); - } - - Directory.Move(pluginFolderPath, newPluginPath); - - if (MessageBox.Show($"You have installed plugin {plugin.Name} successfully.{Environment.NewLine}" + - "Restart Flow Launcher to take effect?", - "Install plugin", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes) - { - Context.API.RestartApp(); - } - } + MessageBox.Show("Install failed: unable to find the plugin.json metadata file from the new plugin"); + return; } + + string newPluginPath = Path.Combine(DataLocation.PluginsDirectory, $"{plugin.Name}{plugin.ID}"); + + Directory.Move(pluginFolderPath, newPluginPath); + + if (MessageBox.Show($"You have installed plugin {plugin.Name} successfully.{Environment.NewLine}" + + "Restart Flow Launcher to take effect?", + "Install plugin", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes) + Context.API.RestartApp(); } internal List RequestUninstall(string search) @@ -221,14 +187,13 @@ namespace Flow.Launcher.Plugin.PluginsManager if (MessageBox.Show(message, "Flow Launcher", MessageBoxButton.YesNo) == MessageBoxResult.Yes) { - File.Create(Path.Combine(plugin.PluginDirectory, "NeedDelete.txt")).Close(); + using var _ = File.CreateText(Path.Combine(plugin.PluginDirectory, "NeedDelete.txt")); + var result = MessageBox.Show($"You have uninstalled plugin {plugin.Name} successfully.{Environment.NewLine}" + "Restart Flow Launcher to take effect?", "Install plugin", MessageBoxButton.YesNo, MessageBoxImage.Question); if (result == MessageBoxResult.Yes) - { Context.API.RestartApp(); - } } } } diff --git a/Plugins/Flow.Launcher.Plugin.PluginsManager/Utilities.cs b/Plugins/Flow.Launcher.Plugin.PluginsManager/Utilities.cs index 1ff42fdbd..4c82a855b 100644 --- a/Plugins/Flow.Launcher.Plugin.PluginsManager/Utilities.cs +++ b/Plugins/Flow.Launcher.Plugin.PluginsManager/Utilities.cs @@ -40,6 +40,24 @@ namespace Flow.Launcher.Plugin.PluginsManager } } + internal static string GetContainingFolderPathAfterUnzip(string unzippedParentFolderPath) + { + var unzippedFolderCount = Directory.GetDirectories(unzippedParentFolderPath).Length; + var unzippedFilesCount = Directory.GetFiles(unzippedParentFolderPath).Length; + + // addjust path depending on how the plugin is zipped up + // the recommended should be to zip up the folder not the contents + if (unzippedFolderCount == 1 && unzippedFilesCount == 0) + // folder is zipped up, unzipped plugin directory structure: tempPath/unzippedParentPluginFolder/pluginFolderName/ + return Directory.GetDirectories(unzippedParentFolderPath)[0]; + + if (unzippedFilesCount > 1) + // content is zipped up, unzipped plugin directory structure: tempPath/unzippedParentPluginFolder/ + return unzippedParentFolderPath; + + return string.Empty; + } + internal static void Download(string downloadUrl, string toFilePath) { using var wc = new WebClient { Proxy = Http.WebProxy() }; From 7a7815b9c1ad14338e8fb5dc029019b79657969a Mon Sep 17 00:00:00 2001 From: Jeremy Wu Date: Thu, 10 Dec 2020 23:07:17 +1100 Subject: [PATCH 147/176] remove plugin PluginManagement --- Flow.Launcher.sln | 16 -- Flow.Launcher/MainWindow.xaml | 1 - Flow.Launcher/MainWindow.xaml.cs | 18 -- ...ow.Launcher.Plugin.PluginManagement.csproj | 102 ------- .../Flow.Launcher.PluginResult.cs | 11 - .../Images/plugin.png | Bin 269 -> 0 bytes .../Languages/de.xaml | 8 - .../Languages/en.xaml | 8 - .../Languages/pl.xaml | 8 - .../Languages/sk.xaml | 8 - .../Languages/tr.xaml | 8 - .../Languages/zh-cn.xaml | 8 - .../Languages/zh-tw.xaml | 8 - .../Main.cs | 258 ------------------ .../plugin.json | 12 - 15 files changed, 474 deletions(-) delete mode 100644 Plugins/Flow.Launcher.Plugin.PluginManagement/Flow.Launcher.Plugin.PluginManagement.csproj delete mode 100644 Plugins/Flow.Launcher.Plugin.PluginManagement/Flow.Launcher.PluginResult.cs delete mode 100644 Plugins/Flow.Launcher.Plugin.PluginManagement/Images/plugin.png delete mode 100644 Plugins/Flow.Launcher.Plugin.PluginManagement/Languages/de.xaml delete mode 100644 Plugins/Flow.Launcher.Plugin.PluginManagement/Languages/en.xaml delete mode 100644 Plugins/Flow.Launcher.Plugin.PluginManagement/Languages/pl.xaml delete mode 100644 Plugins/Flow.Launcher.Plugin.PluginManagement/Languages/sk.xaml delete mode 100644 Plugins/Flow.Launcher.Plugin.PluginManagement/Languages/tr.xaml delete mode 100644 Plugins/Flow.Launcher.Plugin.PluginManagement/Languages/zh-cn.xaml delete mode 100644 Plugins/Flow.Launcher.Plugin.PluginManagement/Languages/zh-tw.xaml delete mode 100644 Plugins/Flow.Launcher.Plugin.PluginManagement/Main.cs delete mode 100644 Plugins/Flow.Launcher.Plugin.PluginManagement/plugin.json diff --git a/Flow.Launcher.sln b/Flow.Launcher.sln index c873bc147..4d8997177 100644 --- a/Flow.Launcher.sln +++ b/Flow.Launcher.sln @@ -24,15 +24,12 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Flow.Launcher", "Flow.Launc {9B130CC5-14FB-41FF-B310-0A95B6894C37} = {9B130CC5-14FB-41FF-B310-0A95B6894C37} {FDED22C8-B637-42E8-824A-63B5B6E05A3A} = {FDED22C8-B637-42E8-824A-63B5B6E05A3A} {A3DCCBCA-ACC1-421D-B16E-210896234C26} = {A3DCCBCA-ACC1-421D-B16E-210896234C26} - {049490F0-ECD2-4148-9B39-2135EC346EBE} = {049490F0-ECD2-4148-9B39-2135EC346EBE} {403B57F2-1856-4FC7-8A24-36AB346B763E} = {403B57F2-1856-4FC7-8A24-36AB346B763E} {588088F4-3262-4F9F-9663-A05DE12534C3} = {588088F4-3262-4F9F-9663-A05DE12534C3} EndProjectSection EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Flow.Launcher.Infrastructure", "Flow.Launcher.Infrastructure\Flow.Launcher.Infrastructure.csproj", "{4FD29318-A8AB-4D8F-AA47-60BC241B8DA3}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Flow.Launcher.Plugin.PluginManagement", "Plugins\Flow.Launcher.Plugin.PluginManagement\Flow.Launcher.Plugin.PluginManagement.csproj", "{049490F0-ECD2-4148-9B39-2135EC346EBE}" -EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Flow.Launcher.Core", "Flow.Launcher.Core\Flow.Launcher.Core.csproj", "{B749F0DB-8E75-47DB-9E5E-265D16D0C0D2}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Flow.Launcher.Plugin.Program", "Plugins\Flow.Launcher.Plugin.Program\Flow.Launcher.Plugin.Program.csproj", "{FDB3555B-58EF-4AE6-B5F1-904719637AB4}" @@ -132,18 +129,6 @@ Global {4FD29318-A8AB-4D8F-AA47-60BC241B8DA3}.Release|x64.Build.0 = Release|Any CPU {4FD29318-A8AB-4D8F-AA47-60BC241B8DA3}.Release|x86.ActiveCfg = Release|Any CPU {4FD29318-A8AB-4D8F-AA47-60BC241B8DA3}.Release|x86.Build.0 = Release|Any CPU - {049490F0-ECD2-4148-9B39-2135EC346EBE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {049490F0-ECD2-4148-9B39-2135EC346EBE}.Debug|Any CPU.Build.0 = Debug|Any CPU - {049490F0-ECD2-4148-9B39-2135EC346EBE}.Debug|x64.ActiveCfg = Debug|Any CPU - {049490F0-ECD2-4148-9B39-2135EC346EBE}.Debug|x64.Build.0 = Debug|Any CPU - {049490F0-ECD2-4148-9B39-2135EC346EBE}.Debug|x86.ActiveCfg = Debug|Any CPU - {049490F0-ECD2-4148-9B39-2135EC346EBE}.Debug|x86.Build.0 = Debug|Any CPU - {049490F0-ECD2-4148-9B39-2135EC346EBE}.Release|Any CPU.ActiveCfg = Release|Any CPU - {049490F0-ECD2-4148-9B39-2135EC346EBE}.Release|Any CPU.Build.0 = Release|Any CPU - {049490F0-ECD2-4148-9B39-2135EC346EBE}.Release|x64.ActiveCfg = Release|Any CPU - {049490F0-ECD2-4148-9B39-2135EC346EBE}.Release|x64.Build.0 = Release|Any CPU - {049490F0-ECD2-4148-9B39-2135EC346EBE}.Release|x86.ActiveCfg = Release|Any CPU - {049490F0-ECD2-4148-9B39-2135EC346EBE}.Release|x86.Build.0 = Release|Any CPU {B749F0DB-8E75-47DB-9E5E-265D16D0C0D2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {B749F0DB-8E75-47DB-9E5E-265D16D0C0D2}.Debug|Any CPU.Build.0 = Debug|Any CPU {B749F0DB-8E75-47DB-9E5E-265D16D0C0D2}.Debug|x64.ActiveCfg = Debug|Any CPU @@ -318,7 +303,6 @@ Global HideSolutionNode = FALSE EndGlobalSection GlobalSection(NestedProjects) = preSolution - {049490F0-ECD2-4148-9B39-2135EC346EBE} = {3A73F5A7-0335-40D8-BF7C-F20BE5D0BA87} {FDB3555B-58EF-4AE6-B5F1-904719637AB4} = {3A73F5A7-0335-40D8-BF7C-F20BE5D0BA87} {403B57F2-1856-4FC7-8A24-36AB346B763E} = {3A73F5A7-0335-40D8-BF7C-F20BE5D0BA87} {1EE20B48-82FB-48A2-8086-675D6DDAB4F0} = {3A73F5A7-0335-40D8-BF7C-F20BE5D0BA87} diff --git a/Flow.Launcher/MainWindow.xaml b/Flow.Launcher/MainWindow.xaml index 0cc671ef6..07bb96339 100644 --- a/Flow.Launcher/MainWindow.xaml +++ b/Flow.Launcher/MainWindow.xaml @@ -22,7 +22,6 @@ Loaded="OnLoaded" Initialized="OnInitialized" Closing="OnClosing" - Drop="OnDrop" LocationChanged="OnLocationChanged" Deactivated="OnDeactivated" PreviewKeyDown="OnKeyDown" diff --git a/Flow.Launcher/MainWindow.xaml.cs b/Flow.Launcher/MainWindow.xaml.cs index 993eb76c5..3812b4e1f 100644 --- a/Flow.Launcher/MainWindow.xaml.cs +++ b/Flow.Launcher/MainWindow.xaml.cs @@ -199,24 +199,6 @@ namespace Flow.Launcher } } - private void OnDrop(object sender, DragEventArgs e) - { - if (e.Data.GetDataPresent(DataFormats.FileDrop)) - { - // Note that you can have more than one file. - string[] files = (string[])e.Data.GetData(DataFormats.FileDrop); - if (files[0].ToLower().EndsWith(".flowlauncher")) - { - PluginManager.InstallPlugin(files[0]); - } - else - { - MessageBox.Show(InternationalizationManager.Instance.GetTranslation("invalidFlowLauncherPluginFileFormat")); - } - } - e.Handled = false; - } - private void OnPreviewDragOver(object sender, DragEventArgs e) { e.Handled = true; diff --git a/Plugins/Flow.Launcher.Plugin.PluginManagement/Flow.Launcher.Plugin.PluginManagement.csproj b/Plugins/Flow.Launcher.Plugin.PluginManagement/Flow.Launcher.Plugin.PluginManagement.csproj deleted file mode 100644 index 08e89d861..000000000 --- a/Plugins/Flow.Launcher.Plugin.PluginManagement/Flow.Launcher.Plugin.PluginManagement.csproj +++ /dev/null @@ -1,102 +0,0 @@ - - - - Library - netcoreapp3.1 - {049490F0-ECD2-4148-9B39-2135EC346EBE} - Properties - Flow.Launcher.Plugin.PluginManagement - Flow.Launcher.Plugin.PluginManagement - true - true - false - false - - - - true - full - false - ..\..\Output\Debug\Plugins\Flow.Launcher.Plugin.PluginManagement\ - DEBUG;TRACE - prompt - 4 - false - - - - pdbonly - true - ..\..\Output\Release\Plugins\Flow.Launcher.Plugin.PluginManagement\ - TRACE - prompt - 4 - false - - - - - - - - - - PreserveNewest - - - - - - PreserveNewest - - - - - - MSBuild:Compile - Designer - PreserveNewest - - - - - - MSBuild:Compile - Designer - PreserveNewest - - - - - - MSBuild:Compile - Designer - PreserveNewest - - - - - - MSBuild:Compile - Designer - PreserveNewest - - - - - - MSBuild:Compile - Designer - PreserveNewest - - - - - - MSBuild:Compile - Designer - PreserveNewest - - - - \ No newline at end of file diff --git a/Plugins/Flow.Launcher.Plugin.PluginManagement/Flow.Launcher.PluginResult.cs b/Plugins/Flow.Launcher.Plugin.PluginManagement/Flow.Launcher.PluginResult.cs deleted file mode 100644 index 7f5d75d4e..000000000 --- a/Plugins/Flow.Launcher.Plugin.PluginManagement/Flow.Launcher.PluginResult.cs +++ /dev/null @@ -1,11 +0,0 @@ -namespace Flow.Launcher.Plugin.PluginManagement -{ - public class FlowLauncherPluginResult - { - public string plugin_file; - public string description; - public int liked_count; - public string name; - public string version; - } -} \ No newline at end of file diff --git a/Plugins/Flow.Launcher.Plugin.PluginManagement/Images/plugin.png b/Plugins/Flow.Launcher.Plugin.PluginManagement/Images/plugin.png deleted file mode 100644 index 6ff9b8b1576145ac919a9e545d53b3b4d54e74e5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 269 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTCmSQK*5Dp-y;YjHK@;M7UB8!3Q zuY)k7lg8`{prB-lYeY$Kep*R+Vo@qXd3m{BW?pu2a$-TMUVc&f>~}U&Kt)}iE{-7? zjc;#kHvTfzwzgn&H8z5?V p7Dxgm(-_V|G#}kB6xf20n;ZREG~9lkehSc444$rjF6*2UngA2gT8sby diff --git a/Plugins/Flow.Launcher.Plugin.PluginManagement/Languages/de.xaml b/Plugins/Flow.Launcher.Plugin.PluginManagement/Languages/de.xaml deleted file mode 100644 index 38b2f1b4b..000000000 --- a/Plugins/Flow.Launcher.Plugin.PluginManagement/Languages/de.xaml +++ /dev/null @@ -1,8 +0,0 @@ - - - Flow Launcher Plugin Verwaltung - Installiere/Entferne/Aktualisiere Flow Launcher Plugins - - \ No newline at end of file diff --git a/Plugins/Flow.Launcher.Plugin.PluginManagement/Languages/en.xaml b/Plugins/Flow.Launcher.Plugin.PluginManagement/Languages/en.xaml deleted file mode 100644 index b49f33c76..000000000 --- a/Plugins/Flow.Launcher.Plugin.PluginManagement/Languages/en.xaml +++ /dev/null @@ -1,8 +0,0 @@ - - - Plugin Management - Install, remove or update Flow Launcher plugins - - \ No newline at end of file diff --git a/Plugins/Flow.Launcher.Plugin.PluginManagement/Languages/pl.xaml b/Plugins/Flow.Launcher.Plugin.PluginManagement/Languages/pl.xaml deleted file mode 100644 index 362db73e5..000000000 --- a/Plugins/Flow.Launcher.Plugin.PluginManagement/Languages/pl.xaml +++ /dev/null @@ -1,8 +0,0 @@ - - - Zarządzanie wtyczkami Flow Launcher - Pozwala na instalacje, usuwanie i aktualizacje wtyczek - - \ No newline at end of file diff --git a/Plugins/Flow.Launcher.Plugin.PluginManagement/Languages/sk.xaml b/Plugins/Flow.Launcher.Plugin.PluginManagement/Languages/sk.xaml deleted file mode 100644 index b51eceb6a..000000000 --- a/Plugins/Flow.Launcher.Plugin.PluginManagement/Languages/sk.xaml +++ /dev/null @@ -1,8 +0,0 @@ - - - Správca pluginov - Inštalácia, odinštalácia alebo aktualizácia pluginov Flow Launchera - - \ No newline at end of file diff --git a/Plugins/Flow.Launcher.Plugin.PluginManagement/Languages/tr.xaml b/Plugins/Flow.Launcher.Plugin.PluginManagement/Languages/tr.xaml deleted file mode 100644 index fee82a78b..000000000 --- a/Plugins/Flow.Launcher.Plugin.PluginManagement/Languages/tr.xaml +++ /dev/null @@ -1,8 +0,0 @@ - - - Flow Launcher Eklenti Yöneticisi - Flow Launcher eklentilerini kurun, kaldırın ya da güncelleyin - - \ No newline at end of file diff --git a/Plugins/Flow.Launcher.Plugin.PluginManagement/Languages/zh-cn.xaml b/Plugins/Flow.Launcher.Plugin.PluginManagement/Languages/zh-cn.xaml deleted file mode 100644 index 009fd976c..000000000 --- a/Plugins/Flow.Launcher.Plugin.PluginManagement/Languages/zh-cn.xaml +++ /dev/null @@ -1,8 +0,0 @@ - - - Flow Launcher插件管理 - 安装/卸载/更新Flow Launcher插件 - - \ No newline at end of file diff --git a/Plugins/Flow.Launcher.Plugin.PluginManagement/Languages/zh-tw.xaml b/Plugins/Flow.Launcher.Plugin.PluginManagement/Languages/zh-tw.xaml deleted file mode 100644 index c93d740f1..000000000 --- a/Plugins/Flow.Launcher.Plugin.PluginManagement/Languages/zh-tw.xaml +++ /dev/null @@ -1,8 +0,0 @@ - - - Flow Launcher 外掛管理 - 安裝/解除安裝/更新 Flow Launcher 外掛 - - diff --git a/Plugins/Flow.Launcher.Plugin.PluginManagement/Main.cs b/Plugins/Flow.Launcher.Plugin.PluginManagement/Main.cs deleted file mode 100644 index e1b631517..000000000 --- a/Plugins/Flow.Launcher.Plugin.PluginManagement/Main.cs +++ /dev/null @@ -1,258 +0,0 @@ -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Net; -using System.Text; -using System.Threading; -using System.Threading.Tasks; -using System.Windows; -using Newtonsoft.Json; -using Flow.Launcher.Infrastructure; -using Flow.Launcher.Infrastructure.Http; -using Flow.Launcher.Infrastructure.Logger; - -namespace Flow.Launcher.Plugin.PluginManagement -{ - public class Main : IPlugin, IPluginI18n - { - private static string APIBASE = "http://api.wox.one"; - private static string pluginSearchUrl = APIBASE + "/plugin/search/"; - private const string ListCommand = "list"; - private const string InstallCommand = "install"; - private const string UninstallCommand = "uninstall"; - private PluginInitContext context; - - public List Query(Query query) - { - List results = new List(); - - if (string.IsNullOrEmpty(query.Search)) - { - results.Add(ResultForListCommandAutoComplete(query)); - results.Add(ResultForInstallCommandAutoComplete(query)); - results.Add(ResultForUninstallCommandAutoComplete(query)); - return results; - } - - string command = query.FirstSearch.ToLower(); - if (string.IsNullOrEmpty(command)) return results; - - if (command == ListCommand) - { - return ResultForListInstalledPlugins(); - } - if (command == UninstallCommand) - { - return ResultForUnInstallPlugin(query); - } - if (command == InstallCommand) - { - return ResultForInstallPlugin(query); - } - - if (InstallCommand.Contains(command)) - { - results.Add(ResultForInstallCommandAutoComplete(query)); - } - if (UninstallCommand.Contains(command)) - { - results.Add(ResultForUninstallCommandAutoComplete(query)); - } - if (ListCommand.Contains(command)) - { - results.Add(ResultForListCommandAutoComplete(query)); - } - - return results; - } - - private Result ResultForListCommandAutoComplete(Query query) - { - string title = ListCommand; - string subtitle = "list installed plugins"; - return ResultForCommand(query, ListCommand, title, subtitle); - } - - private Result ResultForInstallCommandAutoComplete(Query query) - { - string title = $"{InstallCommand} "; - string subtitle = "list installed plugins"; - return ResultForCommand(query, InstallCommand, title, subtitle); - } - - private Result ResultForUninstallCommandAutoComplete(Query query) - { - string title = $"{UninstallCommand} "; - string subtitle = "list installed plugins"; - return ResultForCommand(query, UninstallCommand, title, subtitle); - } - - private Result ResultForCommand(Query query, string command, string title, string subtitle) - { - const string seperater = Plugin.Query.TermSeperater; - var result = new Result - { - Title = title, - IcoPath = "Images\\plugin.png", - SubTitle = subtitle, - Action = e => - { - context.API.ChangeQuery($"{query.ActionKeyword}{seperater}{command}{seperater}"); - return false; - } - }; - return result; - } - - private List ResultForInstallPlugin(Query query) - { - List results = new List(); - string pluginName = query.SecondSearch; - if (string.IsNullOrEmpty(pluginName)) return results; - string json; - try - { - json = Http.Get(pluginSearchUrl + pluginName).Result; - } - catch (WebException e) - { - //todo happlebao add option in log to decide give user prompt or not - context.API.ShowMsg("PluginManagement.ResultForInstallPlugin: Can't connect to Wox plugin website, check your conenction"); - Log.Exception("|PluginManagement.ResultForInstallPlugin|Can't connect to Wox plugin website, check your conenction", e); - return new List(); - } - List searchedPlugins; - try - { - searchedPlugins = JsonConvert.DeserializeObject>(json); - } - catch (JsonSerializationException e) - { - context.API.ShowMsg("PluginManagement.ResultForInstallPlugin: Coundn't parse api search results, Please update your Flow Launcher!"); - Log.Exception("|PluginManagement.ResultForInstallPlugin|Coundn't parse api search results, Please update your Flow Launcher!", e); - return results; - } - - foreach (FlowLauncherPluginResult r in searchedPlugins) - { - FlowLauncherPluginResult r1 = r; - results.Add(new Result - { - Title = r.name, - SubTitle = r.description, - IcoPath = "Images\\plugin.png", - TitleHighlightData = StringMatcher.FuzzySearch(query.SecondSearch, r.name).MatchData, - SubTitleHighlightData = StringMatcher.FuzzySearch(query.SecondSearch, r.description).MatchData, - Action = c => - { - MessageBoxResult result = MessageBox.Show("Are you sure you wish to install the \'" + r.name + "\' plugin", - "Install plugin", MessageBoxButton.YesNo); - - if (result == MessageBoxResult.Yes) - { - string folder = Path.Combine(Path.GetTempPath(), "FlowLauncherPluginDownload"); - if (!Directory.Exists(folder)) Directory.CreateDirectory(folder); - string filePath = Path.Combine(folder, Guid.NewGuid().ToString() + ".flowlauncher"); - - string pluginUrl = APIBASE + "/media/" + r1.plugin_file; - - try - { - Http.Download(pluginUrl, filePath); - } - catch (WebException e) - { - context.API.ShowMsg($"PluginManagement.ResultForInstallPlugin: download failed for <{r.name}>"); - Log.Exception($"|PluginManagement.ResultForInstallPlugin|download failed for <{r.name}>", e); - return false; - } - context.API.InstallPlugin(filePath); - } - return false; - } - }); - } - return results; - } - - private List ResultForUnInstallPlugin(Query query) - { - List results = new List(); - List allInstalledPlugins = context.API.GetAllPlugins().Select(o => o.Metadata).ToList(); - if (!string.IsNullOrEmpty(query.SecondSearch)) - { - allInstalledPlugins = - allInstalledPlugins.Where(o => o.Name.ToLower().Contains(query.SecondSearch.ToLower())).ToList(); - } - - foreach (PluginMetadata plugin in allInstalledPlugins) - { - results.Add(new Result - { - Title = plugin.Name, - SubTitle = plugin.Description, - IcoPath = plugin.IcoPath, - TitleHighlightData = StringMatcher.FuzzySearch(query.SecondSearch, plugin.Name).MatchData, - SubTitleHighlightData = StringMatcher.FuzzySearch(query.SecondSearch, plugin.Description).MatchData, - Action = e => - { - UnInstallPlugin(plugin); - return false; - } - }); - } - return results; - } - - private void UnInstallPlugin(PluginMetadata plugin) - { - string content = $"Do you want to uninstall following plugin?{Environment.NewLine}{Environment.NewLine}" + - $"Name: {plugin.Name}{Environment.NewLine}" + - $"Version: {plugin.Version}{Environment.NewLine}" + - $"Author: {plugin.Author}"; - if (MessageBox.Show(content, "Flow Launcher", MessageBoxButton.YesNo) == MessageBoxResult.Yes) - { - File.Create(Path.Combine(plugin.PluginDirectory, "NeedDelete.txt")).Close(); - var result = MessageBox.Show($"You have uninstalled plugin {plugin.Name} successfully.{Environment.NewLine}" + - "Restart Flow Launcher to take effect?", - "Install plugin", MessageBoxButton.YesNo, MessageBoxImage.Question); - if (result == MessageBoxResult.Yes) - { - context.API.RestartApp(); - } - } - } - - private List ResultForListInstalledPlugins() - { - List results = new List(); - foreach (PluginMetadata plugin in context.API.GetAllPlugins().Select(o => o.Metadata)) - { - string actionKeywordString = string.Join(" or ", plugin.ActionKeywords.ToArray()); - results.Add(new Result - { - Title = $"{plugin.Name} - Action Keywords: {actionKeywordString}", - SubTitle = plugin.Description, - IcoPath = plugin.IcoPath - }); - } - return results; - } - - public void Init(PluginInitContext context) - { - this.context = context; - } - - public string GetTranslatedPluginTitle() - { - return context.API.GetTranslation("flowlauncher_plugin_plugin_management_plugin_name"); - } - - public string GetTranslatedPluginDescription() - { - return context.API.GetTranslation("flowlauncher_plugin_plugin_management_plugin_description"); - } - } -} diff --git a/Plugins/Flow.Launcher.Plugin.PluginManagement/plugin.json b/Plugins/Flow.Launcher.Plugin.PluginManagement/plugin.json deleted file mode 100644 index 7b8262f79..000000000 --- a/Plugins/Flow.Launcher.Plugin.PluginManagement/plugin.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "ID": "D2D2C23B084D422DB66FE0C79D6C2A6A", - "ActionKeyword": "wpm", - "Name": "Plugin Management", - "Description": "Install/Remove/Update Flow Launcher plugins", - "Author": "qianlifeng", - "Version": "1.1.1", - "Language": "csharp", - "Website": "https://github.com/Flow-Launcher/Flow.Launcher", - "ExecuteFileName": "Flow.Launcher.Plugin.PluginManagement.dll", - "IcoPath": "Images\\plugin.png" -} From c4b27421985f183329676f655341d1fd20f408c4 Mon Sep 17 00:00:00 2001 From: Jeremy Wu Date: Fri, 11 Dec 2020 07:45:01 +1100 Subject: [PATCH 148/176] add translation method for messages --- .../Languages/en.xaml | 8 ++- .../PluginsManager.cs | 50 +++++++++---------- 2 files changed, 31 insertions(+), 27 deletions(-) diff --git a/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/en.xaml b/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/en.xaml index 01a9052ed..fc13f0c2f 100644 --- a/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/en.xaml +++ b/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/en.xaml @@ -6,7 +6,13 @@ Downloading plugin Please wait... Successfully downloaded - Do you want to uninstall the following plugin? + Do you want to uninstall the following plugin?{0}{1}{2} by {3} + Do you want to install the following plugin?{0}{1}{2} by {3} + Plugin Install + Plugin Uninstall + Install failed: unable to find the plugin.json metadata file from the new plugin + You have installed plugin {0} successfully.{1}Would you like to restart Flow Launcher to take effect? + You have uninstalled plugin {0} successfully.{1}Would you like to restart Flow Launcher to take effect? diff --git a/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs b/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs index 776c01144..6bfd246cd 100644 --- a/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs +++ b/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs @@ -24,28 +24,26 @@ namespace Flow.Launcher.Plugin.PluginsManager } internal void InstallOrUpdate(UserPlugin plugin) { - if (PluginExists(plugin.ID)) + if (PluginExists(plugin.ID)) { - var updateMessage = $"Do you want to update following plugin?{Environment.NewLine}{Environment.NewLine}" + - $"Name: {plugin.Name}{Environment.NewLine}" + - $"{Environment.NewLine}New Version: {plugin.Version}" + - $"{Environment.NewLine}Author: {plugin.Author}"; - - throw new NotImplementedException(); + Context.API.ShowMsg("Plugin already installed"); + return; } - var message = $"Do you want to install following plugin?{Environment.NewLine}{Environment.NewLine}" + - $"Name: {plugin.Name}{Environment.NewLine}" + - $"Version: {plugin.Version}{Environment.NewLine}" + - $"Author: {plugin.Author}"; + var message = string.Format(Context.API.GetTranslation("plugin_pluginsmanager_install_prompt"), + Environment.NewLine, Environment.NewLine, + plugin.Name, plugin.Author); - if(MessageBox.Show(message, "Install plugin", MessageBoxButton.YesNo) == MessageBoxResult.No) + if(MessageBox.Show(message, Context.API.GetTranslation("plugin_pluginsmanager_install_title"), MessageBoxButton.YesNo) == MessageBoxResult.No) return; var filePath = Path.Combine(DataLocation.PluginsDirectory, $"{plugin.Name}{plugin.ID}.zip"); try { + Context.API.ShowMsg(Context.API.GetTranslation("plugin_pluginsmanager_downloading_plugin"), + Context.API.GetTranslation("plugin_pluginsmanager_please_wait")); + Utilities.Download(plugin.UrlDownload, filePath); Context.API.ShowMsg(Context.API.GetTranslation("plugin_pluginsmanager_downloading_plugin"), @@ -103,8 +101,6 @@ namespace Flow.Launcher.Plugin.PluginsManager IcoPath = icoPath, Action = e => { - Context.API.ShowMsg(Context.API.GetTranslation("plugin_pluginsmanager_downloading_plugin"), - Context.API.GetTranslation("plugin_pluginsmanager_please_wait")); Application.Current.MainWindow.Hide(); InstallOrUpdate(x); @@ -142,7 +138,7 @@ namespace Flow.Launcher.Plugin.PluginsManager if (string.IsNullOrEmpty(metadataJsonFilePath) || string.IsNullOrEmpty(pluginFolderPath)) { - MessageBox.Show("Install failed: unable to find the plugin.json metadata file from the new plugin"); + MessageBox.Show(Context.API.GetTranslation("plugin_pluginsmanager_install_errormetadatafile")); return; } @@ -150,9 +146,10 @@ namespace Flow.Launcher.Plugin.PluginsManager Directory.Move(pluginFolderPath, newPluginPath); - if (MessageBox.Show($"You have installed plugin {plugin.Name} successfully.{Environment.NewLine}" + - "Restart Flow Launcher to take effect?", - "Install plugin", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes) + if (MessageBox.Show(string.Format(Context.API.GetTranslation("plugin_pluginsmanager_install_successandrestart"), + plugin.Name, Environment.NewLine), + Context.API.GetTranslation("plugin_pluginsmanager_install_title"), + MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes) Context.API.RestartApp(); } @@ -181,18 +178,19 @@ namespace Flow.Launcher.Plugin.PluginsManager private void Uninstall(PluginMetadata plugin) { - string message = Context.API.GetTranslation("plugin_pluginsmanager_uninstall_prompt")+ - $"{Environment.NewLine}{Environment.NewLine}" + - $"{plugin.Name} by {plugin.Author}"; + string message = string.Format(Context.API.GetTranslation("plugin_pluginsmanager_uninstall_prompt"), + Environment.NewLine, Environment.NewLine, + plugin.Name, plugin.Author); - if (MessageBox.Show(message, "Flow Launcher", MessageBoxButton.YesNo) == MessageBoxResult.Yes) + if (MessageBox.Show(message, Context.API.GetTranslation("plugin_pluginsmanager_uninstall_title"), + MessageBoxButton.YesNo) == MessageBoxResult.Yes) { using var _ = File.CreateText(Path.Combine(plugin.PluginDirectory, "NeedDelete.txt")); - var result = MessageBox.Show($"You have uninstalled plugin {plugin.Name} successfully.{Environment.NewLine}" + - "Restart Flow Launcher to take effect?", - "Install plugin", MessageBoxButton.YesNo, MessageBoxImage.Question); - if (result == MessageBoxResult.Yes) + if (MessageBox.Show(string.Format(Context.API.GetTranslation("plugin_pluginsmanager_uninstall_successandrestart"), + plugin.Name, Environment.NewLine), + Context.API.GetTranslation("plugin_pluginsmanager_uninstall_title"), + MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes) Context.API.RestartApp(); } } From aaa938191ad3e69aff5ae9de1daabfc69b5a9b74 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=98=E9=9F=AC=20=E5=BC=A0?= Date: Fri, 11 Dec 2020 22:08:46 +0800 Subject: [PATCH 149/176] Manually add sapce to only the cinese character and the surrounding. --- .../PinyinAlphabet.cs | 42 +++++++++++++++++-- 1 file changed, 38 insertions(+), 4 deletions(-) diff --git a/Flow.Launcher.Infrastructure/PinyinAlphabet.cs b/Flow.Launcher.Infrastructure/PinyinAlphabet.cs index 9396226c7..d35250398 100644 --- a/Flow.Launcher.Infrastructure/PinyinAlphabet.cs +++ b/Flow.Launcher.Infrastructure/PinyinAlphabet.cs @@ -9,6 +9,7 @@ using Flow.Launcher.Infrastructure.Storage; using Flow.Launcher.Infrastructure.UserSettings; using ToolGood.Words.Pinyin; using System.Threading.Tasks; +using Microsoft.AspNetCore.Localization; namespace Flow.Launcher.Infrastructure { @@ -36,10 +37,43 @@ namespace Flow.Launcher.Infrastructure { if (WordsHelper.HasChinese(content)) { - var result = WordsHelper.GetPinyin(content, " "); - result = GetFirstPinyinChar(result) + result; - _pinyinCache[content] = result; - return result; + var resultList = WordsHelper.GetPinyinList(content); + + List chineseIndexs = new List(); + + for (int i = 0; i < content.Length; i++) + { + if (resultList[i].Length != 1 || !(resultList[i][0] == content[i])) + chineseIndexs.Add(i); + } + StringBuilder resultBuilder = new StringBuilder(); + resultBuilder.Append(string.Concat(resultList.Where((r, i) => chineseIndexs.Contains(i)).Select(s => s.First()))); + resultBuilder.Append(' '); + + int currentChineseIndex = 0; + int lastChineseIndex = -1; + for (int i = 0; i < resultList.Length; i++) + { + if (currentChineseIndex < chineseIndexs.Count && chineseIndexs[currentChineseIndex] == i) + { + resultBuilder.Append(' '); + + resultBuilder.Append(resultList[i]); + currentChineseIndex++; + lastChineseIndex = i; + } + else + { + if (i == lastChineseIndex + 1) + { + resultBuilder.Append(' '); + } + resultBuilder.Append(resultList[i]); + } + } + + + return _pinyinCache[content] = resultBuilder.ToString(); } else { From d64b4b5b0c27918281975f2260f8bc2d1d50c0d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=98=E9=9F=AC=20=E5=BC=A0?= Date: Fri, 11 Dec 2020 22:20:09 +0800 Subject: [PATCH 150/176] Change the way getting acronym --- Flow.Launcher.Infrastructure/PinyinAlphabet.cs | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/Flow.Launcher.Infrastructure/PinyinAlphabet.cs b/Flow.Launcher.Infrastructure/PinyinAlphabet.cs index d35250398..59bd897be 100644 --- a/Flow.Launcher.Infrastructure/PinyinAlphabet.cs +++ b/Flow.Launcher.Infrastructure/PinyinAlphabet.cs @@ -47,7 +47,11 @@ namespace Flow.Launcher.Infrastructure chineseIndexs.Add(i); } StringBuilder resultBuilder = new StringBuilder(); - resultBuilder.Append(string.Concat(resultList.Where((r, i) => chineseIndexs.Contains(i)).Select(s => s.First()))); + + foreach (var chineseIndex in chineseIndexs) + { + resultBuilder.Append(resultList[chineseIndex].First()); + } resultBuilder.Append(' '); int currentChineseIndex = 0; @@ -90,10 +94,5 @@ namespace Flow.Launcher.Infrastructure return content; } } - - private string GetFirstPinyinChar(string content) - { - return string.Concat(content.Split(' ').Select(x => x.First())); - } } } \ No newline at end of file From 64d67c1aa58c112d457d5997b4c8c0ce17855e4e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=98=E9=9F=AC=20=E5=BC=A0?= Date: Sat, 12 Dec 2020 14:55:41 +0800 Subject: [PATCH 151/176] Update PinyinAlphabet.cs optimize Chinese character check logic Co-Authored-By: ToolGood --- .../PinyinAlphabet.cs | 35 ++++++++----------- 1 file changed, 15 insertions(+), 20 deletions(-) diff --git a/Flow.Launcher.Infrastructure/PinyinAlphabet.cs b/Flow.Launcher.Infrastructure/PinyinAlphabet.cs index 59bd897be..d5271437c 100644 --- a/Flow.Launcher.Infrastructure/PinyinAlphabet.cs +++ b/Flow.Launcher.Infrastructure/PinyinAlphabet.cs @@ -39,37 +39,32 @@ namespace Flow.Launcher.Infrastructure { var resultList = WordsHelper.GetPinyinList(content); - List chineseIndexs = new List(); - - for (int i = 0; i < content.Length; i++) - { - if (resultList[i].Length != 1 || !(resultList[i][0] == content[i])) - chineseIndexs.Add(i); - } StringBuilder resultBuilder = new StringBuilder(); + - foreach (var chineseIndex in chineseIndexs) - { - resultBuilder.Append(resultList[chineseIndex].First()); - } - resultBuilder.Append(' '); - - int currentChineseIndex = 0; - int lastChineseIndex = -1; for (int i = 0; i < resultList.Length; i++) { - if (currentChineseIndex < chineseIndexs.Count && chineseIndexs[currentChineseIndex] == i) + if (content[i] >= 0x3400 && content[i] <= 0x9FD5) + resultBuilder.Append(resultList[i].First()); + } + + resultBuilder.Append(' '); + + bool pre = false; + + for (int i = 0; i < resultList.Length; i++) + { + if (content[i] >= 0x3400 && content[i] <= 0x9FD5) { resultBuilder.Append(' '); - resultBuilder.Append(resultList[i]); - currentChineseIndex++; - lastChineseIndex = i; + pre = true; } else { - if (i == lastChineseIndex + 1) + if (pre) { + pre = false; resultBuilder.Append(' '); } resultBuilder.Append(resultList[i]); From c8b251d63ac0bdac58ba2fc1221566d88e4488e9 Mon Sep 17 00:00:00 2001 From: Jeremy Wu Date: Mon, 14 Dec 2020 08:41:18 +1100 Subject: [PATCH 152/176] use Http.Get from Infrastructure --- Flow.Launcher.Infrastructure/Http/Http.cs | 18 ++++------ .../Models/PluginsManifest.cs | 33 +++++++++++-------- 2 files changed, 25 insertions(+), 26 deletions(-) diff --git a/Flow.Launcher.Infrastructure/Http/Http.cs b/Flow.Launcher.Infrastructure/Http/Http.cs index b7d274205..1d5f240e1 100644 --- a/Flow.Launcher.Infrastructure/Http/Http.cs +++ b/Flow.Launcher.Infrastructure/Http/Http.cs @@ -66,18 +66,12 @@ namespace Flow.Launcher.Infrastructure.Http response = response.NonNull(); var stream = response.GetResponseStream().NonNull(); - using (var reader = new StreamReader(stream, Encoding.GetEncoding(encoding))) - { - var content = await reader.ReadToEndAsync(); - if (response.StatusCode == HttpStatusCode.OK) - { - return content; - } - else - { - throw new HttpRequestException($"Error code <{response.StatusCode}> with content <{content}> returned from <{url}>"); - } - } + using var reader = new StreamReader(stream, Encoding.GetEncoding(encoding)); + var content = await reader.ReadToEndAsync(); + if (response.StatusCode != HttpStatusCode.OK) + throw new HttpRequestException($"Error code <{response.StatusCode}> with content <{content}> returned from <{url}>"); + + return content; } } } \ No newline at end of file diff --git a/Plugins/Flow.Launcher.Plugin.PluginsManager/Models/PluginsManifest.cs b/Plugins/Flow.Launcher.Plugin.PluginsManager/Models/PluginsManifest.cs index 134ad7bd0..290221710 100644 --- a/Plugins/Flow.Launcher.Plugin.PluginsManager/Models/PluginsManifest.cs +++ b/Plugins/Flow.Launcher.Plugin.PluginsManager/Models/PluginsManifest.cs @@ -3,8 +3,7 @@ using Flow.Launcher.Infrastructure.Logger; using Newtonsoft.Json; using System; using System.Collections.Generic; -using System.Net; -using System.Text; +using System.Threading.Tasks; namespace Flow.Launcher.Plugin.PluginsManager.Models { @@ -12,24 +11,30 @@ namespace Flow.Launcher.Plugin.PluginsManager.Models { internal List UserPlugins { get; private set; } internal PluginsManifest() + { + DownloadManifest(); + } + + private void DownloadManifest() { var json = string.Empty; - - using (var wc = new WebClient { Proxy = Http.WebProxy() }) + try { - try - { - json = wc.DownloadString("https://raw.githubusercontent.com/Flow-Launcher/Flow.Launcher.PluginsManifest/main/plugins.json"); - } - catch (Exception e) - { - Log.Exception("|PluginManagement.GetManifest|Encountered error trying to download plugins manifest", e); + var t = Task.Run( + async () => + json = await Http.Get("https://raw.githubusercontent.com/Flow-Launcher/Flow.Launcher.PluginsManifest/main/plugins.json")); - UserPlugins = new List(); - } + t.Wait(); + + UserPlugins = JsonConvert.DeserializeObject>(json); + } + catch (Exception e) + { + Log.Exception("|PluginManagement.GetManifest|Encountered error trying to download plugins manifest", e); + + UserPlugins = new List(); } - UserPlugins = !string.IsNullOrEmpty(json) ? JsonConvert.DeserializeObject>(json) : new List(); } } } From ee0fc1ac478e3977fb22a81814334dd3f0775b3a Mon Sep 17 00:00:00 2001 From: Jeremy Wu Date: Mon, 14 Dec 2020 08:42:42 +1100 Subject: [PATCH 153/176] fix typo --- Plugins/Flow.Launcher.Plugin.PluginsManager/Utilities.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Plugins/Flow.Launcher.Plugin.PluginsManager/Utilities.cs b/Plugins/Flow.Launcher.Plugin.PluginsManager/Utilities.cs index 4c82a855b..87c368f7f 100644 --- a/Plugins/Flow.Launcher.Plugin.PluginsManager/Utilities.cs +++ b/Plugins/Flow.Launcher.Plugin.PluginsManager/Utilities.cs @@ -45,7 +45,7 @@ namespace Flow.Launcher.Plugin.PluginsManager var unzippedFolderCount = Directory.GetDirectories(unzippedParentFolderPath).Length; var unzippedFilesCount = Directory.GetFiles(unzippedParentFolderPath).Length; - // addjust path depending on how the plugin is zipped up + // adjust path depending on how the plugin is zipped up // the recommended should be to zip up the folder not the contents if (unzippedFolderCount == 1 && unzippedFilesCount == 0) // folder is zipped up, unzipped plugin directory structure: tempPath/unzippedParentPluginFolder/pluginFolderName/ From 49b657b84ea0fa8147060106ee4dd14780c294fd Mon Sep 17 00:00:00 2001 From: Jeremy Wu Date: Mon, 14 Dec 2020 08:48:55 +1100 Subject: [PATCH 154/176] use Infrastructure.Http.Get to download plugins --- .../Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs | 3 ++- Plugins/Flow.Launcher.Plugin.PluginsManager/Utilities.cs | 7 ------- 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs b/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs index 6bfd246cd..527ce99f7 100644 --- a/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs +++ b/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs @@ -1,4 +1,5 @@ using Flow.Launcher.Infrastructure; +using Flow.Launcher.Infrastructure.Http; using Flow.Launcher.Infrastructure.Logger; using Flow.Launcher.Infrastructure.UserSettings; using Flow.Launcher.Plugin.PluginsManager.Models; @@ -44,7 +45,7 @@ namespace Flow.Launcher.Plugin.PluginsManager Context.API.ShowMsg(Context.API.GetTranslation("plugin_pluginsmanager_downloading_plugin"), Context.API.GetTranslation("plugin_pluginsmanager_please_wait")); - Utilities.Download(plugin.UrlDownload, filePath); + Http.Download(plugin.UrlDownload, filePath); Context.API.ShowMsg(Context.API.GetTranslation("plugin_pluginsmanager_downloading_plugin"), Context.API.GetTranslation("plugin_pluginsmanager_download_success")); diff --git a/Plugins/Flow.Launcher.Plugin.PluginsManager/Utilities.cs b/Plugins/Flow.Launcher.Plugin.PluginsManager/Utilities.cs index 87c368f7f..2853ffc9e 100644 --- a/Plugins/Flow.Launcher.Plugin.PluginsManager/Utilities.cs +++ b/Plugins/Flow.Launcher.Plugin.PluginsManager/Utilities.cs @@ -57,12 +57,5 @@ namespace Flow.Launcher.Plugin.PluginsManager return string.Empty; } - - internal static void Download(string downloadUrl, string toFilePath) - { - using var wc = new WebClient { Proxy = Http.WebProxy() }; - - wc.DownloadFile(downloadUrl, toFilePath); - } } } From b8a3ad8c427072aa82a51cee64aef4fa8376e662 Mon Sep 17 00:00:00 2001 From: Jeremy Wu Date: Mon, 14 Dec 2020 13:46:37 +1100 Subject: [PATCH 155/176] change foreach to select --- .../PluginsManager.cs | 62 +++++++++---------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs b/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs index 527ce99f7..7d729193b 100644 --- a/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs +++ b/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs @@ -90,24 +90,24 @@ namespace Flow.Launcher.Plugin.PluginsManager internal List RequestInstallOrUpdate(string searchName) { - var results = new List(); - - pluginsManifest + var results = + pluginsManifest .UserPlugins - .ForEach(x => results.Add( - new Result + .Select(x => + new Result + { + Title = $"{x.Name} by {x.Author}", + SubTitle = x.Description, + IcoPath = icoPath, + Action = e => { - Title = $"{x.Name} by {x.Author}", - SubTitle = x.Description, - IcoPath = icoPath, - Action = e => - { - Application.Current.MainWindow.Hide(); - InstallOrUpdate(x); + Application.Current.MainWindow.Hide(); + InstallOrUpdate(x); - return true; - } - })); + return true; + } + }) + .ToList(); return Search(results, searchName); } @@ -156,23 +156,23 @@ namespace Flow.Launcher.Plugin.PluginsManager internal List RequestUninstall(string search) { - var results = new List(); + var results= Context.API + .GetAllPlugins() + .Select(x => + new Result + { + Title = $"{x.Metadata.Name} by {x.Metadata.Author}", + SubTitle = x.Metadata.Description, + IcoPath = x.Metadata.IcoPath, + Action = e => + { + Application.Current.MainWindow.Hide(); + Uninstall(x.Metadata); - Context.API.GetAllPlugins() - .ForEach(x => results.Add( - new Result - { - Title = $"{x.Metadata.Name} by {x.Metadata.Author}", - SubTitle = x.Metadata.Description, - IcoPath = x.Metadata.IcoPath, - Action = e => - { - Application.Current.MainWindow.Hide(); - Uninstall(x.Metadata); - - return true; - } - })); + return true; + } + }) + .ToList(); return Search(results, search); } From 5d7102eadb92ea117a26ae50fb09b275e5b9f3f6 Mon Sep 17 00:00:00 2001 From: Jeremy Wu Date: Mon, 14 Dec 2020 14:11:53 +1100 Subject: [PATCH 156/176] remove select --- Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs | 1 - 1 file changed, 1 deletion(-) diff --git a/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs b/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs index 7d729193b..8f1b86eef 100644 --- a/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs +++ b/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs @@ -84,7 +84,6 @@ namespace Flow.Launcher.Plugin.PluginsManager return results .Where(x => StringMatcher.FuzzySearch(searchName, x.Title).IsSearchPrecisionScoreMet()) - .Select(x => x) .ToList(); } From 8a86bf749665574752d4c022c0273a9fd203ab21 Mon Sep 17 00:00:00 2001 From: Jeremy Wu Date: Mon, 14 Dec 2020 19:14:50 +1100 Subject: [PATCH 157/176] add fuzzy search score for ordering --- .../PluginsManager.cs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs b/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs index 8f1b86eef..77672e05f 100644 --- a/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs +++ b/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs @@ -83,7 +83,14 @@ namespace Flow.Launcher.Plugin.PluginsManager return results; return results - .Where(x => StringMatcher.FuzzySearch(searchName, x.Title).IsSearchPrecisionScoreMet()) + .Where(x => + { + var matchResult = StringMatcher.FuzzySearch(searchName, x.Title); + if (matchResult.IsSearchPrecisionScoreMet()) + x.Score = matchResult.Score; + + return matchResult.IsSearchPrecisionScoreMet(); + }) .ToList(); } From d69337c17aec0a0408d374223f90233ced74e719 Mon Sep 17 00:00:00 2001 From: Jeremy Wu Date: Mon, 14 Dec 2020 21:05:32 +1100 Subject: [PATCH 158/176] add uninstall autocomplete & move uninstall hotkey to settings --- .../Main.cs | 11 ++-- .../PluginsManager.cs | 58 ++++++++++++++----- .../Settings.cs | 11 ++++ 3 files changed, 60 insertions(+), 20 deletions(-) create mode 100644 Plugins/Flow.Launcher.Plugin.PluginsManager/Settings.cs diff --git a/Plugins/Flow.Launcher.Plugin.PluginsManager/Main.cs b/Plugins/Flow.Launcher.Plugin.PluginsManager/Main.cs index f763826a8..58ec5005f 100644 --- a/Plugins/Flow.Launcher.Plugin.PluginsManager/Main.cs +++ b/Plugins/Flow.Launcher.Plugin.PluginsManager/Main.cs @@ -37,14 +37,13 @@ namespace Flow.Launcher.Plugin.PluginsManager public List Query(Query query) { - var search = query.Search; + var search = query.Search.ToLower(); - var uninstallCmd = "uninstall"; + var pluginManager = new PluginsManager(Context, Settings); - var pluginManager = new PluginsManager(Context); - - if (search.ToLower().StartsWith($"{uninstallCmd} ") || search.ToLower() == uninstallCmd) - return pluginManager.RequestUninstall(search.Replace(uninstallCmd, string.Empty).Trim()); + if (!string.IsNullOrEmpty(search) + && ($"{Settings.UninstallHotkey} ".StartsWith(search) || search.StartsWith($"{Settings.UninstallHotkey} "))) + return pluginManager.RequestUninstall(search); return pluginManager.RequestInstallOrUpdate(search); } diff --git a/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs b/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs index 77672e05f..fc4abc800 100644 --- a/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs +++ b/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs @@ -14,32 +14,36 @@ namespace Flow.Launcher.Plugin.PluginsManager internal class PluginsManager { private readonly PluginsManifest pluginsManifest; + private PluginInitContext Context { get; set; } + private Settings Settings { get; set; } + private readonly string icoPath = "Images\\pluginsmanager.png"; - internal PluginsManager(PluginInitContext context) + internal PluginsManager(PluginInitContext context, Settings settings) { pluginsManifest = new PluginsManifest(); Context = context; + Settings = settings; } internal void InstallOrUpdate(UserPlugin plugin) { - if (PluginExists(plugin.ID)) + if (PluginExists(plugin.ID)) { Context.API.ShowMsg("Plugin already installed"); return; } - var message = string.Format(Context.API.GetTranslation("plugin_pluginsmanager_install_prompt"), - Environment.NewLine, Environment.NewLine, + var message = string.Format(Context.API.GetTranslation("plugin_pluginsmanager_install_prompt"), + Environment.NewLine, Environment.NewLine, plugin.Name, plugin.Author); - if(MessageBox.Show(message, Context.API.GetTranslation("plugin_pluginsmanager_install_title"), MessageBoxButton.YesNo) == MessageBoxResult.No) + if (MessageBox.Show(message, Context.API.GetTranslation("plugin_pluginsmanager_install_title"), MessageBoxButton.YesNo) == MessageBoxResult.No) return; var filePath = Path.Combine(DataLocation.PluginsDirectory, $"{plugin.Name}{plugin.ID}.zip"); - + try { Context.API.ShowMsg(Context.API.GetTranslation("plugin_pluginsmanager_downloading_plugin"), @@ -89,14 +93,14 @@ namespace Flow.Launcher.Plugin.PluginsManager if (matchResult.IsSearchPrecisionScoreMet()) x.Score = matchResult.Score; - return matchResult.IsSearchPrecisionScoreMet(); + return matchResult.IsSearchPrecisionScoreMet(); }) .ToList(); } internal List RequestInstallOrUpdate(string searchName) { - var results = + var results = pluginsManifest .UserPlugins .Select(x => @@ -122,10 +126,10 @@ namespace Flow.Launcher.Plugin.PluginsManager { if (!File.Exists(downloadedFilePath)) return; - + var tempFolderPath = Path.Combine(Path.GetTempPath(), "flowlauncher"); var tempFolderPluginPath = Path.Combine(tempFolderPath, "plugin"); - + if (Directory.Exists(tempFolderPath)) Directory.Delete(tempFolderPath, true); @@ -150,18 +154,44 @@ namespace Flow.Launcher.Plugin.PluginsManager } string newPluginPath = Path.Combine(DataLocation.PluginsDirectory, $"{plugin.Name}{plugin.ID}"); - + Directory.Move(pluginFolderPath, newPluginPath); - if (MessageBox.Show(string.Format(Context.API.GetTranslation("plugin_pluginsmanager_install_successandrestart"), + if (MessageBox.Show(string.Format(Context.API.GetTranslation("plugin_pluginsmanager_install_successandrestart"), plugin.Name, Environment.NewLine), - Context.API.GetTranslation("plugin_pluginsmanager_install_title"), + Context.API.GetTranslation("plugin_pluginsmanager_install_title"), MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes) Context.API.RestartApp(); } internal List RequestUninstall(string search) { + if (!string.IsNullOrEmpty(search) + && Settings.UninstallHotkey.StartsWith(search) + && (Settings.UninstallHotkey != search || !search.StartsWith(Settings.UninstallHotkey))) + { + return + new List + { + new Result + { + Title = "Uninstall", + IcoPath = icoPath, + SubTitle = "Select a plugin to uninstall", + Action = e => + { + Context + .API + .ChangeQuery($"{Context.CurrentPluginMetadata.ActionKeywords.FirstOrDefault()} {Settings.UninstallHotkey} "); + + return false; + } + } + }; + } + + var uninstallSearch = search.Replace(Settings.UninstallHotkey, string.Empty).TrimStart(); + var results= Context.API .GetAllPlugins() .Select(x => @@ -180,7 +210,7 @@ namespace Flow.Launcher.Plugin.PluginsManager }) .ToList(); - return Search(results, search); + return Search(results, uninstallSearch); } private void Uninstall(PluginMetadata plugin) diff --git a/Plugins/Flow.Launcher.Plugin.PluginsManager/Settings.cs b/Plugins/Flow.Launcher.Plugin.PluginsManager/Settings.cs new file mode 100644 index 000000000..0c647e6ae --- /dev/null +++ b/Plugins/Flow.Launcher.Plugin.PluginsManager/Settings.cs @@ -0,0 +1,11 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace Flow.Launcher.Plugin.PluginsManager +{ + internal class Settings + { + internal string UninstallHotkey { get; set; } = "uninstall"; + } +} From 4c773dbaa1842f15e4890139216637a83dacdcb2 Mon Sep 17 00:00:00 2001 From: Jeremy Wu Date: Mon, 14 Dec 2020 21:21:48 +1100 Subject: [PATCH 159/176] clean up, no code changes --- Flow.Launcher.Infrastructure/PinyinAlphabet.cs | 8 -------- 1 file changed, 8 deletions(-) diff --git a/Flow.Launcher.Infrastructure/PinyinAlphabet.cs b/Flow.Launcher.Infrastructure/PinyinAlphabet.cs index d5271437c..80fd12820 100644 --- a/Flow.Launcher.Infrastructure/PinyinAlphabet.cs +++ b/Flow.Launcher.Infrastructure/PinyinAlphabet.cs @@ -1,15 +1,10 @@ using System; using System.Collections.Concurrent; -using System.Collections.Generic; using System.Linq; using System.Text; using JetBrains.Annotations; -using Flow.Launcher.Infrastructure.Logger; -using Flow.Launcher.Infrastructure.Storage; using Flow.Launcher.Infrastructure.UserSettings; using ToolGood.Words.Pinyin; -using System.Threading.Tasks; -using Microsoft.AspNetCore.Localization; namespace Flow.Launcher.Infrastructure { @@ -28,7 +23,6 @@ namespace Flow.Launcher.Infrastructure _settings = settings ?? throw new ArgumentNullException(nameof(settings)); } - public string Translate(string content) { if (_settings.ShouldUsePinyin) @@ -40,7 +34,6 @@ namespace Flow.Launcher.Infrastructure var resultList = WordsHelper.GetPinyinList(content); StringBuilder resultBuilder = new StringBuilder(); - for (int i = 0; i < resultList.Length; i++) { @@ -71,7 +64,6 @@ namespace Flow.Launcher.Infrastructure } } - return _pinyinCache[content] = resultBuilder.ToString(); } else From 10dea22588894f6e57e1a81d5b8430f2dbc04b5b Mon Sep 17 00:00:00 2001 From: Jeremy Wu Date: Tue, 15 Dec 2020 07:17:19 +1100 Subject: [PATCH 160/176] add link to website in readme --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 94d59bb93..206f3f7d9 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,7 @@

- + + +

![Maintenance](https://img.shields.io/maintenance/yes/2020) From 24372eb76d5ddebdfa255adad791514c7d041bca Mon Sep 17 00:00:00 2001 From: Jeremy Wu Date: Tue, 15 Dec 2020 20:10:59 +1100 Subject: [PATCH 161/176] installation and uninstallation restart after done --- .../Languages/en.xaml | 6 ++--- .../PluginsManager.cs | 24 +++++++------------ 2 files changed, 10 insertions(+), 20 deletions(-) diff --git a/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/en.xaml b/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/en.xaml index fc13f0c2f..7f8557c28 100644 --- a/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/en.xaml +++ b/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/en.xaml @@ -6,13 +6,11 @@ Downloading plugin Please wait... Successfully downloaded - Do you want to uninstall the following plugin?{0}{1}{2} by {3} - Do you want to install the following plugin?{0}{1}{2} by {3} + {0} by {1} {2}{3}Would you like to uninstall this plugin? After the uninstallation Flow will automatically restart. + {0} by {1} {2}{3}Would you like to install this plugin? After the installation Flow will automatically restart. Plugin Install Plugin Uninstall Install failed: unable to find the plugin.json metadata file from the new plugin - You have installed plugin {0} successfully.{1}Would you like to restart Flow Launcher to take effect? - You have uninstalled plugin {0} successfully.{1}Would you like to restart Flow Launcher to take effect? diff --git a/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs b/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs index fc4abc800..c141916aa 100644 --- a/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs +++ b/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs @@ -36,8 +36,8 @@ namespace Flow.Launcher.Plugin.PluginsManager } var message = string.Format(Context.API.GetTranslation("plugin_pluginsmanager_install_prompt"), - Environment.NewLine, Environment.NewLine, - plugin.Name, plugin.Author); + plugin.Name, plugin.Author, + Environment.NewLine, Environment.NewLine); if (MessageBox.Show(message, Context.API.GetTranslation("plugin_pluginsmanager_install_title"), MessageBoxButton.YesNo) == MessageBoxResult.No) return; @@ -156,12 +156,8 @@ namespace Flow.Launcher.Plugin.PluginsManager string newPluginPath = Path.Combine(DataLocation.PluginsDirectory, $"{plugin.Name}{plugin.ID}"); Directory.Move(pluginFolderPath, newPluginPath); - - if (MessageBox.Show(string.Format(Context.API.GetTranslation("plugin_pluginsmanager_install_successandrestart"), - plugin.Name, Environment.NewLine), - Context.API.GetTranslation("plugin_pluginsmanager_install_title"), - MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes) - Context.API.RestartApp(); + + Context.API.RestartApp(); } internal List RequestUninstall(string search) @@ -216,19 +212,15 @@ namespace Flow.Launcher.Plugin.PluginsManager private void Uninstall(PluginMetadata plugin) { string message = string.Format(Context.API.GetTranslation("plugin_pluginsmanager_uninstall_prompt"), - Environment.NewLine, Environment.NewLine, - plugin.Name, plugin.Author); + plugin.Name, plugin.Author, + Environment.NewLine, Environment.NewLine); if (MessageBox.Show(message, Context.API.GetTranslation("plugin_pluginsmanager_uninstall_title"), MessageBoxButton.YesNo) == MessageBoxResult.Yes) { using var _ = File.CreateText(Path.Combine(plugin.PluginDirectory, "NeedDelete.txt")); - - if (MessageBox.Show(string.Format(Context.API.GetTranslation("plugin_pluginsmanager_uninstall_successandrestart"), - plugin.Name, Environment.NewLine), - Context.API.GetTranslation("plugin_pluginsmanager_uninstall_title"), - MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes) - Context.API.RestartApp(); + + Context.API.RestartApp(); } } } From 1fabbe9ead0ab6abc5dba845094b0d0ba5ddba2d Mon Sep 17 00:00:00 2001 From: Jeremy Wu Date: Tue, 15 Dec 2020 20:13:02 +1100 Subject: [PATCH 162/176] PluginsManager version bump --- Plugins/Flow.Launcher.Plugin.PluginsManager/plugin.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Plugins/Flow.Launcher.Plugin.PluginsManager/plugin.json b/Plugins/Flow.Launcher.Plugin.PluginsManager/plugin.json index 327011ac3..0353fffcc 100644 --- a/Plugins/Flow.Launcher.Plugin.PluginsManager/plugin.json +++ b/Plugins/Flow.Launcher.Plugin.PluginsManager/plugin.json @@ -6,7 +6,7 @@ "Name": "Plugins Manager", "Description": "Management of installing, uninstalling or updating Flow Launcher plugins", "Author": "Jeremy Wu", - "Version": "1.0.0", + "Version": "1.1.0", "Language": "csharp", "Website": "https://github.com/Flow-Launcher/Flow.Launcher", "ExecuteFileName": "Flow.Launcher.Plugin.PluginsManager.dll", From 006eac23d4ddad8d6a7ac7ba21d0c9bd3f06862f Mon Sep 17 00:00:00 2001 From: Zero Date: Tue, 15 Dec 2020 20:36:03 +0800 Subject: [PATCH 163/176] :page_facing_up: wox -> flow, update owner --- LICENSE | 46 +--------------------------------------------- README.md | 7 ------- attribution.md | 6 ++++++ 3 files changed, 7 insertions(+), 52 deletions(-) create mode 100644 attribution.md diff --git a/LICENSE b/LICENSE index b4ba8d542..8be14c31d 100644 --- a/LICENSE +++ b/LICENSE @@ -1,50 +1,6 @@ -FlowLauncher are licensed under the terms of the MIT license, reproduced below. - - -A. HISTORY OF THE SOFTWARE -========================== - -- Copyright (c) 2015-2019 Wox -- Copyright (c) 2019-2020+ Flow-Launcher - -Flow's roots came from a rebrand of the JJW24/Wox fork and WoX. -A big thank you and all credits to Bao, the author of WoX, -and its contrbutors for all the amazing work. -The JJW24/Wox fork started adding new changes on top of -main WoX repo's code base from release v1.3.524. -Flow is a continuation of the work from JJW24/Wox - - -B. FlowLauncher LICENSE -========================== - -The MIT License (MIT) - -Copyright (c) 2019-2020+ Flow-Launcher - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -C. Wox LICENSE -========================== - The MIT License (MIT) +Copyright (c) 2019 Flow-Launcher Copyright (c) 2015 Wox Permission is hereby granted, free of charge, to any person obtaining a copy of diff --git a/README.md b/README.md index 206f3f7d9..f0c08d8a0 100644 --- a/README.md +++ b/README.md @@ -80,10 +80,3 @@ Install .Net Core 3.1 SDK via Visual Studio installer or manually from [here](ht ## Documentation [Wiki](https://github.com/Flow-Launcher/Flow.Launcher/wiki) - -## A history of the flow -Flow's roots came from a rebrand of the [JJW24/Wox fork](https://github.com/jjw24/Wox/issues/156) and WoX. - -A big thank you and all credits to [Bao](https://github.com/bao-qian), the author of WoX, and its contrbutors for all the amazing work. - -The JJW24/Wox fork started adding new changes on top of main WoX repo's code base from release v1.3.524. Flow is a continuation of the work from JJW24/Wox diff --git a/attribution.md b/attribution.md new file mode 100644 index 000000000..c47542d6a --- /dev/null +++ b/attribution.md @@ -0,0 +1,6 @@ +Flow's roots came from a rebrand of the [JJW24/Wox fork](https://github.com/jjw24/Wox/issues/156) and [WoX](https://github.com/Wox-launcher/Wox). + +A big thank you and all credits to [Bao](https://github.com/bao-qian), the author of WoX, and its contributors for all the amazing work. + +The JJW24/Wox fork started adding new changes on top of main WoX repo's code base from release v1.3.524. +Flow is a continuation of the work from JJW24/Wox. From 88af30207c594aa99c59c17826cb3aedc6e5b849 Mon Sep 17 00:00:00 2001 From: Jeremy Wu Date: Wed, 16 Dec 2020 21:52:00 +1100 Subject: [PATCH 164/176] add context menu for PluginsManager --- .../ContextMenu.cs | 60 ++++++++++++++++-- .../Images/request.png | Bin 0 -> 50820 bytes .../Images/sourcecode.png | Bin 0 -> 11842 bytes .../Images/website.png | Bin 0 -> 133947 bytes .../Languages/en.xaml | 8 +++ .../PluginsManager.cs | 3 +- 6 files changed, 65 insertions(+), 6 deletions(-) create mode 100644 Plugins/Flow.Launcher.Plugin.PluginsManager/Images/request.png create mode 100644 Plugins/Flow.Launcher.Plugin.PluginsManager/Images/sourcecode.png create mode 100644 Plugins/Flow.Launcher.Plugin.PluginsManager/Images/website.png diff --git a/Plugins/Flow.Launcher.Plugin.PluginsManager/ContextMenu.cs b/Plugins/Flow.Launcher.Plugin.PluginsManager/ContextMenu.cs index d26c1ead4..f071e0e98 100644 --- a/Plugins/Flow.Launcher.Plugin.PluginsManager/ContextMenu.cs +++ b/Plugins/Flow.Launcher.Plugin.PluginsManager/ContextMenu.cs @@ -1,4 +1,5 @@ using Flow.Launcher.Infrastructure.UserSettings; +using Flow.Launcher.Plugin.PluginsManager.Models; using System; using System.Collections.Generic; using System.Text; @@ -19,11 +20,60 @@ namespace Flow.Launcher.Plugin.PluginsManager public List LoadContextMenus(Result selectedResult) { - // Open website - // Go to source code - // Report an issue? - // Request a feature? - return new List(); + var pluginManifestInfo = selectedResult.ContextData as UserPlugin; + + return new List + { + new Result + { + Title = Context.API.GetTranslation("plugin_pluginsmanager_plugin_contextmenu_openwebsite_title"), + SubTitle = Context.API.GetTranslation("plugin_pluginsmanager_plugin_contextmenu_openwebsite_subtitle"), + IcoPath = "Images\\website.png", + Action = _ => + { + SharedCommands.SearchWeb.NewBrowserWindow(pluginManifestInfo.Website); + return true; + } + }, + new Result + { + Title = Context.API.GetTranslation("plugin_pluginsmanager_plugin_contextmenu_gotosourcecode_title"), + SubTitle = Context.API.GetTranslation("plugin_pluginsmanager_plugin_contextmenu_gotosourcecode_subtitle"), + IcoPath = "Images\\sourcecode.png", + Action = _ => + { + SharedCommands.SearchWeb.NewBrowserWindow(pluginManifestInfo.UrlSourceCode); + return true; + } + }, + new Result + { + Title = Context.API.GetTranslation("plugin_pluginsmanager_plugin_contextmenu_newissue_title"), + SubTitle = Context.API.GetTranslation("plugin_pluginsmanager_plugin_contextmenu_newissue_subtitle"), + IcoPath = "Images\\request.png", + Action = _ => + { + // standard UrlSourceCode format in PluginsManifest's plugins.json file: https://github.com/jjw24/WoxDictionary/tree/master + var link = pluginManifestInfo.UrlSourceCode.StartsWith("https://github.com") + ? pluginManifestInfo.UrlSourceCode.Replace("/tree/master", "/issues/new/choose") + : pluginManifestInfo.UrlSourceCode; + + SharedCommands.SearchWeb.NewBrowserWindow(link); + return true; + } + }, + new Result + { + Title = Context.API.GetTranslation("plugin_pluginsmanager_plugin_contextmenu_pluginsmanifest_title"), + SubTitle = Context.API.GetTranslation("plugin_pluginsmanager_plugin_contextmenu_pluginsmanifest_subtitle"), + IcoPath = selectedResult.IcoPath, + Action = _ => + { + SharedCommands.SearchWeb.NewBrowserWindow("https://github.com/Flow-Launcher/Flow.Launcher.PluginsManifest"); + return true; + } + } + }; } } } diff --git a/Plugins/Flow.Launcher.Plugin.PluginsManager/Images/request.png b/Plugins/Flow.Launcher.Plugin.PluginsManager/Images/request.png new file mode 100644 index 0000000000000000000000000000000000000000..a9126cb9bd8e06e3a0772e6405cd0e87c053c265 GIT binary patch literal 50820 zcmeFZ`(KRt|37|JRJMaGk{H!CBP3KbAST4o|0*lulj*`o%kam99X4xi2%I`uEy(3?J(lI&aw|+&NtI{Y!g(yUwmhHDi5Ik$vC) zOqE4_zp7*CxW!Ev!u#U!i+CAX){cig+sWl!;+{*g_BSjq�~L-@m>Yh>ChJ?fcWH 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 U3ySeQFB**(xMcq6d2zq|C#DQg!2kdN literal 0 HcmV?d00001 diff --git a/Plugins/Flow.Launcher.Plugin.PluginsManager/Images/sourcecode.png b/Plugins/Flow.Launcher.Plugin.PluginsManager/Images/sourcecode.png new file mode 100644 index 0000000000000000000000000000000000000000..8efbdaa487d0ab825010fa3f3e7331824fd6f207 GIT binary patch literal 11842 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 literal 0 HcmV?d00001 diff --git a/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/en.xaml b/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/en.xaml index fc13f0c2f..14fc2d586 100644 --- a/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/en.xaml +++ b/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/en.xaml @@ -20,5 +20,13 @@ Management of installing, uninstalling or updating Flow Launcher plugins + Open website + Visit the plugin's website + See source code + See the plugin's source code + Suggest an enhancement or submit an issue + Suggest an enhancement or submit an issue to the plugin developer + Go to Flow's plugins repository + Visit the PluginsManifest repository to see comunity-made plugin submissions \ No newline at end of file diff --git a/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs b/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs index fc4abc800..3ccf696cc 100644 --- a/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs +++ b/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs @@ -115,7 +115,8 @@ namespace Flow.Launcher.Plugin.PluginsManager InstallOrUpdate(x); return true; - } + }, + ContextData = x }) .ToList(); From 407ff8266661c67f58bd7bd0682228d0ef6476e7 Mon Sep 17 00:00:00 2001 From: Jeremy Wu Date: Wed, 16 Dec 2020 21:53:02 +1100 Subject: [PATCH 165/176] version bump for PluginsManager --- Plugins/Flow.Launcher.Plugin.PluginsManager/plugin.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Plugins/Flow.Launcher.Plugin.PluginsManager/plugin.json b/Plugins/Flow.Launcher.Plugin.PluginsManager/plugin.json index 0353fffcc..73e03d525 100644 --- a/Plugins/Flow.Launcher.Plugin.PluginsManager/plugin.json +++ b/Plugins/Flow.Launcher.Plugin.PluginsManager/plugin.json @@ -6,7 +6,7 @@ "Name": "Plugins Manager", "Description": "Management of installing, uninstalling or updating Flow Launcher plugins", "Author": "Jeremy Wu", - "Version": "1.1.0", + "Version": "1.2.0", "Language": "csharp", "Website": "https://github.com/Flow-Launcher/Flow.Launcher", "ExecuteFileName": "Flow.Launcher.Plugin.PluginsManager.dll", From 919f72ba62e1b1a6fdad77d8f0c3bc74e26caed9 Mon Sep 17 00:00:00 2001 From: Jeremy Wu Date: Thu, 17 Dec 2020 06:31:33 +1100 Subject: [PATCH 166/176] use open tab in browser --- Plugins/Flow.Launcher.Plugin.PluginsManager/ContextMenu.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Plugins/Flow.Launcher.Plugin.PluginsManager/ContextMenu.cs b/Plugins/Flow.Launcher.Plugin.PluginsManager/ContextMenu.cs index f071e0e98..76cb0f86b 100644 --- a/Plugins/Flow.Launcher.Plugin.PluginsManager/ContextMenu.cs +++ b/Plugins/Flow.Launcher.Plugin.PluginsManager/ContextMenu.cs @@ -31,7 +31,7 @@ namespace Flow.Launcher.Plugin.PluginsManager IcoPath = "Images\\website.png", Action = _ => { - SharedCommands.SearchWeb.NewBrowserWindow(pluginManifestInfo.Website); + SharedCommands.SearchWeb.NewTabInBrowser(pluginManifestInfo.Website); return true; } }, @@ -42,7 +42,7 @@ namespace Flow.Launcher.Plugin.PluginsManager IcoPath = "Images\\sourcecode.png", Action = _ => { - SharedCommands.SearchWeb.NewBrowserWindow(pluginManifestInfo.UrlSourceCode); + SharedCommands.SearchWeb.NewTabInBrowser(pluginManifestInfo.UrlSourceCode); return true; } }, From f12ea653d29fe2152293460f72483ae397551d74 Mon Sep 17 00:00:00 2001 From: Jeremy Wu Date: Thu, 17 Dec 2020 18:54:30 +1100 Subject: [PATCH 167/176] move autocomplete to method --- .../PluginsManager.cs | 69 ++++++++++--------- 1 file changed, 38 insertions(+), 31 deletions(-) diff --git a/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs b/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs index c141916aa..ea94ab6ef 100644 --- a/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs +++ b/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs @@ -42,7 +42,7 @@ namespace Flow.Launcher.Plugin.PluginsManager if (MessageBox.Show(message, Context.API.GetTranslation("plugin_pluginsmanager_install_title"), MessageBoxButton.YesNo) == MessageBoxResult.No) return; - var filePath = Path.Combine(DataLocation.PluginsDirectory, $"{plugin.Name}{plugin.ID}.zip"); + var filePath = Path.Combine(DataLocation.PluginsDirectory, $"{plugin.Name}-{plugin.Version}.zip"); try { @@ -65,9 +65,9 @@ namespace Flow.Launcher.Plugin.PluginsManager Application.Current.Dispatcher.Invoke(() => Install(plugin, filePath)); } - internal void Update() + internal void Update(string search) { - throw new NotImplementedException(); + } internal bool PluginExists(string id) @@ -75,12 +75,6 @@ namespace Flow.Launcher.Plugin.PluginsManager return Context.API.GetAllPlugins().Any(x => x.Metadata.ID == id); } - internal void PluginsManifestSiteOpen() - { - //Open from context menu https://git.vcmq.workers.dev/Flow-Launcher/Flow.Launcher.PluginsManifest - throw new NotImplementedException(); - } - internal List Search(List results, string searchName) { if (string.IsNullOrEmpty(searchName)) @@ -162,29 +156,13 @@ namespace Flow.Launcher.Plugin.PluginsManager internal List RequestUninstall(string search) { - if (!string.IsNullOrEmpty(search) - && Settings.UninstallHotkey.StartsWith(search) - && (Settings.UninstallHotkey != search || !search.StartsWith(Settings.UninstallHotkey))) - { - return - new List - { - new Result - { - Title = "Uninstall", - IcoPath = icoPath, - SubTitle = "Select a plugin to uninstall", - Action = e => - { - Context - .API - .ChangeQuery($"{Context.CurrentPluginMetadata.ActionKeywords.FirstOrDefault()} {Settings.UninstallHotkey} "); + var autocompletedResults = AutoCompleteReturnAllResults(search, + Settings.UninstallHotkey, + "Uninstall", + "Select a plugin to uninstall"); - return false; - } - } - }; - } + if (autocompletedResults.Any()) + return autocompletedResults; var uninstallSearch = search.Replace(Settings.UninstallHotkey, string.Empty).TrimStart(); @@ -223,5 +201,34 @@ namespace Flow.Launcher.Plugin.PluginsManager Context.API.RestartApp(); } } + + private List AutoCompleteReturnAllResults(string search, string hotkey, string title, string subtitle) + { + if (!string.IsNullOrEmpty(search) + && hotkey.StartsWith(search) + && (hotkey != search || !search.StartsWith(hotkey))) + { + return + new List + { + new Result + { + Title = title, + IcoPath = icoPath, + SubTitle = subtitle, + Action = e => + { + Context + .API + .ChangeQuery($"{Context.CurrentPluginMetadata.ActionKeywords.FirstOrDefault()} {hotkey} "); + + return false; + } + } + }; + } + + return new List(); + } } } From df454778ec2d6fedad6e3b57d1e39a5b5acc8879 Mon Sep 17 00:00:00 2001 From: Jeremy Wu Date: Thu, 17 Dec 2020 19:00:27 +1100 Subject: [PATCH 168/176] update plugin containing folder name from id to version --- Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs b/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs index ea94ab6ef..1b13dabf8 100644 --- a/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs +++ b/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs @@ -147,7 +147,7 @@ namespace Flow.Launcher.Plugin.PluginsManager return; } - string newPluginPath = Path.Combine(DataLocation.PluginsDirectory, $"{plugin.Name}{plugin.ID}"); + string newPluginPath = Path.Combine(DataLocation.PluginsDirectory, $"{plugin.Name}-{plugin.Version}"); Directory.Move(pluginFolderPath, newPluginPath); From 7e8c49502e38e9473affba6f57a793a6e89e21a5 Mon Sep 17 00:00:00 2001 From: Jeremy Wu Date: Thu, 17 Dec 2020 20:37:01 +1100 Subject: [PATCH 169/176] add plugin update call --- .../Languages/en.xaml | 5 + .../Main.cs | 8 +- .../Models/UserPlugin.cs | 5 +- .../PluginsManager.cs | 110 ++++++++++++++---- .../Settings.cs | 4 +- 5 files changed, 105 insertions(+), 27 deletions(-) diff --git a/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/en.xaml b/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/en.xaml index 7f8557c28..f69f23f6b 100644 --- a/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/en.xaml +++ b/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/en.xaml @@ -11,6 +11,11 @@ Plugin Install Plugin Uninstall Install failed: unable to find the plugin.json metadata file from the new plugin + No update available + All plugins are up to date + {0} by {1} {2}{3}Would you like to update this plugin? After the update Flow will automatically restart. + Plugin Update + diff --git a/Plugins/Flow.Launcher.Plugin.PluginsManager/Main.cs b/Plugins/Flow.Launcher.Plugin.PluginsManager/Main.cs index 58ec5005f..43f92e7b9 100644 --- a/Plugins/Flow.Launcher.Plugin.PluginsManager/Main.cs +++ b/Plugins/Flow.Launcher.Plugin.PluginsManager/Main.cs @@ -42,9 +42,13 @@ namespace Flow.Launcher.Plugin.PluginsManager var pluginManager = new PluginsManager(Context, Settings); if (!string.IsNullOrEmpty(search) - && ($"{Settings.UninstallHotkey} ".StartsWith(search) || search.StartsWith($"{Settings.UninstallHotkey} "))) + && ($"{Settings.HotkeyUninstall} ".StartsWith(search) || search.StartsWith($"{Settings.HotkeyUninstall} "))) return pluginManager.RequestUninstall(search); - + + if (!string.IsNullOrEmpty(search) + && ($"{Settings.HotkeyUpdate} ".StartsWith(search) || search.StartsWith($"{Settings.HotkeyUpdate} "))) + return pluginManager.RequestUpdate(search); + return pluginManager.RequestInstallOrUpdate(search); } diff --git a/Plugins/Flow.Launcher.Plugin.PluginsManager/Models/UserPlugin.cs b/Plugins/Flow.Launcher.Plugin.PluginsManager/Models/UserPlugin.cs index 3bc44e0f6..c1af3014b 100644 --- a/Plugins/Flow.Launcher.Plugin.PluginsManager/Models/UserPlugin.cs +++ b/Plugins/Flow.Launcher.Plugin.PluginsManager/Models/UserPlugin.cs @@ -1,7 +1,4 @@ -using System; -using System.Collections.Generic; -using System.Text; - + namespace Flow.Launcher.Plugin.PluginsManager.Models { public class UserPlugin diff --git a/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs b/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs index 1b13dabf8..37051e4da 100644 --- a/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs +++ b/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs @@ -62,12 +62,82 @@ namespace Flow.Launcher.Plugin.PluginsManager Log.Exception("PluginsManager", "An error occured while downloading plugin", e, "PluginDownload"); } - Application.Current.Dispatcher.Invoke(() => Install(plugin, filePath)); + Application.Current.Dispatcher.Invoke(() => { Install(plugin, filePath); Context.API.RestartApp(); }); } - internal void Update(string search) + internal List RequestUpdate(string search) { + var autocompletedResults = AutoCompleteReturnAllResults(search, + Settings.HotkeyUpdate, + "Update", + "Select a plugin to update"); + if (autocompletedResults.Any()) + return autocompletedResults; + + var uninstallSearch = search.Replace(Settings.HotkeyUpdate, string.Empty).TrimStart(); + + + var resultsForUpdate = + from existingPlugin in Context.API.GetAllPlugins() + join pluginFromManifest in pluginsManifest.UserPlugins + on existingPlugin.Metadata.ID equals pluginFromManifest.ID + where existingPlugin.Metadata.Version != pluginFromManifest.Version + select + new + { + pluginFromManifest.Name, + pluginFromManifest.Author, + CurrentVersion = existingPlugin.Metadata.Version, + NewVersion = pluginFromManifest.Version, + existingPlugin.Metadata.IcoPath, + PluginExistingMetadata = existingPlugin.Metadata, + PluginNewUserPlugin = pluginFromManifest + }; + + if (!resultsForUpdate.Any()) + return new List { + new Result + { + Title = Context.API.GetTranslation("plugin_pluginsmanager_update_noresult_title"), + SubTitle = Context.API.GetTranslation("plugin_pluginsmanager_update_noresult_subtitle"), + IcoPath = icoPath + }}; + + + var results = resultsForUpdate + .Select(x => + new Result + { + Title = $"{x.Name} by {x.Author}", + SubTitle = $"Update from version {x.CurrentVersion} to {x.NewVersion}", + IcoPath = x.IcoPath, + Action = e => + { + string message = string.Format(Context.API.GetTranslation("plugin_pluginsmanager_update_prompt"), + x.Name, x.Author, + Environment.NewLine, Environment.NewLine); + + if (MessageBox.Show(message, Context.API.GetTranslation("plugin_pluginsmanager_update_title"), + MessageBoxButton.YesNo) == MessageBoxResult.Yes) + { + Uninstall(x.PluginExistingMetadata); + + var downloadToFilePath = Path.Combine(DataLocation.PluginsDirectory, $"{x.Name}-{x.NewVersion}.zip"); + Http.Download(x.PluginNewUserPlugin.UrlDownload, downloadToFilePath); + Install(x.PluginNewUserPlugin, downloadToFilePath); + + Context.API.RestartApp(); + + return true; + } + + return false; + } + }) + .ToList(); + + return Search(results, uninstallSearch); } internal bool PluginExists(string id) @@ -150,21 +220,19 @@ namespace Flow.Launcher.Plugin.PluginsManager string newPluginPath = Path.Combine(DataLocation.PluginsDirectory, $"{plugin.Name}-{plugin.Version}"); Directory.Move(pluginFolderPath, newPluginPath); - - Context.API.RestartApp(); } internal List RequestUninstall(string search) { var autocompletedResults = AutoCompleteReturnAllResults(search, - Settings.UninstallHotkey, + Settings.HotkeyUninstall, "Uninstall", "Select a plugin to uninstall"); if (autocompletedResults.Any()) return autocompletedResults; - var uninstallSearch = search.Replace(Settings.UninstallHotkey, string.Empty).TrimStart(); + var uninstallSearch = search.Replace(Settings.HotkeyUninstall, string.Empty).TrimStart(); var results= Context.API .GetAllPlugins() @@ -176,10 +244,21 @@ namespace Flow.Launcher.Plugin.PluginsManager IcoPath = x.Metadata.IcoPath, Action = e => { - Application.Current.MainWindow.Hide(); - Uninstall(x.Metadata); + string message = string.Format(Context.API.GetTranslation("plugin_pluginsmanager_uninstall_prompt"), + x.Metadata.Name, x.Metadata.Author, + Environment.NewLine, Environment.NewLine); - return true; + if (MessageBox.Show(message, Context.API.GetTranslation("plugin_pluginsmanager_uninstall_title"), + MessageBoxButton.YesNo) == MessageBoxResult.Yes) + { + Application.Current.MainWindow.Hide(); + Uninstall(x.Metadata); + Context.API.RestartApp(); + + return true; + } + + return false; } }) .ToList(); @@ -189,17 +268,8 @@ namespace Flow.Launcher.Plugin.PluginsManager private void Uninstall(PluginMetadata plugin) { - string message = string.Format(Context.API.GetTranslation("plugin_pluginsmanager_uninstall_prompt"), - plugin.Name, plugin.Author, - Environment.NewLine, Environment.NewLine); - - if (MessageBox.Show(message, Context.API.GetTranslation("plugin_pluginsmanager_uninstall_title"), - MessageBoxButton.YesNo) == MessageBoxResult.Yes) - { - using var _ = File.CreateText(Path.Combine(plugin.PluginDirectory, "NeedDelete.txt")); - - Context.API.RestartApp(); - } + // Marked for deletion. Will be deleted on next start up + using var _ = File.CreateText(Path.Combine(plugin.PluginDirectory, "NeedDelete.txt")); } private List AutoCompleteReturnAllResults(string search, string hotkey, string title, string subtitle) diff --git a/Plugins/Flow.Launcher.Plugin.PluginsManager/Settings.cs b/Plugins/Flow.Launcher.Plugin.PluginsManager/Settings.cs index 0c647e6ae..e2e8d22e5 100644 --- a/Plugins/Flow.Launcher.Plugin.PluginsManager/Settings.cs +++ b/Plugins/Flow.Launcher.Plugin.PluginsManager/Settings.cs @@ -6,6 +6,8 @@ namespace Flow.Launcher.Plugin.PluginsManager { internal class Settings { - internal string UninstallHotkey { get; set; } = "uninstall"; + internal string HotkeyUninstall { get; set; } = "uninstall"; + + internal string HotkeyUpdate { get; set; } = "update"; } } From ceab9b2ecd8d4da48ff30c8fc8587d6df8138207 Mon Sep 17 00:00:00 2001 From: Jeremy Wu Date: Thu, 17 Dec 2020 20:37:24 +1100 Subject: [PATCH 170/176] PluginsManager version bump --- Plugins/Flow.Launcher.Plugin.PluginsManager/plugin.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Plugins/Flow.Launcher.Plugin.PluginsManager/plugin.json b/Plugins/Flow.Launcher.Plugin.PluginsManager/plugin.json index 0353fffcc..e970e5a8e 100644 --- a/Plugins/Flow.Launcher.Plugin.PluginsManager/plugin.json +++ b/Plugins/Flow.Launcher.Plugin.PluginsManager/plugin.json @@ -6,7 +6,7 @@ "Name": "Plugins Manager", "Description": "Management of installing, uninstalling or updating Flow Launcher plugins", "Author": "Jeremy Wu", - "Version": "1.1.0", + "Version": "1.3.0", "Language": "csharp", "Website": "https://github.com/Flow-Launcher/Flow.Launcher", "ExecuteFileName": "Flow.Launcher.Plugin.PluginsManager.dll", From cca53c2a7d34d6d99c6a6dcae1ec17c018e0419f Mon Sep 17 00:00:00 2001 From: Jeremy Wu Date: Thu, 17 Dec 2020 21:07:47 +1100 Subject: [PATCH 171/176] add hide main window override --- .../PluginsManager.cs | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs b/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs index 37051e4da..22682cae4 100644 --- a/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs +++ b/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs @@ -19,6 +19,21 @@ namespace Flow.Launcher.Plugin.PluginsManager private Settings Settings { get; set; } + private bool shouldHideWindow = true; + private bool ShouldHideWindow + { + set { shouldHideWindow = value; } + get + { + var setValue = shouldHideWindow; + // Default value for hide main window is true. Revert after get call. + // This ensures when set by another method to false, it is only used once. + shouldHideWindow = true; + + return setValue; + } + } + private readonly string icoPath = "Images\\pluginsmanager.png"; internal PluginsManager(PluginInitContext context, Settings settings) @@ -178,7 +193,7 @@ namespace Flow.Launcher.Plugin.PluginsManager Application.Current.MainWindow.Hide(); InstallOrUpdate(x); - return true; + return ShouldHideWindow; } }) .ToList(); From c2ca29dcdae315ddcf6735fb4b74ed7557eaa761 Mon Sep 17 00:00:00 2001 From: Jeremy Wu Date: Thu, 17 Dec 2020 21:37:38 +1100 Subject: [PATCH 172/176] add go to update section if update exists when install --- .../Languages/en.xaml | 2 ++ .../PluginsManager.cs | 17 ++++++++++++++++- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/en.xaml b/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/en.xaml index f69f23f6b..a5be6c63c 100644 --- a/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/en.xaml +++ b/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/en.xaml @@ -15,6 +15,8 @@ All plugins are up to date {0} by {1} {2}{3}Would you like to update this plugin? After the update Flow will automatically restart. Plugin Update + This plugin has an update, would you like to see it? + This plugin is already installed diff --git a/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs b/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs index 22682cae4..dad183227 100644 --- a/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs +++ b/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs @@ -46,7 +46,22 @@ namespace Flow.Launcher.Plugin.PluginsManager { if (PluginExists(plugin.ID)) { - Context.API.ShowMsg("Plugin already installed"); + if (Context.API.GetAllPlugins().Any(x => x.Metadata.ID == plugin.ID && x.Metadata.Version != plugin.Version)) + { + if (MessageBox.Show(Context.API.GetTranslation("plugin_pluginsmanager_update_exists"), + Context.API.GetTranslation("plugin_pluginsmanager_update_title"), + MessageBoxButton.YesNo) == MessageBoxResult.Yes) + Context + .API + .ChangeQuery($"{Context.CurrentPluginMetadata.ActionKeywords.FirstOrDefault()} {Settings.HotkeyUpdate} {plugin.Name}"); + + Application.Current.MainWindow.Show(); + shouldHideWindow = false; + + return; + } + + Context.API.ShowMsg(Context.API.GetTranslation("plugin_pluginsmanager_update_alreadyexists")); return; } From 5ab021f4449e19c5d935f96ec7f5cf835b5c2d9e Mon Sep 17 00:00:00 2001 From: Jeremy Wu Date: Sun, 20 Dec 2020 20:08:52 +1100 Subject: [PATCH 173/176] update per comment --- .../PluginsManager.cs | 55 +++++++++---------- 1 file changed, 26 insertions(+), 29 deletions(-) diff --git a/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs b/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs index bd80b3dfd..90f3277fb 100644 --- a/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs +++ b/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs @@ -138,34 +138,33 @@ namespace Flow.Launcher.Plugin.PluginsManager var results = resultsForUpdate .Select(x => new Result + { + Title = $"{x.Name} by {x.Author}", + SubTitle = $"Update from version {x.CurrentVersion} to {x.NewVersion}", + IcoPath = x.IcoPath, + Action = e => { - Title = $"{x.Name} by {x.Author}", - SubTitle = $"Update from version {x.CurrentVersion} to {x.NewVersion}", - IcoPath = x.IcoPath, - Action = e => + string message = string.Format(Context.API.GetTranslation("plugin_pluginsmanager_update_prompt"), + x.Name, x.Author, + Environment.NewLine, Environment.NewLine); + + if (MessageBox.Show(message, Context.API.GetTranslation("plugin_pluginsmanager_update_title"), + MessageBoxButton.YesNo) == MessageBoxResult.Yes) { - string message = string.Format(Context.API.GetTranslation("plugin_pluginsmanager_update_prompt"), - x.Name, x.Author, - Environment.NewLine, Environment.NewLine); + Uninstall(x.PluginExistingMetadata); - if (MessageBox.Show(message, Context.API.GetTranslation("plugin_pluginsmanager_update_title"), - MessageBoxButton.YesNo) == MessageBoxResult.Yes) - { - Uninstall(x.PluginExistingMetadata); + var downloadToFilePath = Path.Combine(DataLocation.PluginsDirectory, $"{x.Name}-{x.NewVersion}.zip"); + Http.Download(x.PluginNewUserPlugin.UrlDownload, downloadToFilePath); + Install(x.PluginNewUserPlugin, downloadToFilePath); - var downloadToFilePath = Path.Combine(DataLocation.PluginsDirectory, $"{x.Name}-{x.NewVersion}.zip"); - Http.Download(x.PluginNewUserPlugin.UrlDownload, downloadToFilePath); - Install(x.PluginNewUserPlugin, downloadToFilePath); + Context.API.RestartApp(); - Context.API.RestartApp(); - - return true; - } - - return false; + return true; } - }) - .ToList(); + + return false; + } + }); return Search(results, uninstallSearch); } @@ -175,10 +174,10 @@ namespace Flow.Launcher.Plugin.PluginsManager return Context.API.GetAllPlugins().Any(x => x.Metadata.ID == id); } - internal List Search(List results, string searchName) + internal List Search(IEnumerable results, string searchName) { if (string.IsNullOrEmpty(searchName)) - return results; + return results.ToList(); return results .Where(x => @@ -211,8 +210,7 @@ namespace Flow.Launcher.Plugin.PluginsManager return ShouldHideWindow; }, ContextData = x - }) - .ToList(); + }); return Search(results, searchName); } @@ -265,7 +263,7 @@ namespace Flow.Launcher.Plugin.PluginsManager var uninstallSearch = search.Replace(Settings.HotkeyUninstall, string.Empty).TrimStart(); - var results= Context.API + var results = Context.API .GetAllPlugins() .Select(x => new Result @@ -291,8 +289,7 @@ namespace Flow.Launcher.Plugin.PluginsManager return false; } - }) - .ToList(); + }); return Search(results, uninstallSearch); } From 3a6b6b721f697dd8fc163cf2e2590cfa187a01fd Mon Sep 17 00:00:00 2001 From: Jeremy Wu Date: Sun, 20 Dec 2020 20:23:14 +1100 Subject: [PATCH 174/176] Flow.Launcher.Plugin version bump --- Flow.Launcher.Plugin/Flow.Launcher.Plugin.csproj | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Flow.Launcher.Plugin/Flow.Launcher.Plugin.csproj b/Flow.Launcher.Plugin/Flow.Launcher.Plugin.csproj index 0f6450d18..70013c274 100644 --- a/Flow.Launcher.Plugin/Flow.Launcher.Plugin.csproj +++ b/Flow.Launcher.Plugin/Flow.Launcher.Plugin.csproj @@ -14,10 +14,10 @@ - 1.3.0 - 1.3.0 - 1.3.0 - 1.3.0 + 1.3.1 + 1.3.1 + 1.3.1 + 1.3.1 Flow.Launcher.Plugin Flow-Launcher MIT From 110cf2a60710d0d3ad06264304859ba4a6030a7f Mon Sep 17 00:00:00 2001 From: Jeremy Wu Date: Sun, 20 Dec 2020 20:28:30 +1100 Subject: [PATCH 175/176] version bump --- SolutionAssemblyInfo.cs | 6 +++--- appveyor.yml | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/SolutionAssemblyInfo.cs b/SolutionAssemblyInfo.cs index 018084a66..ccbfef5d0 100644 --- a/SolutionAssemblyInfo.cs +++ b/SolutionAssemblyInfo.cs @@ -16,6 +16,6 @@ using System.Runtime.InteropServices; [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] [assembly: ComVisible(false)] -[assembly: AssemblyVersion("1.5.0")] -[assembly: AssemblyFileVersion("1.5.0")] -[assembly: AssemblyInformationalVersion("1.5.0")] \ No newline at end of file +[assembly: AssemblyVersion("1.6.0")] +[assembly: AssemblyFileVersion("1.6.0")] +[assembly: AssemblyInformationalVersion("1.6.0")] \ No newline at end of file diff --git a/appveyor.yml b/appveyor.yml index f5841da3e..1f0937d6d 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -1,4 +1,4 @@ -version: '1.5.0.{build}' +version: '1.6.0.{build}' init: - ps: | From a9a62a5847b80e008ee00b6bce7b305e17822e88 Mon Sep 17 00:00:00 2001 From: Jeremy Wu Date: Mon, 21 Dec 2020 08:57:22 +1100 Subject: [PATCH 176/176] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f0c08d8a0..5f3f7e1a7 100644 --- a/README.md +++ b/README.md @@ -45,7 +45,7 @@ Windows may complain about security due to code not being signed, this will be c - Open flow's search window: Alt+Space is the default hotkey. - Open context menu: Ctrl+O/Shift+Enter. - Cancel/Return to previous screen: Esc. -- Install/Uninstall plugins: in the search window, type `wpm install/uninstall` + the plugin name. +- Install/Uninstall/Update plugins: in the search window, type `pm`/`pm uninstall`/`pm update` + the plugin name. - Saved user settings are located: - If using roaming: `%APPDATA%\FlowLauncher` - If using portable, by default: `%localappdata%\FlowLauncher\app-\UserData`

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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 286f443a57a24861a9b58f0dcce5b64aabcf5c2b Mon Sep 17 00:00:00 2001 From: Jeremy Wu Date: Fri, 4 Sep 2020 05:42:33 +1000 Subject: [PATCH 025/176] move app_missing_img files to its own folder --- .../Default Icons}/app_missing_img.png | Bin .../Default Icons}/app_missing_img_01.png | Bin .../Default Icons}/app_missing_img_01.svg | 0 .../Default Icons}/app_missing_img_02.png | Bin .../Default Icons}/app_missing_img_02.svg | 0 .../Default Icons}/app_missing_img_03.png | Bin .../Default Icons}/app_missing_img_03.svg | 0 .../Default Icons}/app_missing_img_buttons.png | Bin .../Default Icons}/app_missing_img_buttons.svg | 0 .../Default Icons}/app_missing_img_fluent.png | Bin .../Default Icons}/app_missing_img_fluent.svg | 0 .../Default Icons}/app_missing_img_huge.png | Bin .../Default Icons}/app_missing_img_huge.svg | 0 .../Default Icons}/app_missing_img_lightblue.png | Bin .../Default Icons}/app_missing_img_lightblue.svg | 0 .../app_missing_img_lightblue_buttons.png | Bin .../app_missing_img_lightblue_buttons.svg | 0 .../Default Icons}/app_missing_img_minimal.png | Bin .../Default Icons}/app_missing_img_minimal.svg | 0 .../app_missing_img_minimal_buttons.png | Bin .../app_missing_img_minimal_buttons.svg | 0 21 files changed, 0 insertions(+), 0 deletions(-) rename {Flow.Launcher/Images => Doc/Default Icons}/app_missing_img.png (100%) rename {Flow.Launcher/Images => Doc/Default Icons}/app_missing_img_01.png (100%) rename {Flow.Launcher/Images => Doc/Default Icons}/app_missing_img_01.svg (100%) rename {Flow.Launcher/Images => Doc/Default Icons}/app_missing_img_02.png (100%) rename {Flow.Launcher/Images => Doc/Default Icons}/app_missing_img_02.svg (100%) rename {Flow.Launcher/Images => Doc/Default Icons}/app_missing_img_03.png (100%) rename {Flow.Launcher/Images => Doc/Default Icons}/app_missing_img_03.svg (100%) rename {Flow.Launcher/Images => Doc/Default Icons}/app_missing_img_buttons.png (100%) rename {Flow.Launcher/Images => Doc/Default Icons}/app_missing_img_buttons.svg (100%) rename {Flow.Launcher/Images => Doc/Default Icons}/app_missing_img_fluent.png (100%) rename {Flow.Launcher/Images => Doc/Default Icons}/app_missing_img_fluent.svg (100%) rename {Flow.Launcher/Images => Doc/Default Icons}/app_missing_img_huge.png (100%) rename {Flow.Launcher/Images => Doc/Default Icons}/app_missing_img_huge.svg (100%) rename {Flow.Launcher/Images => Doc/Default Icons}/app_missing_img_lightblue.png (100%) rename {Flow.Launcher/Images => Doc/Default Icons}/app_missing_img_lightblue.svg (100%) rename {Flow.Launcher/Images => Doc/Default Icons}/app_missing_img_lightblue_buttons.png (100%) rename {Flow.Launcher/Images => Doc/Default Icons}/app_missing_img_lightblue_buttons.svg (100%) rename {Flow.Launcher/Images => Doc/Default Icons}/app_missing_img_minimal.png (100%) rename {Flow.Launcher/Images => Doc/Default Icons}/app_missing_img_minimal.svg (100%) rename {Flow.Launcher/Images => Doc/Default Icons}/app_missing_img_minimal_buttons.png (100%) rename {Flow.Launcher/Images => Doc/Default Icons}/app_missing_img_minimal_buttons.svg (100%) diff --git a/Flow.Launcher/Images/app_missing_img.png b/Doc/Default Icons/app_missing_img.png similarity index 100% rename from Flow.Launcher/Images/app_missing_img.png rename to Doc/Default Icons/app_missing_img.png diff --git a/Flow.Launcher/Images/app_missing_img_01.png b/Doc/Default Icons/app_missing_img_01.png similarity index 100% rename from Flow.Launcher/Images/app_missing_img_01.png rename to Doc/Default Icons/app_missing_img_01.png diff --git a/Flow.Launcher/Images/app_missing_img_01.svg b/Doc/Default Icons/app_missing_img_01.svg similarity index 100% rename from Flow.Launcher/Images/app_missing_img_01.svg rename to Doc/Default Icons/app_missing_img_01.svg diff --git a/Flow.Launcher/Images/app_missing_img_02.png b/Doc/Default Icons/app_missing_img_02.png similarity index 100% rename from Flow.Launcher/Images/app_missing_img_02.png rename to Doc/Default Icons/app_missing_img_02.png diff --git a/Flow.Launcher/Images/app_missing_img_02.svg b/Doc/Default Icons/app_missing_img_02.svg similarity index 100% rename from Flow.Launcher/Images/app_missing_img_02.svg rename to Doc/Default Icons/app_missing_img_02.svg diff --git a/Flow.Launcher/Images/app_missing_img_03.png b/Doc/Default Icons/app_missing_img_03.png similarity index 100% rename from Flow.Launcher/Images/app_missing_img_03.png rename to Doc/Default Icons/app_missing_img_03.png diff --git a/Flow.Launcher/Images/app_missing_img_03.svg b/Doc/Default Icons/app_missing_img_03.svg similarity index 100% rename from Flow.Launcher/Images/app_missing_img_03.svg rename to Doc/Default Icons/app_missing_img_03.svg diff --git a/Flow.Launcher/Images/app_missing_img_buttons.png b/Doc/Default Icons/app_missing_img_buttons.png similarity index 100% rename from Flow.Launcher/Images/app_missing_img_buttons.png rename to Doc/Default Icons/app_missing_img_buttons.png diff --git a/Flow.Launcher/Images/app_missing_img_buttons.svg b/Doc/Default Icons/app_missing_img_buttons.svg similarity index 100% rename from Flow.Launcher/Images/app_missing_img_buttons.svg rename to Doc/Default Icons/app_missing_img_buttons.svg diff --git a/Flow.Launcher/Images/app_missing_img_fluent.png b/Doc/Default Icons/app_missing_img_fluent.png similarity index 100% rename from Flow.Launcher/Images/app_missing_img_fluent.png rename to Doc/Default Icons/app_missing_img_fluent.png diff --git a/Flow.Launcher/Images/app_missing_img_fluent.svg b/Doc/Default Icons/app_missing_img_fluent.svg similarity index 100% rename from Flow.Launcher/Images/app_missing_img_fluent.svg rename to Doc/Default Icons/app_missing_img_fluent.svg diff --git a/Flow.Launcher/Images/app_missing_img_huge.png b/Doc/Default Icons/app_missing_img_huge.png similarity index 100% rename from Flow.Launcher/Images/app_missing_img_huge.png rename to Doc/Default Icons/app_missing_img_huge.png diff --git a/Flow.Launcher/Images/app_missing_img_huge.svg b/Doc/Default Icons/app_missing_img_huge.svg similarity index 100% rename from Flow.Launcher/Images/app_missing_img_huge.svg rename to Doc/Default Icons/app_missing_img_huge.svg diff --git a/Flow.Launcher/Images/app_missing_img_lightblue.png b/Doc/Default Icons/app_missing_img_lightblue.png similarity index 100% rename from Flow.Launcher/Images/app_missing_img_lightblue.png rename to Doc/Default Icons/app_missing_img_lightblue.png diff --git a/Flow.Launcher/Images/app_missing_img_lightblue.svg b/Doc/Default Icons/app_missing_img_lightblue.svg similarity index 100% rename from Flow.Launcher/Images/app_missing_img_lightblue.svg rename to Doc/Default Icons/app_missing_img_lightblue.svg diff --git a/Flow.Launcher/Images/app_missing_img_lightblue_buttons.png b/Doc/Default Icons/app_missing_img_lightblue_buttons.png similarity index 100% rename from Flow.Launcher/Images/app_missing_img_lightblue_buttons.png rename to Doc/Default Icons/app_missing_img_lightblue_buttons.png diff --git a/Flow.Launcher/Images/app_missing_img_lightblue_buttons.svg b/Doc/Default Icons/app_missing_img_lightblue_buttons.svg similarity index 100% rename from Flow.Launcher/Images/app_missing_img_lightblue_buttons.svg rename to Doc/Default Icons/app_missing_img_lightblue_buttons.svg diff --git a/Flow.Launcher/Images/app_missing_img_minimal.png b/Doc/Default Icons/app_missing_img_minimal.png similarity index 100% rename from Flow.Launcher/Images/app_missing_img_minimal.png rename to Doc/Default Icons/app_missing_img_minimal.png diff --git a/Flow.Launcher/Images/app_missing_img_minimal.svg b/Doc/Default Icons/app_missing_img_minimal.svg similarity index 100% rename from Flow.Launcher/Images/app_missing_img_minimal.svg rename to Doc/Default Icons/app_missing_img_minimal.svg diff --git a/Flow.Launcher/Images/app_missing_img_minimal_buttons.png b/Doc/Default Icons/app_missing_img_minimal_buttons.png similarity index 100% rename from Flow.Launcher/Images/app_missing_img_minimal_buttons.png rename to Doc/Default Icons/app_missing_img_minimal_buttons.png diff --git a/Flow.Launcher/Images/app_missing_img_minimal_buttons.svg b/Doc/Default Icons/app_missing_img_minimal_buttons.svg similarity index 100% rename from Flow.Launcher/Images/app_missing_img_minimal_buttons.svg rename to Doc/Default Icons/app_missing_img_minimal_buttons.svg From d3fbabe10e8b2b1f21b8b62fbc90c518c54c5b5b Mon Sep 17 00:00:00 2001 From: Jeremy Wu Date: Mon, 7 Sep 2020 06:55:12 +1000 Subject: [PATCH 026/176] add dedicated missing img icon --- Doc/app_missing_img.png | Bin 0 -> 44577 bytes Flow.Launcher.Infrastructure/Constant.cs | 6 ++++-- .../Image/ImageLoader.cs | 10 +++++----- Flow.Launcher/Images/app_missing_img.png | Bin 0 -> 44577 bytes Flow.Launcher/ViewModel/ResultViewModel.cs | 2 +- .../Programs/UWP.cs | 4 ++-- 6 files changed, 12 insertions(+), 10 deletions(-) create mode 100644 Doc/app_missing_img.png create mode 100644 Flow.Launcher/Images/app_missing_img.png diff --git a/Doc/app_missing_img.png b/Doc/app_missing_img.png new file mode 100644 index 0000000000000000000000000000000000000000..11d5466f02984796b3bca97499c17af38f3fb4c1 GIT binary patch literal 44577 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 literal 0 HcmV?d00001 diff --git a/Flow.Launcher.Infrastructure/Constant.cs b/Flow.Launcher.Infrastructure/Constant.cs index a8c72fb12..c6a3b48f3 100644 --- a/Flow.Launcher.Infrastructure/Constant.cs +++ b/Flow.Launcher.Infrastructure/Constant.cs @@ -23,8 +23,10 @@ namespace Flow.Launcher.Infrastructure public static readonly string Version = FileVersionInfo.GetVersionInfo(Assembly.Location.NonNull()).ProductVersion; public static readonly int ThumbnailSize = 64; - public static readonly string DefaultIcon = Path.Combine(ProgramDirectory, "Images", "app.png"); - public static readonly string ErrorIcon = Path.Combine(ProgramDirectory, "Images", "app_error.png"); + private static readonly string ImagesDirectory = Path.Combine(ProgramDirectory, "Images"); + public static readonly string DefaultIcon = Path.Combine(ImagesDirectory, "app.png"); + public static readonly string ErrorIcon = Path.Combine(ImagesDirectory, "app_error.png"); + public static readonly string MissingImgIcon = Path.Combine(ImagesDirectory, "app_missing_img.png"); public static string PythonPath; diff --git a/Flow.Launcher.Infrastructure/Image/ImageLoader.cs b/Flow.Launcher.Infrastructure/Image/ImageLoader.cs index 0bf575337..5cf3d84a6 100644 --- a/Flow.Launcher.Infrastructure/Image/ImageLoader.cs +++ b/Flow.Launcher.Infrastructure/Image/ImageLoader.cs @@ -38,7 +38,7 @@ namespace Flow.Launcher.Infrastructure.Image _imageCache.Usage = LoadStorageToConcurrentDictionary(); - foreach (var icon in new[] { Constant.DefaultIcon, Constant.ErrorIcon }) + foreach (var icon in new[] { Constant.DefaultIcon, Constant.MissingImgIcon }) { ImageSource img = new BitmapImage(new Uri(icon)); img.Freeze(); @@ -106,7 +106,7 @@ namespace Flow.Launcher.Infrastructure.Image { if (string.IsNullOrEmpty(path)) { - return new ImageResult(_imageCache[Constant.ErrorIcon], ImageType.Error); + return new ImageResult(_imageCache[Constant.MissingImgIcon], ImageType.Error); } if (_imageCache.ContainsKey(path)) { @@ -139,7 +139,7 @@ namespace Flow.Launcher.Infrastructure.Image Log.Exception($"|ImageLoader.Load|Failed to get thumbnail for {path} on first try", e); Log.Exception($"|ImageLoader.Load|Failed to get thumbnail for {path} on second try", e2); - ImageSource image = _imageCache[Constant.ErrorIcon]; + ImageSource image = _imageCache[Constant.MissingImgIcon]; _imageCache[path] = image; imageResult = new ImageResult(image, ImageType.Error); } @@ -191,8 +191,8 @@ namespace Flow.Launcher.Infrastructure.Image } else { - image = _imageCache[Constant.ErrorIcon]; - path = Constant.ErrorIcon; + image = _imageCache[Constant.MissingImgIcon]; + path = Constant.MissingImgIcon; } if (type != ImageType.Error) diff --git a/Flow.Launcher/Images/app_missing_img.png b/Flow.Launcher/Images/app_missing_img.png new file mode 100644 index 0000000000000000000000000000000000000000..11d5466f02984796b3bca97499c17af38f3fb4c1 GIT binary patch literal 44577 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 literal 0 HcmV?d00001 diff --git a/Flow.Launcher/ViewModel/ResultViewModel.cs b/Flow.Launcher/ViewModel/ResultViewModel.cs index 4392234eb..a4fe2ede4 100644 --- a/Flow.Launcher/ViewModel/ResultViewModel.cs +++ b/Flow.Launcher/ViewModel/ResultViewModel.cs @@ -51,7 +51,7 @@ namespace Flow.Launcher.ViewModel catch (Exception e) { Log.Exception($"|ResultViewModel.Image|IcoPath is empty and exception when calling Icon() for result <{Result.Title}> of plugin <{Result.PluginDirectory}>", e); - imagePath = Constant.ErrorIcon; + imagePath = Constant.MissingImgIcon; } } diff --git a/Plugins/Flow.Launcher.Plugin.Program/Programs/UWP.cs b/Plugins/Flow.Launcher.Plugin.Program/Programs/UWP.cs index b8633f357..69e077ee2 100644 --- a/Plugins/Flow.Launcher.Plugin.Program/Programs/UWP.cs +++ b/Plugins/Flow.Launcher.Plugin.Program/Programs/UWP.cs @@ -536,7 +536,7 @@ namespace Flow.Launcher.Plugin.Program.Programs ProgramLogger.LogException($"|UWP|ImageFromPath|{path}" + $"|Unable to get logo for {UserModelId} from {path} and" + $" located in {Package.Location}", new FileNotFoundException()); - return new BitmapImage(new Uri(Constant.ErrorIcon)); + return new BitmapImage(new Uri(Constant.MissingImgIcon)); } } @@ -586,7 +586,7 @@ namespace Flow.Launcher.Plugin.Program.Programs $"|Unable to convert background string {BackgroundColor} " + $"to color for {Package.Location}", new InvalidOperationException()); - return new BitmapImage(new Uri(Constant.ErrorIcon)); + return new BitmapImage(new Uri(Constant.MissingImgIcon)); } } else From c86e2dbed678492495fa62d7055f36241db9258a Mon Sep 17 00:00:00 2001 From: Jeremy Wu Date: Mon, 7 Sep 2020 06:58:04 +1000 Subject: [PATCH 027/176] version bump --- SolutionAssemblyInfo.cs | 6 +++--- appveyor.yml | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/SolutionAssemblyInfo.cs b/SolutionAssemblyInfo.cs index c7c8812f2..5591de39c 100644 --- a/SolutionAssemblyInfo.cs +++ b/SolutionAssemblyInfo.cs @@ -16,6 +16,6 @@ using System.Runtime.InteropServices; [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] [assembly: ComVisible(false)] -[assembly: AssemblyVersion("1.2.1")] -[assembly: AssemblyFileVersion("1.2.1")] -[assembly: AssemblyInformationalVersion("1.2.1")] \ No newline at end of file +[assembly: AssemblyVersion("1.3.0")] +[assembly: AssemblyFileVersion("1.3.0")] +[assembly: AssemblyInformationalVersion("1.3.0")] \ No newline at end of file diff --git a/appveyor.yml b/appveyor.yml index 703f1cb00..f3bc7cce3 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -1,4 +1,4 @@ -version: '1.2.1.{build}' +version: '1.3.0.{build}' init: - ps: | From 97f7b48aa134430992af1decdd52ae4fc68209da Mon Sep 17 00:00:00 2001 From: Jeremy Wu Date: Fri, 11 Sep 2020 06:10:57 +1000 Subject: [PATCH 028/176] fix BrowserBookmark dll name capitalisation --- Plugins/Flow.Launcher.Plugin.BrowserBookmark/plugin.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Plugins/Flow.Launcher.Plugin.BrowserBookmark/plugin.json b/Plugins/Flow.Launcher.Plugin.BrowserBookmark/plugin.json index 8676a3e5b..608ccb4f9 100644 --- a/Plugins/Flow.Launcher.Plugin.BrowserBookmark/plugin.json +++ b/Plugins/Flow.Launcher.Plugin.BrowserBookmark/plugin.json @@ -7,6 +7,6 @@ "Version": "1.2.0", "Language": "csharp", "Website": "https://github.com/Flow-Launcher/Flow.Launcher", - "ExecuteFileName": "Flow.Launcher.Plugin.browserBookmark.dll", + "ExecuteFileName": "Flow.Launcher.Plugin.BrowserBookmark.dll", "IcoPath": "Images\\bookmark.png" } From 1e5d7bd928f6e77abbee00f5f9cc0f09fc0309a8 Mon Sep 17 00:00:00 2001 From: Jeremy Wu Date: Wed, 16 Sep 2020 21:12:43 +1000 Subject: [PATCH 029/176] add class to load assembly and resolve dependencies for each plugin --- .../Plugin/PluginAssemblyLoader.cs | 45 +++++++++++++++++++ Flow.Launcher.Core/Plugin/PluginsLoader.cs | 12 ++--- 2 files changed, 51 insertions(+), 6 deletions(-) create mode 100644 Flow.Launcher.Core/Plugin/PluginAssemblyLoader.cs diff --git a/Flow.Launcher.Core/Plugin/PluginAssemblyLoader.cs b/Flow.Launcher.Core/Plugin/PluginAssemblyLoader.cs new file mode 100644 index 000000000..5bbcd1158 --- /dev/null +++ b/Flow.Launcher.Core/Plugin/PluginAssemblyLoader.cs @@ -0,0 +1,45 @@ +using System; +using System.IO; +using System.Linq; +using System.Reflection; +using System.Runtime.Loader; + +namespace Flow.Launcher.Core.Plugin +{ + internal class PluginAssemblyLoader : AssemblyLoadContext + { + private readonly AssemblyDependencyResolver dependencyResolver; + + private readonly AssemblyName assemblyName; + + internal PluginAssemblyLoader(string assemblyFilePath) + { + dependencyResolver = new AssemblyDependencyResolver(assemblyFilePath); + assemblyName = new AssemblyName(Path.GetFileNameWithoutExtension(assemblyFilePath)); + } + + internal Assembly LoadAssemblyAndDependencies() + { + return LoadFromAssemblyName(assemblyName); + } + + protected override Assembly Load(AssemblyName assemblyName) + { + string assemblyPath = dependencyResolver.ResolveAssemblyToPath(assemblyName); + + if (assemblyPath != null) + { + return LoadFromAssemblyPath(assemblyPath); + } + + return null; + } + + internal Type FromAssemblyGetTypeOfInterface(Assembly assembly, Type type) + { + var allTypes = assembly.ExportedTypes; + + return allTypes.First(o => o.IsClass && !o.IsAbstract && o.GetInterfaces().Contains(type)); + } + } +} diff --git a/Flow.Launcher.Core/Plugin/PluginsLoader.cs b/Flow.Launcher.Core/Plugin/PluginsLoader.cs index 1025f9bae..224dbd85e 100644 --- a/Flow.Launcher.Core/Plugin/PluginsLoader.cs +++ b/Flow.Launcher.Core/Plugin/PluginsLoader.cs @@ -41,9 +41,9 @@ namespace Flow.Launcher.Core.Plugin { #if DEBUG - var assembly = AssemblyLoadContext.Default.LoadFromAssemblyPath(metadata.ExecuteFilePath); - var types = assembly.GetTypes(); - var type = types.First(o => o.IsClass && !o.IsAbstract && o.GetInterfaces().Contains(typeof(IPlugin))); + var assemblyLoader = new PluginAssemblyLoader(metadata.ExecuteFilePath); + var assembly = assemblyLoader.LoadAssemblyAndDependencies(); + var type = assemblyLoader.FromAssemblyGetTypeOfInterface(assembly, typeof(IPlugin)); var plugin = (IPlugin)Activator.CreateInstance(type); #else Assembly assembly = null; @@ -51,10 +51,10 @@ namespace Flow.Launcher.Core.Plugin try { - assembly = AssemblyLoadContext.Default.LoadFromAssemblyPath(metadata.ExecuteFilePath); + var assemblyLoader = new PluginAssemblyLoader(metadata.ExecuteFilePath); + assembly = assemblyLoader.LoadAssemblyAndDependencies(); - var types = assembly.GetTypes(); - var type = types.First(o => o.IsClass && !o.IsAbstract && o.GetInterfaces().Contains(typeof(IPlugin))); + var type = assemblyLoader.FromAssemblyGetTypeOfInterface(assembly, typeof(IPlugin)); plugin = (IPlugin)Activator.CreateInstance(type); } From ef950063c0cd2f5299950462c55d33343d0462fb Mon Sep 17 00:00:00 2001 From: Jeremy Wu Date: Sun, 20 Sep 2020 17:14:47 +1000 Subject: [PATCH 030/176] add Directory.Build.targets and update project files - For all plugin library projects we do not output referenced project assembly dll such as Flow.Launcher.Plugin - Output all PackageReference dlls for plugins --- Directory.Build.targets | 15 +++++++++++++++ .../Flow.Launcher.Plugin.BrowserBookmark.csproj | 2 ++ .../Flow.Launcher.Plugin.Calculator.csproj | 6 ++++-- .../Flow.Launcher.Plugin.Color.csproj | 2 ++ .../Flow.Launcher.Plugin.ControlPanel.csproj | 2 ++ .../Flow.Launcher.Plugin.Explorer.csproj | 1 + .../Flow.Launcher.Plugin.PluginIndicator.csproj | 2 ++ .../Flow.Launcher.Plugin.PluginManagement.csproj | 2 ++ .../Flow.Launcher.Plugin.ProcessKiller.csproj | 2 ++ .../Flow.Launcher.Plugin.Program.csproj | 2 ++ .../Flow.Launcher.Plugin.Shell.csproj | 2 ++ .../Flow.Launcher.Plugin.Sys.csproj | 2 ++ .../Flow.Launcher.Plugin.Url.csproj | 2 ++ .../Flow.Launcher.Plugin.WebSearch.csproj | 2 ++ 14 files changed, 42 insertions(+), 2 deletions(-) create mode 100644 Directory.Build.targets diff --git a/Directory.Build.targets b/Directory.Build.targets new file mode 100644 index 000000000..4596aa084 --- /dev/null +++ b/Directory.Build.targets @@ -0,0 +1,15 @@ + + + + + false + + + false + + + + \ No newline at end of file diff --git a/Plugins/Flow.Launcher.Plugin.BrowserBookmark/Flow.Launcher.Plugin.BrowserBookmark.csproj b/Plugins/Flow.Launcher.Plugin.BrowserBookmark/Flow.Launcher.Plugin.BrowserBookmark.csproj index 13daddf10..85b745a6b 100644 --- a/Plugins/Flow.Launcher.Plugin.BrowserBookmark/Flow.Launcher.Plugin.BrowserBookmark.csproj +++ b/Plugins/Flow.Launcher.Plugin.BrowserBookmark/Flow.Launcher.Plugin.BrowserBookmark.csproj @@ -1,11 +1,13 @@  + Library netcoreapp3.1 {9B130CC5-14FB-41FF-B310-0A95B6894C37} Properties Flow.Launcher.Plugin.BrowserBookmark Flow.Launcher.Plugin.BrowserBookmark + true false false diff --git a/Plugins/Flow.Launcher.Plugin.Calculator/Flow.Launcher.Plugin.Calculator.csproj b/Plugins/Flow.Launcher.Plugin.Calculator/Flow.Launcher.Plugin.Calculator.csproj index e7cae42ae..897e14263 100644 --- a/Plugins/Flow.Launcher.Plugin.Calculator/Flow.Launcher.Plugin.Calculator.csproj +++ b/Plugins/Flow.Launcher.Plugin.Calculator/Flow.Launcher.Plugin.Calculator.csproj @@ -1,12 +1,14 @@ - + + Library netcoreapp3.1 {59BD9891-3837-438A-958D-ADC7F91F6F7E} Properties Flow.Launcher.Plugin.Caculator Flow.Launcher.Plugin.Caculator - true + true + true false false diff --git a/Plugins/Flow.Launcher.Plugin.Color/Flow.Launcher.Plugin.Color.csproj b/Plugins/Flow.Launcher.Plugin.Color/Flow.Launcher.Plugin.Color.csproj index 19f8fb980..091510d7f 100644 --- a/Plugins/Flow.Launcher.Plugin.Color/Flow.Launcher.Plugin.Color.csproj +++ b/Plugins/Flow.Launcher.Plugin.Color/Flow.Launcher.Plugin.Color.csproj @@ -1,11 +1,13 @@  + Library netcoreapp3.1 {F35190AA-4758-4D9E-A193-E3BDF6AD3567} Properties Flow.Launcher.Plugin.Color Flow.Launcher.Plugin.Color + true false false diff --git a/Plugins/Flow.Launcher.Plugin.ControlPanel/Flow.Launcher.Plugin.ControlPanel.csproj b/Plugins/Flow.Launcher.Plugin.ControlPanel/Flow.Launcher.Plugin.ControlPanel.csproj index d1c185c36..24b54baf3 100644 --- a/Plugins/Flow.Launcher.Plugin.ControlPanel/Flow.Launcher.Plugin.ControlPanel.csproj +++ b/Plugins/Flow.Launcher.Plugin.ControlPanel/Flow.Launcher.Plugin.ControlPanel.csproj @@ -1,11 +1,13 @@  + Library netcoreapp3.1 {1EE20B48-82FB-48A2-8086-675D6DDAB4F0} Properties Flow.Launcher.Plugin.ControlPanel Flow.Launcher.Plugin.ControlPanel + true false false diff --git a/Plugins/Flow.Launcher.Plugin.Explorer/Flow.Launcher.Plugin.Explorer.csproj b/Plugins/Flow.Launcher.Plugin.Explorer/Flow.Launcher.Plugin.Explorer.csproj index efa5339b4..a1a08843a 100644 --- a/Plugins/Flow.Launcher.Plugin.Explorer/Flow.Launcher.Plugin.Explorer.csproj +++ b/Plugins/Flow.Launcher.Plugin.Explorer/Flow.Launcher.Plugin.Explorer.csproj @@ -5,6 +5,7 @@ netcoreapp3.1 true true + true false diff --git a/Plugins/Flow.Launcher.Plugin.PluginIndicator/Flow.Launcher.Plugin.PluginIndicator.csproj b/Plugins/Flow.Launcher.Plugin.PluginIndicator/Flow.Launcher.Plugin.PluginIndicator.csproj index 48639156e..0e9fdcdb7 100644 --- a/Plugins/Flow.Launcher.Plugin.PluginIndicator/Flow.Launcher.Plugin.PluginIndicator.csproj +++ b/Plugins/Flow.Launcher.Plugin.PluginIndicator/Flow.Launcher.Plugin.PluginIndicator.csproj @@ -1,11 +1,13 @@  + Library netcoreapp3.1 {FDED22C8-B637-42E8-824A-63B5B6E05A3A} Properties Flow.Launcher.Plugin.PluginIndicator Flow.Launcher.Plugin.PluginIndicator + true false false diff --git a/Plugins/Flow.Launcher.Plugin.PluginManagement/Flow.Launcher.Plugin.PluginManagement.csproj b/Plugins/Flow.Launcher.Plugin.PluginManagement/Flow.Launcher.Plugin.PluginManagement.csproj index 49451d5ba..5313e1e54 100644 --- a/Plugins/Flow.Launcher.Plugin.PluginManagement/Flow.Launcher.Plugin.PluginManagement.csproj +++ b/Plugins/Flow.Launcher.Plugin.PluginManagement/Flow.Launcher.Plugin.PluginManagement.csproj @@ -1,12 +1,14 @@  + Library netcoreapp3.1 {049490F0-ECD2-4148-9B39-2135EC346EBE} Properties Flow.Launcher.Plugin.PluginManagement Flow.Launcher.Plugin.PluginManagement true + true false false diff --git a/Plugins/Flow.Launcher.Plugin.ProcessKiller/Flow.Launcher.Plugin.ProcessKiller.csproj b/Plugins/Flow.Launcher.Plugin.ProcessKiller/Flow.Launcher.Plugin.ProcessKiller.csproj index ab84aa54a..cf9c96294 100644 --- a/Plugins/Flow.Launcher.Plugin.ProcessKiller/Flow.Launcher.Plugin.ProcessKiller.csproj +++ b/Plugins/Flow.Launcher.Plugin.ProcessKiller/Flow.Launcher.Plugin.ProcessKiller.csproj @@ -1,6 +1,7 @@  + Library netcoreapp3.1 Flow.Launcher.Plugin.ProcessKiller Flow.Launcher.Plugin.ProcessKiller @@ -8,6 +9,7 @@ https://github.com/Flow-Launcher/Flow.Launcher.Plugin.ProcessKiller https://github.com/Flow-Launcher/Flow.Launcher.Plugin.ProcessKiller flow-launcher flow-plugin + true false false diff --git a/Plugins/Flow.Launcher.Plugin.Program/Flow.Launcher.Plugin.Program.csproj b/Plugins/Flow.Launcher.Plugin.Program/Flow.Launcher.Plugin.Program.csproj index 331566f90..142c9a0b6 100644 --- a/Plugins/Flow.Launcher.Plugin.Program/Flow.Launcher.Plugin.Program.csproj +++ b/Plugins/Flow.Launcher.Plugin.Program/Flow.Launcher.Plugin.Program.csproj @@ -1,6 +1,7 @@  + Library netcoreapp3.1 {FDB3555B-58EF-4AE6-B5F1-904719637AB4} Properties @@ -8,6 +9,7 @@ Flow.Launcher.Plugin.Program true true + true false false diff --git a/Plugins/Flow.Launcher.Plugin.Shell/Flow.Launcher.Plugin.Shell.csproj b/Plugins/Flow.Launcher.Plugin.Shell/Flow.Launcher.Plugin.Shell.csproj index ad1dd079e..84cfd6031 100644 --- a/Plugins/Flow.Launcher.Plugin.Shell/Flow.Launcher.Plugin.Shell.csproj +++ b/Plugins/Flow.Launcher.Plugin.Shell/Flow.Launcher.Plugin.Shell.csproj @@ -1,12 +1,14 @@  + Library netcoreapp3.1 {C21BFF9C-2C99-4B5F-B7C9-A5E6DDDB37B0} Properties Flow.Launcher.Plugin.Shell Flow.Launcher.Plugin.Shell true + true false false diff --git a/Plugins/Flow.Launcher.Plugin.Sys/Flow.Launcher.Plugin.Sys.csproj b/Plugins/Flow.Launcher.Plugin.Sys/Flow.Launcher.Plugin.Sys.csproj index b63654b7c..482b9717b 100644 --- a/Plugins/Flow.Launcher.Plugin.Sys/Flow.Launcher.Plugin.Sys.csproj +++ b/Plugins/Flow.Launcher.Plugin.Sys/Flow.Launcher.Plugin.Sys.csproj @@ -1,12 +1,14 @@  + Library netcoreapp3.1 {0B9DE348-9361-4940-ADB6-F5953BFFCCEC} Properties Flow.Launcher.Plugin.Sys Flow.Launcher.Plugin.Sys true + true false false diff --git a/Plugins/Flow.Launcher.Plugin.Url/Flow.Launcher.Plugin.Url.csproj b/Plugins/Flow.Launcher.Plugin.Url/Flow.Launcher.Plugin.Url.csproj index 75fa52290..30ad90cb6 100644 --- a/Plugins/Flow.Launcher.Plugin.Url/Flow.Launcher.Plugin.Url.csproj +++ b/Plugins/Flow.Launcher.Plugin.Url/Flow.Launcher.Plugin.Url.csproj @@ -1,12 +1,14 @@  + Library netcoreapp3.1 {A3DCCBCA-ACC1-421D-B16E-210896234C26} true Properties Flow.Launcher.Plugin.Url Flow.Launcher.Plugin.Url + true false false diff --git a/Plugins/Flow.Launcher.Plugin.WebSearch/Flow.Launcher.Plugin.WebSearch.csproj b/Plugins/Flow.Launcher.Plugin.WebSearch/Flow.Launcher.Plugin.WebSearch.csproj index c2449a49e..56cacab83 100644 --- a/Plugins/Flow.Launcher.Plugin.WebSearch/Flow.Launcher.Plugin.WebSearch.csproj +++ b/Plugins/Flow.Launcher.Plugin.WebSearch/Flow.Launcher.Plugin.WebSearch.csproj @@ -1,11 +1,13 @@  + Library netcoreapp3.1 {403B57F2-1856-4FC7-8A24-36AB346B763E} Properties Flow.Launcher.Plugin.WebSearch Flow.Launcher.Plugin.WebSearch + true false false en From a8eda142606cb0066411987132aa3fe2c6701911 Mon Sep 17 00:00:00 2001 From: Jeremy Wu Date: Mon, 21 Sep 2020 15:44:14 +1000 Subject: [PATCH 031/176] update dependency resolver to cater for existing dependency in Plugin if the assembly already referenced in Flow.Launcher.Plugin then ignore it --- .../Plugin/PluginAssemblyLoader.cs | 26 ++++++++++++++----- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/Flow.Launcher.Core/Plugin/PluginAssemblyLoader.cs b/Flow.Launcher.Core/Plugin/PluginAssemblyLoader.cs index 5bbcd1158..b9b878a7b 100644 --- a/Flow.Launcher.Core/Plugin/PluginAssemblyLoader.cs +++ b/Flow.Launcher.Core/Plugin/PluginAssemblyLoader.cs @@ -1,4 +1,5 @@ -using System; +using Flow.Launcher.Infrastructure; +using System; using System.IO; using System.Linq; using System.Reflection; @@ -10,12 +11,17 @@ namespace Flow.Launcher.Core.Plugin { private readonly AssemblyDependencyResolver dependencyResolver; + private readonly AssemblyDependencyResolver referencedPluginPackageDependencyResolver; + private readonly AssemblyName assemblyName; internal PluginAssemblyLoader(string assemblyFilePath) { dependencyResolver = new AssemblyDependencyResolver(assemblyFilePath); assemblyName = new AssemblyName(Path.GetFileNameWithoutExtension(assemblyFilePath)); + + referencedPluginPackageDependencyResolver = + new AssemblyDependencyResolver(Path.Combine(Constant.ProgramDirectory, "Flow.Launcher.Plugin.dll")); } internal Assembly LoadAssemblyAndDependencies() @@ -27,12 +33,13 @@ namespace Flow.Launcher.Core.Plugin { string assemblyPath = dependencyResolver.ResolveAssemblyToPath(assemblyName); - if (assemblyPath != null) - { - return LoadFromAssemblyPath(assemblyPath); - } - - return null; + // When resolving dependencies, ignore assembly depenedencies that already exits with Flow.Launcher.Plugin + // Otherwise will get unexpected behaviour with plugins, e.g. JsonIgnore attribute not honored in WebSearch or other plugins + // that use Newtonsoft.Json + if (assemblyPath == null || ExistsInReferencedPluginPackage(assemblyName)) + return null; + + return LoadFromAssemblyPath(assemblyPath); } internal Type FromAssemblyGetTypeOfInterface(Assembly assembly, Type type) @@ -41,5 +48,10 @@ namespace Flow.Launcher.Core.Plugin return allTypes.First(o => o.IsClass && !o.IsAbstract && o.GetInterfaces().Contains(type)); } + + internal bool ExistsInReferencedPluginPackage(AssemblyName assemblyName) + { + return referencedPluginPackageDependencyResolver.ResolveAssemblyToPath(assemblyName) != null; + } } } From 2abbca17ef8665b98f97fc583422f7fd8ffa9b4c Mon Sep 17 00:00:00 2001 From: Jeremy Wu Date: Mon, 21 Sep 2020 20:55:39 +1000 Subject: [PATCH 032/176] move Quick Folder Access list all method up move above matched Quick Folder Links because it's return type and will not run the remaining code --- .../Search/SearchManager.cs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Plugins/Flow.Launcher.Plugin.Explorer/Search/SearchManager.cs b/Plugins/Flow.Launcher.Plugin.Explorer/Search/SearchManager.cs index 6f44e8b57..5b50b7fad 100644 --- a/Plugins/Flow.Launcher.Plugin.Explorer/Search/SearchManager.cs +++ b/Plugins/Flow.Launcher.Plugin.Explorer/Search/SearchManager.cs @@ -37,17 +37,17 @@ namespace Flow.Launcher.Plugin.Explorer.Search if (IsFileContentSearch(query.ActionKeyword)) return WindowsIndexFileContentSearch(query, querySearch); - var quickFolderLinks = quickFolderAccess.FolderListMatched(query, settings.QuickFolderAccessLinks, context); - - if (quickFolderLinks.Count > 0) - results.AddRange(quickFolderLinks); - // This allows the user to type the assigned action keyword and only see the list of quick folder links if (settings.QuickFolderAccessLinks.Count > 0 && query.ActionKeyword == settings.SearchActionKeyword && string.IsNullOrEmpty(query.Search)) return quickFolderAccess.FolderListAll(query, settings.QuickFolderAccessLinks, context); + var quickFolderLinks = quickFolderAccess.FolderListMatched(query, settings.QuickFolderAccessLinks, context); + + if (quickFolderLinks.Count > 0) + results.AddRange(quickFolderLinks); + var isEnvironmentVariable = EnvironmentVariables.IsEnvironmentVariableSearch(querySearch); if (isEnvironmentVariable) From 904ad1a5e185964e7acab55723cd206568a099c5 Mon Sep 17 00:00:00 2001 From: Jeremy Wu Date: Tue, 22 Sep 2020 05:38:53 +1000 Subject: [PATCH 033/176] include Directory.Build.targets file in solution --- Flow.Launcher.sln | 1 + 1 file changed, 1 insertion(+) diff --git a/Flow.Launcher.sln b/Flow.Launcher.sln index 1dd93b2ba..6196aa5df 100644 --- a/Flow.Launcher.sln +++ b/Flow.Launcher.sln @@ -53,6 +53,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution .gitattributes = .gitattributes .gitignore = .gitignore appveyor.yml = appveyor.yml + Directory.Build.targets = Directory.Build.targets Scripts\flowlauncher.nuspec = Scripts\flowlauncher.nuspec LICENSE = LICENSE Scripts\post_build.ps1 = Scripts\post_build.ps1 From 7fd9c87bd110d9b416062c59389bda1f094b72bf Mon Sep 17 00:00:00 2001 From: Jeremy Wu Date: Tue, 22 Sep 2020 07:17:01 +1000 Subject: [PATCH 034/176] remove excess or duplicated package references - since we have fixed how dependencies are resolved for plugins, these excess or duplicated package references can be safely removed - for example Newtonsoft.Json can be removed from default plugins as it is included in Flow.Launcher.Plugin project, and external plugins will be resolved to use the reference there --- Flow.Launcher.Core/Flow.Launcher.Core.csproj | 4 ---- .../Flow.Launcher.Infrastructure.csproj | 3 --- Flow.Launcher.Plugin/Flow.Launcher.Plugin.csproj | 7 ++----- Flow.Launcher/Flow.Launcher.csproj | 12 +----------- .../Flow.Launcher.Plugin.Calculator.csproj | 2 -- .../Flow.Launcher.Plugin.Color.csproj | 5 ----- .../Flow.Launcher.Plugin.ControlPanel.csproj | 5 ----- .../Flow.Launcher.Plugin.PluginIndicator.csproj | 5 ----- .../Flow.Launcher.Plugin.PluginManagement.csproj | 6 ------ .../Flow.Launcher.Plugin.Program.csproj | 3 --- .../Flow.Launcher.Plugin.Shell.csproj | 3 --- .../Flow.Launcher.Plugin.Sys.csproj | 5 ----- .../Flow.Launcher.Plugin.Url.csproj | 5 ----- .../Flow.Launcher.Plugin.WebSearch.csproj | 6 ------ 14 files changed, 3 insertions(+), 68 deletions(-) diff --git a/Flow.Launcher.Core/Flow.Launcher.Core.csproj b/Flow.Launcher.Core/Flow.Launcher.Core.csproj index 87c390d34..9f146a457 100644 --- a/Flow.Launcher.Core/Flow.Launcher.Core.csproj +++ b/Flow.Launcher.Core/Flow.Launcher.Core.csproj @@ -54,12 +54,8 @@ - - - - diff --git a/Flow.Launcher.Infrastructure/Flow.Launcher.Infrastructure.csproj b/Flow.Launcher.Infrastructure/Flow.Launcher.Infrastructure.csproj index 410d11536..e2f08ea48 100644 --- a/Flow.Launcher.Infrastructure/Flow.Launcher.Infrastructure.csproj +++ b/Flow.Launcher.Infrastructure/Flow.Launcher.Infrastructure.csproj @@ -49,14 +49,11 @@ - - - diff --git a/Flow.Launcher.Plugin/Flow.Launcher.Plugin.csproj b/Flow.Launcher.Plugin/Flow.Launcher.Plugin.csproj index 0aacc321b..1c2b4b76a 100644 --- a/Flow.Launcher.Plugin/Flow.Launcher.Plugin.csproj +++ b/Flow.Launcher.Plugin/Flow.Launcher.Plugin.csproj @@ -1,4 +1,4 @@ - + netcoreapp3.1 @@ -60,12 +60,9 @@ - + - - - \ No newline at end of file diff --git a/Flow.Launcher/Flow.Launcher.csproj b/Flow.Launcher/Flow.Launcher.csproj index 987a685ac..8548ba39e 100644 --- a/Flow.Launcher/Flow.Launcher.csproj +++ b/Flow.Launcher/Flow.Launcher.csproj @@ -1,4 +1,4 @@ - + WinExe @@ -72,23 +72,13 @@ - - - - all runtime; build; native; contentfiles; analyzers; buildtransitive - - - - - - diff --git a/Plugins/Flow.Launcher.Plugin.Calculator/Flow.Launcher.Plugin.Calculator.csproj b/Plugins/Flow.Launcher.Plugin.Calculator/Flow.Launcher.Plugin.Calculator.csproj index 897e14263..9e1fefdb3 100644 --- a/Plugins/Flow.Launcher.Plugin.Calculator/Flow.Launcher.Plugin.Calculator.csproj +++ b/Plugins/Flow.Launcher.Plugin.Calculator/Flow.Launcher.Plugin.Calculator.csproj @@ -104,9 +104,7 @@ - - \ No newline at end of file diff --git a/Plugins/Flow.Launcher.Plugin.Color/Flow.Launcher.Plugin.Color.csproj b/Plugins/Flow.Launcher.Plugin.Color/Flow.Launcher.Plugin.Color.csproj index 091510d7f..c7fe8271a 100644 --- a/Plugins/Flow.Launcher.Plugin.Color/Flow.Launcher.Plugin.Color.csproj +++ b/Plugins/Flow.Launcher.Plugin.Color/Flow.Launcher.Plugin.Color.csproj @@ -98,9 +98,4 @@ - - - - - \ No newline at end of file diff --git a/Plugins/Flow.Launcher.Plugin.ControlPanel/Flow.Launcher.Plugin.ControlPanel.csproj b/Plugins/Flow.Launcher.Plugin.ControlPanel/Flow.Launcher.Plugin.ControlPanel.csproj index 24b54baf3..699737634 100644 --- a/Plugins/Flow.Launcher.Plugin.ControlPanel/Flow.Launcher.Plugin.ControlPanel.csproj +++ b/Plugins/Flow.Launcher.Plugin.ControlPanel/Flow.Launcher.Plugin.ControlPanel.csproj @@ -98,9 +98,4 @@ - - - - - \ No newline at end of file diff --git a/Plugins/Flow.Launcher.Plugin.PluginIndicator/Flow.Launcher.Plugin.PluginIndicator.csproj b/Plugins/Flow.Launcher.Plugin.PluginIndicator/Flow.Launcher.Plugin.PluginIndicator.csproj index 0e9fdcdb7..e6bfa7aa3 100644 --- a/Plugins/Flow.Launcher.Plugin.PluginIndicator/Flow.Launcher.Plugin.PluginIndicator.csproj +++ b/Plugins/Flow.Launcher.Plugin.PluginIndicator/Flow.Launcher.Plugin.PluginIndicator.csproj @@ -98,10 +98,5 @@ PreserveNewest - - - - - \ No newline at end of file diff --git a/Plugins/Flow.Launcher.Plugin.PluginManagement/Flow.Launcher.Plugin.PluginManagement.csproj b/Plugins/Flow.Launcher.Plugin.PluginManagement/Flow.Launcher.Plugin.PluginManagement.csproj index 5313e1e54..08e89d861 100644 --- a/Plugins/Flow.Launcher.Plugin.PluginManagement/Flow.Launcher.Plugin.PluginManagement.csproj +++ b/Plugins/Flow.Launcher.Plugin.PluginManagement/Flow.Launcher.Plugin.PluginManagement.csproj @@ -99,10 +99,4 @@ - - - - - - \ No newline at end of file diff --git a/Plugins/Flow.Launcher.Plugin.Program/Flow.Launcher.Plugin.Program.csproj b/Plugins/Flow.Launcher.Plugin.Program/Flow.Launcher.Plugin.Program.csproj index 142c9a0b6..3802297c7 100644 --- a/Plugins/Flow.Launcher.Plugin.Program/Flow.Launcher.Plugin.Program.csproj +++ b/Plugins/Flow.Launcher.Plugin.Program/Flow.Launcher.Plugin.Program.csproj @@ -109,10 +109,7 @@ - - - diff --git a/Plugins/Flow.Launcher.Plugin.Shell/Flow.Launcher.Plugin.Shell.csproj b/Plugins/Flow.Launcher.Plugin.Shell/Flow.Launcher.Plugin.Shell.csproj index 84cfd6031..178d95010 100644 --- a/Plugins/Flow.Launcher.Plugin.Shell/Flow.Launcher.Plugin.Shell.csproj +++ b/Plugins/Flow.Launcher.Plugin.Shell/Flow.Launcher.Plugin.Shell.csproj @@ -96,9 +96,6 @@ - - - \ No newline at end of file diff --git a/Plugins/Flow.Launcher.Plugin.Sys/Flow.Launcher.Plugin.Sys.csproj b/Plugins/Flow.Launcher.Plugin.Sys/Flow.Launcher.Plugin.Sys.csproj index 482b9717b..bdab40457 100644 --- a/Plugins/Flow.Launcher.Plugin.Sys/Flow.Launcher.Plugin.Sys.csproj +++ b/Plugins/Flow.Launcher.Plugin.Sys/Flow.Launcher.Plugin.Sys.csproj @@ -127,10 +127,5 @@ - - - - - \ No newline at end of file diff --git a/Plugins/Flow.Launcher.Plugin.Url/Flow.Launcher.Plugin.Url.csproj b/Plugins/Flow.Launcher.Plugin.Url/Flow.Launcher.Plugin.Url.csproj index 30ad90cb6..7d802d815 100644 --- a/Plugins/Flow.Launcher.Plugin.Url/Flow.Launcher.Plugin.Url.csproj +++ b/Plugins/Flow.Launcher.Plugin.Url/Flow.Launcher.Plugin.Url.csproj @@ -90,10 +90,5 @@ PreserveNewest - - - - - \ No newline at end of file diff --git a/Plugins/Flow.Launcher.Plugin.WebSearch/Flow.Launcher.Plugin.WebSearch.csproj b/Plugins/Flow.Launcher.Plugin.WebSearch/Flow.Launcher.Plugin.WebSearch.csproj index 56cacab83..431ca9ce8 100644 --- a/Plugins/Flow.Launcher.Plugin.WebSearch/Flow.Launcher.Plugin.WebSearch.csproj +++ b/Plugins/Flow.Launcher.Plugin.WebSearch/Flow.Launcher.Plugin.WebSearch.csproj @@ -141,12 +141,6 @@ - - - - - - From a77d0380d3c1934fcb42a2061569a7da5eb29345 Mon Sep 17 00:00:00 2001 From: Jeremy Wu Date: Tue, 22 Sep 2020 08:56:41 +1000 Subject: [PATCH 035/176] update method name typo --- Flow.Launcher.Core/Configuration/Portable.cs | 2 +- Flow.Launcher.Core/Updater.cs | 2 +- Flow.Launcher.Plugin/SharedCommands/FilesFolders.cs | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Flow.Launcher.Core/Configuration/Portable.cs b/Flow.Launcher.Core/Configuration/Portable.cs index 44e4434be..5bca087b8 100644 --- a/Flow.Launcher.Core/Configuration/Portable.cs +++ b/Flow.Launcher.Core/Configuration/Portable.cs @@ -95,7 +95,7 @@ namespace Flow.Launcher.Core.Configuration public void MoveUserDataFolder(string fromLocation, string toLocation) { - FilesFolders.Copy(fromLocation, toLocation); + FilesFolders.CopyAll(fromLocation, toLocation); VerifyUserDataAfterMove(fromLocation, toLocation); } diff --git a/Flow.Launcher.Core/Updater.cs b/Flow.Launcher.Core/Updater.cs index 99d48275a..20df23e40 100644 --- a/Flow.Launcher.Core/Updater.cs +++ b/Flow.Launcher.Core/Updater.cs @@ -91,7 +91,7 @@ namespace Flow.Launcher.Core if (DataLocation.PortableDataLocationInUse()) { var targetDestination = updateManager.RootAppDirectory + $"\\app-{newReleaseVersion.ToString()}\\{DataLocation.PortableFolderName}"; - FilesFolders.Copy(DataLocation.PortableDataPath, targetDestination); + FilesFolders.CopyAll(DataLocation.PortableDataPath, targetDestination); if (!FilesFolders.VerifyBothFolderFilesEqual(DataLocation.PortableDataPath, targetDestination)) MessageBox.Show("Flow Launcher was not able to move your user profile data to the new update version. Please manually " + $"move your profile data folder from {DataLocation.PortableDataPath} to {targetDestination}"); diff --git a/Flow.Launcher.Plugin/SharedCommands/FilesFolders.cs b/Flow.Launcher.Plugin/SharedCommands/FilesFolders.cs index 13905788a..27cd1a558 100644 --- a/Flow.Launcher.Plugin/SharedCommands/FilesFolders.cs +++ b/Flow.Launcher.Plugin/SharedCommands/FilesFolders.cs @@ -17,7 +17,7 @@ namespace Flow.Launcher.Plugin.SharedCommands /// /// /// - public static void Copy(this string sourcePath, string targetPath) + public static void CopyAll(this string sourcePath, string targetPath) { // Get the subdirectories for the specified directory. DirectoryInfo dir = new DirectoryInfo(sourcePath); @@ -50,7 +50,7 @@ namespace Flow.Launcher.Plugin.SharedCommands foreach (DirectoryInfo subdir in dirs) { string temppath = Path.Combine(targetPath, subdir.Name); - Copy(subdir.FullName, temppath); + CopyAll(subdir.FullName, temppath); } } catch (Exception e) @@ -114,7 +114,7 @@ namespace Flow.Launcher.Plugin.SharedCommands return Directory.Exists(path); } - public static bool FileExits(this string filePath) + public static bool FileExists(this string filePath) { return File.Exists(filePath); } @@ -124,7 +124,7 @@ namespace Flow.Launcher.Plugin.SharedCommands var psi = new ProcessStartInfo { FileName = FileExplorerProgramName, UseShellExecute = true, Arguments = fileOrFolderPath }; try { - if (LocationExists(fileOrFolderPath) || FileExits(fileOrFolderPath)) + if (LocationExists(fileOrFolderPath) || FileExists(fileOrFolderPath)) Process.Start(psi); } catch (Exception e) From df168c69eea7fdb611c3b64801a9800db5ba65f1 Mon Sep 17 00:00:00 2001 From: Jeremy Wu Date: Tue, 22 Sep 2020 09:03:43 +1000 Subject: [PATCH 036/176] version bump for Flow.Launcher.Plugin --- Flow.Launcher.Plugin/Flow.Launcher.Plugin.csproj | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Flow.Launcher.Plugin/Flow.Launcher.Plugin.csproj b/Flow.Launcher.Plugin/Flow.Launcher.Plugin.csproj index 0aacc321b..5dda76bc4 100644 --- a/Flow.Launcher.Plugin/Flow.Launcher.Plugin.csproj +++ b/Flow.Launcher.Plugin/Flow.Launcher.Plugin.csproj @@ -14,10 +14,10 @@ - 1.2.0 - 1.2.0 - 1.2.0 - 1.2.0 + 1.2.1 + 1.2.1 + 1.2.1 + 1.2.1 Flow.Launcher.Plugin Flow-Launcher MIT From 2d45a79aedeee41101a1b377efcd6cf22158d513 Mon Sep 17 00:00:00 2001 From: Jeremy Wu Date: Thu, 24 Sep 2020 07:22:55 +1000 Subject: [PATCH 037/176] sort ProcessKiller plugin's results ascending --- Plugins/Flow.Launcher.Plugin.ProcessKiller/Main.cs | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/Plugins/Flow.Launcher.Plugin.ProcessKiller/Main.cs b/Plugins/Flow.Launcher.Plugin.ProcessKiller/Main.cs index 22c84b20f..f675e3f45 100644 --- a/Plugins/Flow.Launcher.Plugin.ProcessKiller/Main.cs +++ b/Plugins/Flow.Launcher.Plugin.ProcessKiller/Main.cs @@ -94,12 +94,14 @@ namespace Flow.Launcher.Plugin.ProcessKiller }); } + var sortedResults = results.OrderBy(x => x.Title).ToList(); + // When there are multiple results AND all of them are instances of the same executable // add a quick option to kill them all at the top of the results. - var firstResult = results.FirstOrDefault()?.SubTitle; - if (processlist.Count > 1 && !string.IsNullOrEmpty(termToSearch) && results.All(r => r.SubTitle == firstResult)) + var firstResult = sortedResults.FirstOrDefault()?.SubTitle; + if (processlist.Count > 1 && !string.IsNullOrEmpty(termToSearch) && sortedResults.All(r => r.SubTitle == firstResult)) { - results.Insert(0, new Result() + sortedResults.Insert(1, new Result() { IcoPath = "Images/app.png", Title = string.Format(_context.API.GetTranslation("flowlauncher_plugin_processkiller_kill_all"), termToSearch), @@ -117,7 +119,7 @@ namespace Flow.Launcher.Plugin.ProcessKiller }); } - return results; + return sortedResults; } } } From f5acb9c759a09081788bbb0b539d182b6962fd25 Mon Sep 17 00:00:00 2001 From: Jeremy Wu Date: Thu, 24 Sep 2020 07:23:14 +1000 Subject: [PATCH 038/176] version bump ProcessKiller plugin --- Plugins/Flow.Launcher.Plugin.ProcessKiller/plugin.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Plugins/Flow.Launcher.Plugin.ProcessKiller/plugin.json b/Plugins/Flow.Launcher.Plugin.ProcessKiller/plugin.json index f2e1eca12..894c49bdf 100644 --- a/Plugins/Flow.Launcher.Plugin.ProcessKiller/plugin.json +++ b/Plugins/Flow.Launcher.Plugin.ProcessKiller/plugin.json @@ -4,7 +4,7 @@ "Name":"Process Killer", "Description":"kill running processes from Flow", "Author":"Flow-Launcher", - "Version":"1.0.0", + "Version":"1.1.0", "Language":"csharp", "Website":"https://github.com/Flow-Launcher/Flow.Launcher.Plugin.ProcessKiller", "IcoPath":"Images\\app.png", From 88bc9a2bd672ac4152571d898199efc710cc7804 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=98=E9=9F=AC=20=E5=BC=A0?= Date: Wed, 7 Oct 2020 23:06:12 +0800 Subject: [PATCH 039/176] Fix Encoding Error --- Flow.Launcher/App.xaml.cs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Flow.Launcher/App.xaml.cs b/Flow.Launcher/App.xaml.cs index 985d4da87..731dc1541 100644 --- a/Flow.Launcher/App.xaml.cs +++ b/Flow.Launcher/App.xaml.cs @@ -1,5 +1,6 @@ using System; using System.Diagnostics; +using System.Text; using System.Threading.Tasks; using System.Timers; using System.Windows; @@ -85,6 +86,8 @@ namespace Flow.Launcher Http.Proxy = _settings.Proxy; + Encoding.RegisterProvider(CodePagesEncodingProvider.Instance); + RegisterExitEvents(); AutoStartup(); From 01f98b16fa9799e801333523571de8244bc90212 Mon Sep 17 00:00:00 2001 From: Ioannis G Date: Sun, 11 Oct 2020 23:40:29 +0300 Subject: [PATCH 040/176] plugin/pkiller: fix context menu results do not show the "kill all instances" context menu option when the context menu itself is triggered from the "kill all X processes" result --- .../Main.cs | 25 +++++++++++-------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/Plugins/Flow.Launcher.Plugin.ProcessKiller/Main.cs b/Plugins/Flow.Launcher.Plugin.ProcessKiller/Main.cs index f675e3f45..faccc31dc 100644 --- a/Plugins/Flow.Launcher.Plugin.ProcessKiller/Main.cs +++ b/Plugins/Flow.Launcher.Plugin.ProcessKiller/Main.cs @@ -52,21 +52,24 @@ namespace Flow.Launcher.Plugin.ProcessKiller // get all non-system processes whose file path matches that of the given result (processPath) var similarProcesses = processHelper.GetSimilarProcesses(processPath); - menuOptions.Add(new Result + if (similarProcesses.Count() > 0) { - Title = _context.API.GetTranslation("flowlauncher_plugin_processkiller_kill_instances"), - SubTitle = processPath, - Action = _ => + menuOptions.Add(new Result { - foreach (var p in similarProcesses) + Title = _context.API.GetTranslation("flowlauncher_plugin_processkiller_kill_instances"), + SubTitle = processPath, + Action = _ => { - processHelper.TryKill(p); - } + foreach (var p in similarProcesses) + { + processHelper.TryKill(p); + } - return true; - }, - IcoPath = processPath - }); + return true; + }, + IcoPath = processPath + }); + } return menuOptions; } From b1ca71b3aa43f015e764e16e87a199ea0ccd2f03 Mon Sep 17 00:00:00 2001 From: Ioannis G Date: Sun, 11 Oct 2020 23:55:35 +0300 Subject: [PATCH 041/176] plugin/pkiller: improve kill-all option - better title, add count of matches in subtitle, use process icon - hide option when executable path is empty --- .../Languages/en.xaml | 3 ++- Plugins/Flow.Launcher.Plugin.ProcessKiller/Main.cs | 11 ++++++----- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/Plugins/Flow.Launcher.Plugin.ProcessKiller/Languages/en.xaml b/Plugins/Flow.Launcher.Plugin.ProcessKiller/Languages/en.xaml index 2eee31745..e7a136114 100644 --- a/Plugins/Flow.Launcher.Plugin.ProcessKiller/Languages/en.xaml +++ b/Plugins/Flow.Launcher.Plugin.ProcessKiller/Languages/en.xaml @@ -5,7 +5,8 @@ Process Killer Kill running processes from Flow Launcher - kill all "{0}" processes + kill all instances of "{0}" + kill {0} processes kill all instances \ No newline at end of file diff --git a/Plugins/Flow.Launcher.Plugin.ProcessKiller/Main.cs b/Plugins/Flow.Launcher.Plugin.ProcessKiller/Main.cs index faccc31dc..c3d9d1ab2 100644 --- a/Plugins/Flow.Launcher.Plugin.ProcessKiller/Main.cs +++ b/Plugins/Flow.Launcher.Plugin.ProcessKiller/Main.cs @@ -89,6 +89,7 @@ namespace Flow.Launcher.Plugin.ProcessKiller SubTitle = path, TitleHighlightData = StringMatcher.FuzzySearch(termToSearch, p.ProcessName).MatchData, Score = pr.Score, + ContextData = p.ProcessName, Action = (c) => { processHelper.TryKill(p); @@ -101,14 +102,14 @@ namespace Flow.Launcher.Plugin.ProcessKiller // When there are multiple results AND all of them are instances of the same executable // add a quick option to kill them all at the top of the results. - var firstResult = sortedResults.FirstOrDefault()?.SubTitle; - if (processlist.Count > 1 && !string.IsNullOrEmpty(termToSearch) && sortedResults.All(r => r.SubTitle == firstResult)) + var firstResult = sortedResults.FirstOrDefault(x => !string.IsNullOrEmpty(x.SubTitle)); + if (processlist.Count > 1 && !string.IsNullOrEmpty(termToSearch) && sortedResults.All(r => r.SubTitle == firstResult?.SubTitle)) { sortedResults.Insert(1, new Result() { - IcoPath = "Images/app.png", - Title = string.Format(_context.API.GetTranslation("flowlauncher_plugin_processkiller_kill_all"), termToSearch), - SubTitle = "", + IcoPath = firstResult?.IcoPath, + Title = string.Format(_context.API.GetTranslation("flowlauncher_plugin_processkiller_kill_all"), firstResult?.ContextData), + SubTitle = string.Format(_context.API.GetTranslation("flowlauncher_plugin_processkiller_kill_all_count"), processlist.Count), Score = 200, Action = (c) => { From 7211cdca434f376db6c58ae5993c993b87f716ca Mon Sep 17 00:00:00 2001 From: Jeremy Wu Date: Fri, 16 Oct 2020 16:59:28 +1100 Subject: [PATCH 042/176] version bump --- SolutionAssemblyInfo.cs | 6 +++--- appveyor.yml | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/SolutionAssemblyInfo.cs b/SolutionAssemblyInfo.cs index 5591de39c..abf7f5e15 100644 --- a/SolutionAssemblyInfo.cs +++ b/SolutionAssemblyInfo.cs @@ -16,6 +16,6 @@ using System.Runtime.InteropServices; [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] [assembly: ComVisible(false)] -[assembly: AssemblyVersion("1.3.0")] -[assembly: AssemblyFileVersion("1.3.0")] -[assembly: AssemblyInformationalVersion("1.3.0")] \ No newline at end of file +[assembly: AssemblyVersion("1.3.1")] +[assembly: AssemblyFileVersion("1.3.1")] +[assembly: AssemblyInformationalVersion("1.3.1")] \ No newline at end of file diff --git a/appveyor.yml b/appveyor.yml index f3bc7cce3..2b2acc304 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -1,4 +1,4 @@ -version: '1.3.0.{build}' +version: '1.3.1.{build}' init: - ps: | From 38265e687ba72fe925b130f2c09becc86c1d649f Mon Sep 17 00:00:00 2001 From: Jeremy Wu Date: Sun, 18 Oct 2020 13:13:24 +1100 Subject: [PATCH 043/176] add discord badge and update readme --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index b4459b9d8..b44628744 100644 --- a/README.md +++ b/README.md @@ -7,6 +7,7 @@ [![Github All Releases](https://img.shields.io/github/downloads/Flow-Launcher/Flow.Launcher/total.svg)](https://github.com/Flow-Launcher/Flow.Launcher/releases) [![GitHub release (latest by date)](https://img.shields.io/github/v/release/Flow-Launcher/Flow.Launcher)](https://github.com/Flow-Launcher/Flow.Launcher/releases/latest) ![GitHub Release Date](https://img.shields.io/github/release-date/Flow-Launcher/Flow.Launcher) +[![Discord](https://img.shields.io/discord/727828229250875472?color=7389D8&labelColor=6A7EC2&label=Community&logo=discord&logoColor=white)](https://discord.gg/AvgAQgh) Flow Launcher. Dedicated to make your workflow flow more seamlessly. Aimed at being more than an app launcher, it searches, integrates and expands on functionalities. Flow will continue to evolve, designed to be open and built with the community at heart. @@ -59,6 +60,8 @@ Get in touch if you like to join the Flow-Launcher Team and help build this grea Yes please, submit an issue to let us know. +**Join our community on [Discord](https://discord.gg/AvgAQgh)!** + ## Developing/Debugging Flow Launcher's target framework is .Net Core 3.1 From a911cc702404b6e1f282c5aa15e02de7ab636f76 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=98=E9=9F=AC=20=E5=BC=A0?= Date: Tue, 13 Oct 2020 14:01:26 +0800 Subject: [PATCH 044/176] Fix Copy Fail Error (don't understand why) --- Plugins/Flow.Launcher.Plugin.Calculator/Main.cs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Plugins/Flow.Launcher.Plugin.Calculator/Main.cs b/Plugins/Flow.Launcher.Plugin.Calculator/Main.cs index 1235a18e7..949911229 100644 --- a/Plugins/Flow.Launcher.Plugin.Calculator/Main.cs +++ b/Plugins/Flow.Launcher.Plugin.Calculator/Main.cs @@ -34,7 +34,7 @@ namespace Flow.Launcher.Plugin.Caculator { MagesEngine = new Engine(); } - + public void Init(PluginInitContext context) { Context = context; @@ -78,16 +78,16 @@ namespace Flow.Launcher.Plugin.Caculator { try { - Clipboard.SetText(newResult); + Clipboard.SetDataObject(newResult); return true; } - catch (ExternalException) + catch (ExternalException e) { MessageBox.Show("Copy failed, please try later"); return false; } } - } + } }; } } @@ -111,7 +111,7 @@ namespace Flow.Launcher.Plugin.Caculator { return false; } - + if (!IsBracketComplete(query.Search)) { return false; @@ -164,7 +164,7 @@ namespace Flow.Launcher.Plugin.Caculator return leftBracketCount == 0; } - + public string GetTranslatedPluginTitle() { return Context.API.GetTranslation("flowlauncher_plugin_caculator_plugin_name"); From d9085ca66c58ea19fd0a7dc9db8682d2d8cae715 Mon Sep 17 00:00:00 2001 From: Bao Qian Date: Thu, 15 Oct 2020 21:05:44 +0800 Subject: [PATCH 045/176] Change Reference --- .../Flow.Launcher.Infrastructure.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Flow.Launcher.Infrastructure/Flow.Launcher.Infrastructure.csproj b/Flow.Launcher.Infrastructure/Flow.Launcher.Infrastructure.csproj index 410d11536..d834bd2d3 100644 --- a/Flow.Launcher.Infrastructure/Flow.Launcher.Infrastructure.csproj +++ b/Flow.Launcher.Infrastructure/Flow.Launcher.Infrastructure.csproj @@ -53,10 +53,10 @@ - + From a1327c1cc14ef296a950297201980ced0d68a88f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=98=E9=9F=AC=20=E5=BC=A0?= Date: Thu, 15 Oct 2020 21:06:01 +0800 Subject: [PATCH 046/176] Seems that we don't need storage cache --- Flow.Launcher/PublicAPIInstance.cs | 1 - 1 file changed, 1 deletion(-) diff --git a/Flow.Launcher/PublicAPIInstance.cs b/Flow.Launcher/PublicAPIInstance.cs index 23f5d85b7..8520f7ba0 100644 --- a/Flow.Launcher/PublicAPIInstance.cs +++ b/Flow.Launcher/PublicAPIInstance.cs @@ -76,7 +76,6 @@ namespace Flow.Launcher _settingsVM.Save(); PluginManager.Save(); ImageLoader.Save(); - _alphabet.Save(); } public void ReloadAllPluginData() From 3454dc6d7455960612acee731693977007167991 Mon Sep 17 00:00:00 2001 From: Bao Qian Date: Thu, 15 Oct 2020 21:06:57 +0800 Subject: [PATCH 047/176] Change Pinyin Library --- Flow.Launcher.Infrastructure/Alphabet.cs | 154 +++-------------------- 1 file changed, 19 insertions(+), 135 deletions(-) diff --git a/Flow.Launcher.Infrastructure/Alphabet.cs b/Flow.Launcher.Infrastructure/Alphabet.cs index 7e24a8206..11fd6873b 100644 --- a/Flow.Launcher.Infrastructure/Alphabet.cs +++ b/Flow.Launcher.Infrastructure/Alphabet.cs @@ -3,12 +3,12 @@ using System.Collections.Concurrent; using System.Collections.Generic; using System.Linq; using System.Text; -using hyjiacan.util.p4n; -using hyjiacan.util.p4n.format; using JetBrains.Annotations; using Flow.Launcher.Infrastructure.Logger; using Flow.Launcher.Infrastructure.Storage; using Flow.Launcher.Infrastructure.UserSettings; +using ToolGood.Words.Pinyin; +using System.Threading.Tasks; namespace Flow.Launcher.Infrastructure { @@ -19,160 +19,44 @@ namespace Flow.Launcher.Infrastructure public class Alphabet : IAlphabet { - private readonly HanyuPinyinOutputFormat Format = new HanyuPinyinOutputFormat(); - private ConcurrentDictionary PinyinCache; - private BinaryStorage> _pinyinStorage; + private ConcurrentDictionary _pinyinCache; private Settings _settings; - + public void Initialize([NotNull] Settings settings) { _settings = settings ?? throw new ArgumentNullException(nameof(settings)); - InitializePinyinHelpers(); } - private void InitializePinyinHelpers() - { - Format.setToneType(HanyuPinyinToneType.WITHOUT_TONE); - Stopwatch.Normal("|Flow Launcher.Infrastructure.Alphabet.Initialize|Preload pinyin cache", () => + public string Translate(string content) + { + if (_settings.ShouldUsePinyin) { - _pinyinStorage = new BinaryStorage>("Pinyin"); - - lock(_pinyinStorage) + string result = _pinyinCache.GetValueOrDefault(content); + if (result == null) { - var loaded = _pinyinStorage.TryLoad(new Dictionary()); - - PinyinCache = new ConcurrentDictionary(loaded); - } - - // force pinyin library static constructor initialize - PinyinHelper.toHanyuPinyinStringArray('T', Format); - }); - Log.Info($"|Flow Launcher.Infrastructure.Alphabet.Initialize|Number of preload pinyin combination<{PinyinCache.Count}>"); - } - - public string Translate(string str) - { - return ConvertChineseCharactersToPinyin(str); - } - - public string ConvertChineseCharactersToPinyin(string source) - { - if (!_settings.ShouldUsePinyin) - return source; - - if (string.IsNullOrEmpty(source)) - return source; - - if (!ContainsChinese(source)) - return source; - - var combination = PinyinCombination(source); - - var pinyinArray=combination.Select(x => string.Join("", x)); - var acronymArray = combination.Select(Acronym).Distinct(); - - var joinedSingleStringCombination = new StringBuilder(); - var all = acronymArray.Concat(pinyinArray); - all.ToList().ForEach(x => joinedSingleStringCombination.Append(x)); - - return joinedSingleStringCombination.ToString(); - } - - public void Save() - { - if (!_settings.ShouldUsePinyin) - { - return; - } - - lock(_pinyinStorage) - { - _pinyinStorage.Save(PinyinCache.ToDictionary(i => i.Key, i => i.Value)); - } - } - - private static string[] EmptyStringArray = new string[0]; - private static string[][] Empty2DStringArray = new string[0][]; - - /// - /// replace chinese character with pinyin, non chinese character won't be modified - /// Because we don't have words dictionary, so we can only return all possiblie pinyin combination - /// e.g. 音乐 will return yinyue and yinle - /// should be word or sentence, instead of single character. e.g. 微软 - /// - public string[][] PinyinCombination(string characters) - { - if (!_settings.ShouldUsePinyin || string.IsNullOrEmpty(characters)) - { - return Empty2DStringArray; - } - - if (!PinyinCache.ContainsKey(characters)) - { - var allPinyins = new List(); - foreach (var c in characters) - { - var pinyins = PinyinHelper.toHanyuPinyinStringArray(c, Format); - if (pinyins != null) + if (WordsHelper.HasChinese(content)) { - var r = pinyins.Distinct().ToArray(); - allPinyins.Add(r); + result = WordsHelper.GetPinyin(content,";"); + result = GetFirstPinyinChar(result) + result.Replace(";",""); + _pinyinCache[content] = result; } else { - var r = new[] { c.ToString() }; - allPinyins.Add(r); + result = content; } } - - var combination = allPinyins.Aggregate(Combination).Select(c => c.Split(';')).ToArray(); - PinyinCache[characters] = combination; - return combination; + return result; } else { - return PinyinCache[characters]; + return content; } } - public string Acronym(string[] pinyin) + private string GetFirstPinyinChar(string content) { - var acronym = string.Join("", pinyin.Select(p => p[0])); - return acronym; - } - - public bool ContainsChinese(string word) - { - if (!_settings.ShouldUsePinyin) - { - return false; - } - - if (word.Length > 40) - { - //Skip strings that are too long string for Pinyin conversion. - return false; - } - - var chinese = word.Select(PinyinHelper.toHanyuPinyinStringArray) - .Any(p => p != null); - return chinese; - } - - private string[] Combination(string[] array1, string[] array2) - { - if (!_settings.ShouldUsePinyin) - { - return EmptyStringArray; - } - - var combination = ( - from a1 in array1 - from a2 in array2 - select $"{a1};{a2}" - ).ToArray(); - return combination; + return new string(content.Split(";").Select(c => c.First()).ToArray()); } } -} +} \ No newline at end of file From d17621cd2e4eccb84e54b73fe4e6af422b4795ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=98=E9=9F=AC=20=E5=BC=A0?= Date: Sat, 17 Oct 2020 14:17:53 +0800 Subject: [PATCH 048/176] change new string to string.concat() --- Flow.Launcher.Infrastructure/Alphabet.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Flow.Launcher.Infrastructure/Alphabet.cs b/Flow.Launcher.Infrastructure/Alphabet.cs index 11fd6873b..eda9caaae 100644 --- a/Flow.Launcher.Infrastructure/Alphabet.cs +++ b/Flow.Launcher.Infrastructure/Alphabet.cs @@ -56,7 +56,7 @@ namespace Flow.Launcher.Infrastructure private string GetFirstPinyinChar(string content) { - return new string(content.Split(";").Select(c => c.First()).ToArray()); + return string.Concat(content.Split(';').Select(x => x.First())); } } } \ No newline at end of file From c4b81a94291461182aec466a794bcc1312e3fdf9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=98=E9=9F=AC=20=E5=BC=A0?= Date: Sun, 18 Oct 2020 11:35:20 +0800 Subject: [PATCH 049/176] change query translation to Program.Main instead of using Alphabet.Tranlate to avoid cache. --- Flow.Launcher.Infrastructure/StringMatcher.cs | 1 - Plugins/Flow.Launcher.Plugin.Program/Main.cs | 7 +++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/Flow.Launcher.Infrastructure/StringMatcher.cs b/Flow.Launcher.Infrastructure/StringMatcher.cs index 2a4270fb4..d390e48a2 100644 --- a/Flow.Launcher.Infrastructure/StringMatcher.cs +++ b/Flow.Launcher.Infrastructure/StringMatcher.cs @@ -50,7 +50,6 @@ namespace Flow.Launcher.Infrastructure if (_alphabet != null) { - query = _alphabet.Translate(query); stringToCompare = _alphabet.Translate(stringToCompare); } diff --git a/Plugins/Flow.Launcher.Plugin.Program/Main.cs b/Plugins/Flow.Launcher.Plugin.Program/Main.cs index 9f3160746..36ff8bbe5 100644 --- a/Plugins/Flow.Launcher.Plugin.Program/Main.cs +++ b/Plugins/Flow.Launcher.Plugin.Program/Main.cs @@ -8,6 +8,7 @@ using Flow.Launcher.Infrastructure.Logger; using Flow.Launcher.Infrastructure.Storage; using Flow.Launcher.Plugin.Program.Programs; using Flow.Launcher.Plugin.Program.Views; +using ToolGood.Words.Pinyin; using Stopwatch = Flow.Launcher.Infrastructure.Stopwatch; namespace Flow.Launcher.Plugin.Program @@ -77,13 +78,15 @@ namespace Flow.Launcher.Plugin.Program uwps = _uwps; } + var searchText = WordsHelper.HasChinese(query.Search) ? WordsHelper.GetPinyin(query.Search) : query.Search; + var results1 = win32.AsParallel() .Where(p => p.Enabled) - .Select(p => p.Result(query.Search, _context.API)); + .Select(p => p.Result(searchText, _context.API)); var results2 = uwps.AsParallel() .Where(p => p.Enabled) - .Select(p => p.Result(query.Search, _context.API)); + .Select(p => p.Result(searchText, _context.API)); var result = results1.Concat(results2).Where(r => r != null && r.Score > 0).ToList(); return result; From 4ebfba76a3ec73848b7e9c0ed0f5cd2d3eaf337d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=98=E9=9F=AC=20=E5=BC=A0?= Date: Sun, 18 Oct 2020 11:46:56 +0800 Subject: [PATCH 050/176] using ContainKey instead of getvalueofdefault --- Flow.Launcher.Infrastructure/Alphabet.cs | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/Flow.Launcher.Infrastructure/Alphabet.cs b/Flow.Launcher.Infrastructure/Alphabet.cs index eda9caaae..d0e496a2c 100644 --- a/Flow.Launcher.Infrastructure/Alphabet.cs +++ b/Flow.Launcher.Infrastructure/Alphabet.cs @@ -32,21 +32,20 @@ namespace Flow.Launcher.Infrastructure { if (_settings.ShouldUsePinyin) { - string result = _pinyinCache.GetValueOrDefault(content); - if (result == null) + if (_pinyinCache.ContainsKey(content)) { if (WordsHelper.HasChinese(content)) { - result = WordsHelper.GetPinyin(content,";"); + var result = WordsHelper.GetPinyin(content,";"); result = GetFirstPinyinChar(result) + result.Replace(";",""); _pinyinCache[content] = result; + return result; } else { - result = content; + return content; } } - return result; } else { From dd2d3c68c1ef4eff1b24e392a05dd7c8e5299b5a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=98=E9=9F=AC=20=E5=BC=A0?= Date: Sun, 18 Oct 2020 11:48:17 +0800 Subject: [PATCH 051/176] fixup the reduced code due to testing --- Flow.Launcher.Infrastructure/Alphabet.cs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Flow.Launcher.Infrastructure/Alphabet.cs b/Flow.Launcher.Infrastructure/Alphabet.cs index d0e496a2c..1ea075337 100644 --- a/Flow.Launcher.Infrastructure/Alphabet.cs +++ b/Flow.Launcher.Infrastructure/Alphabet.cs @@ -36,8 +36,8 @@ namespace Flow.Launcher.Infrastructure { if (WordsHelper.HasChinese(content)) { - var result = WordsHelper.GetPinyin(content,";"); - result = GetFirstPinyinChar(result) + result.Replace(";",""); + var result = WordsHelper.GetPinyin(content, ";"); + result = GetFirstPinyinChar(result) + result.Replace(";", ""); _pinyinCache[content] = result; return result; } @@ -46,6 +46,8 @@ namespace Flow.Launcher.Infrastructure return content; } } + else + return _pinyinCache[content]; } else { From 775910f31e7fef4033d050cc15b539552cc5b973 Mon Sep 17 00:00:00 2001 From: Jeremy Wu Date: Sun, 18 Oct 2020 21:02:12 +1100 Subject: [PATCH 052/176] plugin Calculator version bump --- Plugins/Flow.Launcher.Plugin.Calculator/plugin.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Plugins/Flow.Launcher.Plugin.Calculator/plugin.json b/Plugins/Flow.Launcher.Plugin.Calculator/plugin.json index 284a2893d..316788884 100644 --- a/Plugins/Flow.Launcher.Plugin.Calculator/plugin.json +++ b/Plugins/Flow.Launcher.Plugin.Calculator/plugin.json @@ -4,7 +4,7 @@ "Name": "Calculator", "Description": "Provide mathematical calculations.(Try 5*3-2 in Flow Launcher)", "Author": "cxfksword", - "Version": "1.0.0", + "Version": "1.0.1", "Language": "csharp", "Website": "https://github.com/Flow-Launcher/Flow.Launcher", "ExecuteFileName": "Flow.Launcher.Plugin.Caculator.dll", From 6210454bbdaa3d51278eba8e1792ea8928392880 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=98=E9=9F=AC=20=E5=BC=A0?= Date: Mon, 19 Oct 2020 20:37:40 +0800 Subject: [PATCH 053/176] Fix reverse condition --- Flow.Launcher.Infrastructure/Alphabet.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Flow.Launcher.Infrastructure/Alphabet.cs b/Flow.Launcher.Infrastructure/Alphabet.cs index 1ea075337..1d0ed93de 100644 --- a/Flow.Launcher.Infrastructure/Alphabet.cs +++ b/Flow.Launcher.Infrastructure/Alphabet.cs @@ -32,7 +32,7 @@ namespace Flow.Launcher.Infrastructure { if (_settings.ShouldUsePinyin) { - if (_pinyinCache.ContainsKey(content)) + if (!_pinyinCache.ContainsKey(content)) { if (WordsHelper.HasChinese(content)) { From 4bf5b2e0a8f39bb9aed382e130a7e440f820ae34 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=98=E9=9F=AC=20=E5=BC=A0?= Date: Mon, 19 Oct 2020 20:40:22 +0800 Subject: [PATCH 054/176] Add curly bracket --- Flow.Launcher.Infrastructure/Alphabet.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Flow.Launcher.Infrastructure/Alphabet.cs b/Flow.Launcher.Infrastructure/Alphabet.cs index 1d0ed93de..1b87dff73 100644 --- a/Flow.Launcher.Infrastructure/Alphabet.cs +++ b/Flow.Launcher.Infrastructure/Alphabet.cs @@ -47,7 +47,7 @@ namespace Flow.Launcher.Infrastructure } } else - return _pinyinCache[content]; + return (_pinyinCache[content]); } else { From 9b779d90d28030999b4ba91dc9ed18092632de02 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=98=E9=9F=AC=20=E5=BC=A0?= Date: Mon, 19 Oct 2020 20:40:22 +0800 Subject: [PATCH 055/176] Add curly bracket --- Flow.Launcher.Infrastructure/Alphabet.cs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Flow.Launcher.Infrastructure/Alphabet.cs b/Flow.Launcher.Infrastructure/Alphabet.cs index 1d0ed93de..bc92bda0e 100644 --- a/Flow.Launcher.Infrastructure/Alphabet.cs +++ b/Flow.Launcher.Infrastructure/Alphabet.cs @@ -47,7 +47,9 @@ namespace Flow.Launcher.Infrastructure } } else + { return _pinyinCache[content]; + } } else { From 80a2f0df71f1c863e81d92c1eff8c5e240244637 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=98=E9=9F=AC=20=E5=BC=A0?= Date: Wed, 21 Oct 2020 17:00:56 +0800 Subject: [PATCH 056/176] Put tranlate query back to fuzzy search until better solution --- Flow.Launcher.Infrastructure/StringMatcher.cs | 1 + Plugins/Flow.Launcher.Plugin.Program/Main.cs | 5 ++--- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Flow.Launcher.Infrastructure/StringMatcher.cs b/Flow.Launcher.Infrastructure/StringMatcher.cs index d390e48a2..2a4270fb4 100644 --- a/Flow.Launcher.Infrastructure/StringMatcher.cs +++ b/Flow.Launcher.Infrastructure/StringMatcher.cs @@ -50,6 +50,7 @@ namespace Flow.Launcher.Infrastructure if (_alphabet != null) { + query = _alphabet.Translate(query); stringToCompare = _alphabet.Translate(stringToCompare); } diff --git a/Plugins/Flow.Launcher.Plugin.Program/Main.cs b/Plugins/Flow.Launcher.Plugin.Program/Main.cs index 36ff8bbe5..eca6511e8 100644 --- a/Plugins/Flow.Launcher.Plugin.Program/Main.cs +++ b/Plugins/Flow.Launcher.Plugin.Program/Main.cs @@ -78,15 +78,14 @@ namespace Flow.Launcher.Plugin.Program uwps = _uwps; } - var searchText = WordsHelper.HasChinese(query.Search) ? WordsHelper.GetPinyin(query.Search) : query.Search; var results1 = win32.AsParallel() .Where(p => p.Enabled) - .Select(p => p.Result(searchText, _context.API)); + .Select(p => p.Result(query.Search, _context.API)); var results2 = uwps.AsParallel() .Where(p => p.Enabled) - .Select(p => p.Result(searchText, _context.API)); + .Select(p => p.Result(query.Search, _context.API)); var result = results1.Concat(results2).Where(r => r != null && r.Score > 0).ToList(); return result; From 77aff43d1a74454fd887fe2e54a9224f4f2ea09f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=98=E9=9F=AC=20=E5=BC=A0?= Date: Sun, 25 Oct 2020 10:26:56 +0800 Subject: [PATCH 057/176] Initialize uninitialized cache --- Flow.Launcher.Infrastructure/Alphabet.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Flow.Launcher.Infrastructure/Alphabet.cs b/Flow.Launcher.Infrastructure/Alphabet.cs index bc92bda0e..15f6ef7c4 100644 --- a/Flow.Launcher.Infrastructure/Alphabet.cs +++ b/Flow.Launcher.Infrastructure/Alphabet.cs @@ -19,7 +19,7 @@ namespace Flow.Launcher.Infrastructure public class Alphabet : IAlphabet { - private ConcurrentDictionary _pinyinCache; + private ConcurrentDictionary _pinyinCache = new ConcurrentDictionary(); private Settings _settings; public void Initialize([NotNull] Settings settings) From 991227a6aa735681d50f8e059f3bd4a3526f9d76 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=98=E9=9F=AC=20=E5=BC=A0?= Date: Wed, 14 Oct 2020 23:37:09 +0800 Subject: [PATCH 058/176] Add Enabled property to generic --- Plugins/Flow.Launcher.Plugin.Program/Programs/IProgram.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/Plugins/Flow.Launcher.Plugin.Program/Programs/IProgram.cs b/Plugins/Flow.Launcher.Plugin.Program/Programs/IProgram.cs index b42acfbce..d4c96e5b7 100644 --- a/Plugins/Flow.Launcher.Plugin.Program/Programs/IProgram.cs +++ b/Plugins/Flow.Launcher.Plugin.Program/Programs/IProgram.cs @@ -9,5 +9,6 @@ namespace Flow.Launcher.Plugin.Program.Programs string UniqueIdentifier { get; set; } string Name { get; } string Location { get; } + bool Enabled { get; } } } From 24ce10183ebb09e542ea15e1647bb3e6e703e406 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=98=E9=9F=AC=20=E5=BC=A0?= Date: Wed, 14 Oct 2020 23:37:43 +0800 Subject: [PATCH 059/176] Improve reindex speed Co-authored-by: Qian Bao --- .../Programs/Win32.cs | 101 ++++++------------ 1 file changed, 35 insertions(+), 66 deletions(-) diff --git a/Plugins/Flow.Launcher.Plugin.Program/Programs/Win32.cs b/Plugins/Flow.Launcher.Plugin.Program/Programs/Win32.cs index cdea767f3..49a0741d1 100644 --- a/Plugins/Flow.Launcher.Plugin.Program/Programs/Win32.cs +++ b/Plugins/Flow.Launcher.Plugin.Program/Programs/Win32.cs @@ -140,8 +140,6 @@ namespace Flow.Launcher.Plugin.Program.Programs Title = api.GetTranslation("flowlauncher_plugin_program_open_containing_folder"), Action = _ => { - - Main.StartProcess(Process.Start, new ProcessStartInfo("explorer", ParentDirectory)); return true; @@ -254,10 +252,7 @@ namespace Flow.Launcher.Plugin.Program.Programs { var program = Win32Program(path); var info = FileVersionInfo.GetVersionInfo(path); - if (!string.IsNullOrEmpty(info.FileDescription)) - { - program.Description = info.FileDescription; - } + program.Description = info.FileDescription; return program; } catch (Exception e) when (e is SecurityException || e is UnauthorizedAccessException) @@ -273,47 +268,23 @@ namespace Flow.Launcher.Plugin.Program.Programs { if (!Directory.Exists(directory)) return new string[] { }; - var files = new List(); - var folderQueue = new Queue(); - folderQueue.Enqueue(directory); - do + try { - var currentDirectory = folderQueue.Dequeue(); - try - { - foreach (var suffix in suffixes) - { - try - { - files.AddRange(Directory.EnumerateFiles(currentDirectory, $"*.{suffix}", SearchOption.TopDirectoryOnly)); - } - catch (DirectoryNotFoundException e) - { - ProgramLogger.LogException($"|Win32|ProgramPaths|{currentDirectory}" + - "|The directory trying to load the program from does not exist", e); - } - } - } - catch (Exception e) when (e is SecurityException || e is UnauthorizedAccessException) - { - ProgramLogger.LogException($"|Win32|ProgramPaths|{currentDirectory}" + - $"|Permission denied when trying to load programs from {currentDirectory}", e); - } + var paths = Directory.EnumerateFiles(directory, "*", SearchOption.AllDirectories) + .Where(x => suffixes.Contains(Extension(x))); + return paths; - try - { - foreach (var childDirectory in Directory.EnumerateDirectories(currentDirectory, "*", SearchOption.TopDirectoryOnly)) - { - folderQueue.Enqueue(childDirectory); - } - } - catch (Exception e) when (e is SecurityException || e is UnauthorizedAccessException) - { - ProgramLogger.LogException($"|Win32|ProgramPaths|{currentDirectory}" + - $"|Permission denied when trying to load programs from {currentDirectory}", e); - } - } while (folderQueue.Any()); - return files; + } + catch (DirectoryNotFoundException e) + { + ProgramLogger.LogException($"Directory not found {directory}", e); + return new string[] { }; + } + catch (Exception e) when (e is SecurityException || e is UnauthorizedAccessException) + { + ProgramLogger.LogException($"Permission denied {directory}", e); + return new string[] { }; + } } private static string Extension(string path) @@ -331,23 +302,20 @@ namespace Flow.Launcher.Plugin.Program.Programs private static ParallelQuery UnregisteredPrograms(List sources, string[] suffixes) { - var listToAdd = new List(); - sources.Where(s => Directory.Exists(s.Location) && s.Enabled) + var paths = sources.Where(s => Directory.Exists(s.Location) && s.Enabled) .SelectMany(s => ProgramPaths(s.Location, suffixes)) - .ToList() .Where(t1 => !Main._settings.DisabledProgramSources.Any(x => t1 == x.UniqueIdentifier)) - .ToList() - .ForEach(x => listToAdd.Add(x)); + .Distinct(); - var paths = listToAdd.Distinct().ToArray(); + var programs = paths.AsParallel().Select(x => Extension(x) switch + { + ExeExtension => ExeProgram(x), + ShortcutExtension => LnkProgram(x), + _ => Win32Program(x) + }); - var programs1 = paths.AsParallel().Where(p => Extension(p) == ExeExtension).Select(ExeProgram); - var programs2 = paths.AsParallel().Where(p => Extension(p) == ShortcutExtension).Select(LnkProgram); - var programs3 = from p in paths.AsParallel() - let e = Extension(p) - where e != ShortcutExtension && e != ExeExtension - select Win32Program(p); - return programs1.Concat(programs2).Concat(programs3); + + return programs; } private static ParallelQuery StartMenuPrograms(string[] suffixes) @@ -360,15 +328,16 @@ namespace Flow.Launcher.Plugin.Program.Programs var paths2 = ProgramPaths(directory2, suffixes); var toFilter = paths1.Concat(paths2); - var paths = toFilter - .Where(t1 => !disabledProgramsList.Any(x => x.UniqueIdentifier == t1)) - .Select(t1 => t1) - .Distinct() - .ToArray(); - var programs1 = paths.AsParallel().Where(p => Extension(p) == ShortcutExtension).Select(LnkProgram); - var programs2 = paths.AsParallel().Where(p => Extension(p) == ApplicationReferenceExtension).Select(Win32Program); - var programs = programs1.Concat(programs2).Where(p => p.Valid); + var programs = toFilter + .AsParallel() + .Where(t1 => !disabledProgramsList.Any(x => x.UniqueIdentifier == t1)) + .Distinct() + .Select(x => Extension(x) switch + { + ShortcutExtension => LnkProgram(x), + _ => Win32Program(x) + }).Where(x => x.Valid); return programs; } From 86edae2bc6d711a86f92b2e6c4946e2731e18a79 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=98=E9=9F=AC=20=E5=BC=A0?= Date: Wed, 14 Oct 2020 23:43:16 +0800 Subject: [PATCH 060/176] Use Generic to remove duplicate query --- Plugins/Flow.Launcher.Plugin.Program/Main.cs | 36 ++++++++------------ 1 file changed, 15 insertions(+), 21 deletions(-) diff --git a/Plugins/Flow.Launcher.Plugin.Program/Main.cs b/Plugins/Flow.Launcher.Plugin.Program/Main.cs index 9f3160746..8f124f3a4 100644 --- a/Plugins/Flow.Launcher.Plugin.Program/Main.cs +++ b/Plugins/Flow.Launcher.Plugin.Program/Main.cs @@ -71,21 +71,17 @@ namespace Flow.Launcher.Plugin.Program Win32[] win32; UWP.Application[] uwps; - lock (IndexLock) - { // just take the reference inside the lock to eliminate query time issues. - win32 = _win32s; - uwps = _uwps; - } + win32 = _win32s; + uwps = _uwps; - var results1 = win32.AsParallel() - .Where(p => p.Enabled) - .Select(p => p.Result(query.Search, _context.API)); + var result = win32.Cast() + .Concat(uwps) + .AsParallel() + .Where(p => p.Enabled) + .Select(p => p.Result(query.Search, _context.API)) + .Where(r => r?.Score > 0) + .ToList(); - var results2 = uwps.AsParallel() - .Where(p => p.Enabled) - .Select(p => p.Result(query.Search, _context.API)); - - var result = results1.Concat(results2).Where(r => r != null && r.Score > 0).ToList(); return result; } @@ -97,10 +93,9 @@ namespace Flow.Launcher.Plugin.Program public static void IndexWin32Programs() { var win32S = Win32.All(_settings); - lock (IndexLock) - { - _win32s = win32S; - } + + _win32s = win32S; + } public static void IndexUWPPrograms() @@ -109,10 +104,9 @@ namespace Flow.Launcher.Plugin.Program var support = Environment.OSVersion.Version.Major >= windows10.Major; var applications = support ? UWP.All() : new UWP.Application[] { }; - lock (IndexLock) - { - _uwps = applications; - } + + _uwps = applications; + } public static void IndexPrograms() From d65f5a334775b4f65978d58773b398691e33fe37 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=98=E9=9F=AC=20=E5=BC=A0?= Date: Sun, 25 Oct 2020 11:26:54 +0800 Subject: [PATCH 061/176] remove extra fuzzy search Co-authored-by: Qian Bao --- .../Programs/UWP.cs | 45 +++++++----------- .../Programs/Win32.cs | 47 ++++++------------- 2 files changed, 31 insertions(+), 61 deletions(-) diff --git a/Plugins/Flow.Launcher.Plugin.Program/Programs/UWP.cs b/Plugins/Flow.Launcher.Plugin.Program/Programs/UWP.cs index 69e077ee2..1ebcdc907 100644 --- a/Plugins/Flow.Launcher.Plugin.Program/Programs/UWP.cs +++ b/Plugins/Flow.Launcher.Plugin.Program/Programs/UWP.cs @@ -265,27 +265,30 @@ namespace Flow.Launcher.Plugin.Program.Programs public Application(){} - private int Score(string query) - { - var displayNameMatch = StringMatcher.FuzzySearch(query, DisplayName); - var descriptionMatch = StringMatcher.FuzzySearch(query, Description); - var score = new[] { displayNameMatch.Score, descriptionMatch.Score }.Max(); - return score; - } public Result Result(string query, IPublicAPI api) { - var score = Score(query); - if (score <= 0) - { // no need to create result if score is 0 + var title = (Name, Description) switch + { + (var n, null) => n, + (var n, var d) when d.Contains(n) => d, + (var n, var d) when n.Contains(d) => n, + (var n, var d) when !string.IsNullOrEmpty(d) => $"{n}: {d}", + _ => Name + }; + + var matchResult = StringMatcher.FuzzySearch(query, title); + + if (!matchResult.Success) return null; - } var result = new Result { + Title = title, SubTitle = Package.Location, Icon = Logo, - Score = score, + Score = matchResult.Score, + TitleHighlightData = matchResult.MatchData, ContextData = this, Action = e => { @@ -294,23 +297,7 @@ namespace Flow.Launcher.Plugin.Program.Programs } }; - if (Description.Length >= DisplayName.Length && - Description.Substring(0, DisplayName.Length) == DisplayName) - { - result.Title = Description; - result.TitleHighlightData = StringMatcher.FuzzySearch(query, Description).MatchData; - } - else if (!string.IsNullOrEmpty(Description)) - { - var title = $"{DisplayName}: {Description}"; - result.Title = title; - result.TitleHighlightData = StringMatcher.FuzzySearch(query, title).MatchData; - } - else - { - result.Title = DisplayName; - result.TitleHighlightData = StringMatcher.FuzzySearch(query, DisplayName).MatchData; - } + return result; } diff --git a/Plugins/Flow.Launcher.Plugin.Program/Programs/Win32.cs b/Plugins/Flow.Launcher.Plugin.Program/Programs/Win32.cs index 49a0741d1..f1fcc4ef7 100644 --- a/Plugins/Flow.Launcher.Plugin.Program/Programs/Win32.cs +++ b/Plugins/Flow.Launcher.Plugin.Program/Programs/Win32.cs @@ -33,29 +33,30 @@ namespace Flow.Launcher.Plugin.Program.Programs private const string ApplicationReferenceExtension = "appref-ms"; private const string ExeExtension = "exe"; - private int Score(string query) - { - var nameMatch = StringMatcher.FuzzySearch(query, Name); - var descriptionMatch = StringMatcher.FuzzySearch(query, Description); - var executableNameMatch = StringMatcher.FuzzySearch(query, ExecutableName); - var score = new[] { nameMatch.Score, descriptionMatch.Score, executableNameMatch.Score }.Max(); - return score; - } - public Result Result(string query, IPublicAPI api) { - var score = Score(query); - if (score <= 0) - { // no need to create result if this is zero + var title = (Name, Description) switch + { + (var n, null) => n, + (var n, var d) when d.Contains(n) => d, + (var n, var d) when n.Contains(d) => n, + (var n, var d) when !string.IsNullOrEmpty(d) => $"{n}: {d}", + _ => Name + }; + + var matchResult = StringMatcher.FuzzySearch(query, title); + + if (!matchResult.Success) return null; - } var result = new Result { + Title = title, SubTitle = FullPath, IcoPath = IcoPath, - Score = score, + Score = matchResult.Score, + TitleHighlightData = matchResult.MatchData, ContextData = this, Action = e => { @@ -72,24 +73,6 @@ namespace Flow.Launcher.Plugin.Program.Programs } }; - if (Description.Length >= Name.Length && - Description.Substring(0, Name.Length) == Name) - { - result.Title = Description; - result.TitleHighlightData = StringMatcher.FuzzySearch(query, Description).MatchData; - } - else if (!string.IsNullOrEmpty(Description)) - { - var title = $"{Name}: {Description}"; - result.Title = title; - result.TitleHighlightData = StringMatcher.FuzzySearch(query, title).MatchData; - } - else - { - result.Title = Name; - result.TitleHighlightData = StringMatcher.FuzzySearch(query, Name).MatchData; - } - return result; } From 04ee651b64b28dbd8087dc1aadb9f35b7653093b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=98=E9=9F=AC=20=E5=BC=A0?= Date: Sun, 25 Oct 2020 11:26:54 +0800 Subject: [PATCH 062/176] remove extra fuzzy search Co-authored-by: Qian Bao --- .../Programs/UWP.cs | 45 +++++++----------- .../Programs/Win32.cs | 47 ++++++------------- 2 files changed, 31 insertions(+), 61 deletions(-) diff --git a/Plugins/Flow.Launcher.Plugin.Program/Programs/UWP.cs b/Plugins/Flow.Launcher.Plugin.Program/Programs/UWP.cs index 69e077ee2..1ebcdc907 100644 --- a/Plugins/Flow.Launcher.Plugin.Program/Programs/UWP.cs +++ b/Plugins/Flow.Launcher.Plugin.Program/Programs/UWP.cs @@ -265,27 +265,30 @@ namespace Flow.Launcher.Plugin.Program.Programs public Application(){} - private int Score(string query) - { - var displayNameMatch = StringMatcher.FuzzySearch(query, DisplayName); - var descriptionMatch = StringMatcher.FuzzySearch(query, Description); - var score = new[] { displayNameMatch.Score, descriptionMatch.Score }.Max(); - return score; - } public Result Result(string query, IPublicAPI api) { - var score = Score(query); - if (score <= 0) - { // no need to create result if score is 0 + var title = (Name, Description) switch + { + (var n, null) => n, + (var n, var d) when d.Contains(n) => d, + (var n, var d) when n.Contains(d) => n, + (var n, var d) when !string.IsNullOrEmpty(d) => $"{n}: {d}", + _ => Name + }; + + var matchResult = StringMatcher.FuzzySearch(query, title); + + if (!matchResult.Success) return null; - } var result = new Result { + Title = title, SubTitle = Package.Location, Icon = Logo, - Score = score, + Score = matchResult.Score, + TitleHighlightData = matchResult.MatchData, ContextData = this, Action = e => { @@ -294,23 +297,7 @@ namespace Flow.Launcher.Plugin.Program.Programs } }; - if (Description.Length >= DisplayName.Length && - Description.Substring(0, DisplayName.Length) == DisplayName) - { - result.Title = Description; - result.TitleHighlightData = StringMatcher.FuzzySearch(query, Description).MatchData; - } - else if (!string.IsNullOrEmpty(Description)) - { - var title = $"{DisplayName}: {Description}"; - result.Title = title; - result.TitleHighlightData = StringMatcher.FuzzySearch(query, title).MatchData; - } - else - { - result.Title = DisplayName; - result.TitleHighlightData = StringMatcher.FuzzySearch(query, DisplayName).MatchData; - } + return result; } diff --git a/Plugins/Flow.Launcher.Plugin.Program/Programs/Win32.cs b/Plugins/Flow.Launcher.Plugin.Program/Programs/Win32.cs index 49a0741d1..f1fcc4ef7 100644 --- a/Plugins/Flow.Launcher.Plugin.Program/Programs/Win32.cs +++ b/Plugins/Flow.Launcher.Plugin.Program/Programs/Win32.cs @@ -33,29 +33,30 @@ namespace Flow.Launcher.Plugin.Program.Programs private const string ApplicationReferenceExtension = "appref-ms"; private const string ExeExtension = "exe"; - private int Score(string query) - { - var nameMatch = StringMatcher.FuzzySearch(query, Name); - var descriptionMatch = StringMatcher.FuzzySearch(query, Description); - var executableNameMatch = StringMatcher.FuzzySearch(query, ExecutableName); - var score = new[] { nameMatch.Score, descriptionMatch.Score, executableNameMatch.Score }.Max(); - return score; - } - public Result Result(string query, IPublicAPI api) { - var score = Score(query); - if (score <= 0) - { // no need to create result if this is zero + var title = (Name, Description) switch + { + (var n, null) => n, + (var n, var d) when d.Contains(n) => d, + (var n, var d) when n.Contains(d) => n, + (var n, var d) when !string.IsNullOrEmpty(d) => $"{n}: {d}", + _ => Name + }; + + var matchResult = StringMatcher.FuzzySearch(query, title); + + if (!matchResult.Success) return null; - } var result = new Result { + Title = title, SubTitle = FullPath, IcoPath = IcoPath, - Score = score, + Score = matchResult.Score, + TitleHighlightData = matchResult.MatchData, ContextData = this, Action = e => { @@ -72,24 +73,6 @@ namespace Flow.Launcher.Plugin.Program.Programs } }; - if (Description.Length >= Name.Length && - Description.Substring(0, Name.Length) == Name) - { - result.Title = Description; - result.TitleHighlightData = StringMatcher.FuzzySearch(query, Description).MatchData; - } - else if (!string.IsNullOrEmpty(Description)) - { - var title = $"{Name}: {Description}"; - result.Title = title; - result.TitleHighlightData = StringMatcher.FuzzySearch(query, title).MatchData; - } - else - { - result.Title = Name; - result.TitleHighlightData = StringMatcher.FuzzySearch(query, Name).MatchData; - } - return result; } From 22fa8c164b07338d006a45e356df171d8afb47e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=98=E9=9F=AC=20=E5=BC=A0?= Date: Sun, 25 Oct 2020 11:29:23 +0800 Subject: [PATCH 063/176] Version Bump --- Plugins/Flow.Launcher.Plugin.Program/plugin.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Plugins/Flow.Launcher.Plugin.Program/plugin.json b/Plugins/Flow.Launcher.Plugin.Program/plugin.json index 0316a2397..3eb4a40e1 100644 --- a/Plugins/Flow.Launcher.Plugin.Program/plugin.json +++ b/Plugins/Flow.Launcher.Plugin.Program/plugin.json @@ -4,7 +4,7 @@ "Name": "Program", "Description": "Search programs in Flow.Launcher", "Author": "qianlifeng", - "Version": "1.0.0", + "Version": "1.1.0", "Language": "csharp", "Website": "https://github.com/Flow-Launcher/Flow.Launcher", "ExecuteFileName": "Flow.Launcher.Plugin.Program.dll", From a266c3fa6a599b41d828c1e54dd7e4b26a237bab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=98=E9=9F=AC=20=E5=BC=A0?= Date: Mon, 26 Oct 2020 11:35:08 +0800 Subject: [PATCH 064/176] Add Edge Dev bookmark --- .../Flow.Launcher.Plugin.BrowserBookmark/EdgeBookmarks.cs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/Plugins/Flow.Launcher.Plugin.BrowserBookmark/EdgeBookmarks.cs b/Plugins/Flow.Launcher.Plugin.BrowserBookmark/EdgeBookmarks.cs index 12b80c08a..376808549 100644 --- a/Plugins/Flow.Launcher.Plugin.BrowserBookmark/EdgeBookmarks.cs +++ b/Plugins/Flow.Launcher.Plugin.BrowserBookmark/EdgeBookmarks.cs @@ -18,7 +18,7 @@ namespace Flow.Launcher.Plugin.BrowserBookmark return bookmarks; } - private void ParseEdgeBookmarks(String path, string source) + private void ParseEdgeBookmarks(string path, string source) { if (!File.Exists(path)) return; @@ -72,12 +72,13 @@ namespace Flow.Launcher.Plugin.BrowserBookmark private void LoadEdgeBookmarks() { - String platformPath = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData); + string platformPath = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData); LoadEdgeBookmarks(Path.Combine(platformPath, @"Microsoft\Edge\User Data"), "Microsoft Edge"); + LoadEdgeBookmarks(Path.Combine(platformPath, @"Microsoft\Edge Dev\User Data"), "Microsoft Edge Dev"); LoadEdgeBookmarks(Path.Combine(platformPath, @"Microsoft\Edge SxS\User Data"), "Microsoft Edge Canary"); } - private String DecodeUnicode(String dataStr) + private string DecodeUnicode(string dataStr) { Regex reg = new Regex(@"(?i)\\[uU]([0-9a-f]{4})"); return reg.Replace(dataStr, m => ((char)Convert.ToInt32(m.Groups[1].Value, 16)).ToString()); From 64f5181ae61fa83fb81b317f6bd7a850f01f9e34 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=98=E9=9F=AC=20=E5=BC=A0?= Date: Mon, 26 Oct 2020 11:34:59 +0800 Subject: [PATCH 065/176] Use the score from fuzzy search for bookmark search --- .../Commands/Bookmarks.cs | 14 ++-- .../Main.cs | 68 ++++++++++++------- 2 files changed, 51 insertions(+), 31 deletions(-) diff --git a/Plugins/Flow.Launcher.Plugin.BrowserBookmark/Commands/Bookmarks.cs b/Plugins/Flow.Launcher.Plugin.BrowserBookmark/Commands/Bookmarks.cs index 7c2db8bf9..452e99845 100644 --- a/Plugins/Flow.Launcher.Plugin.BrowserBookmark/Commands/Bookmarks.cs +++ b/Plugins/Flow.Launcher.Plugin.BrowserBookmark/Commands/Bookmarks.cs @@ -6,19 +6,19 @@ namespace Flow.Launcher.Plugin.BrowserBookmark.Commands { internal static class Bookmarks { - internal static bool MatchProgram(Bookmark bookmark, string queryString) + internal static MatchResult MatchProgram(Bookmark bookmark, string queryString) { - if (StringMatcher.FuzzySearch(queryString, bookmark.Name).IsSearchPrecisionScoreMet()) return true; - if (StringMatcher.FuzzySearch(queryString, bookmark.PinyinName).IsSearchPrecisionScoreMet()) return true; - if (StringMatcher.FuzzySearch(queryString, bookmark.Url).IsSearchPrecisionScoreMet()) return true; - - return false; + var match = StringMatcher.FuzzySearch(queryString, bookmark.Name); + if (match.IsSearchPrecisionScoreMet()) + return match; + else + return StringMatcher.FuzzySearch(queryString, bookmark.Url); } internal static List LoadAllBookmarks() { var allbookmarks = new List(); - + var chromeBookmarks = new ChromeBookmarks(); var mozBookmarks = new FirefoxBookmarks(); var edgeBookmarks = new EdgeBookmarks(); diff --git a/Plugins/Flow.Launcher.Plugin.BrowserBookmark/Main.cs b/Plugins/Flow.Launcher.Plugin.BrowserBookmark/Main.cs index 67ee87f94..47493654f 100644 --- a/Plugins/Flow.Launcher.Plugin.BrowserBookmark/Main.cs +++ b/Plugins/Flow.Launcher.Plugin.BrowserBookmark/Main.cs @@ -12,7 +12,7 @@ namespace Flow.Launcher.Plugin.BrowserBookmark public class Main : ISettingProvider, IPlugin, IReloadable, IPluginI18n, ISavable { private PluginInitContext context; - + private List cachedBookmarks = new List(); private readonly Settings _settings; @@ -37,36 +37,56 @@ namespace Flow.Launcher.Plugin.BrowserBookmark // Should top results be returned? (true if no search parameters have been passed) var topResults = string.IsNullOrEmpty(param); - - var returnList = cachedBookmarks; + if (!topResults) { // Since we mixed chrome and firefox bookmarks, we should order them again - returnList = cachedBookmarks.Where(o => Bookmarks.MatchProgram(o, param)).ToList(); - returnList = returnList.OrderByDescending(o => o.Score).ToList(); - } - - return returnList.Select(c => new Result() - { - Title = c.Name, - SubTitle = c.Url, - IcoPath = @"Images\bookmark.png", - Score = 5, - Action = (e) => + var returnList = cachedBookmarks.Select(c => new Result() { - if (_settings.OpenInNewBrowserWindow) + Title = c.Name, + SubTitle = c.Url, + IcoPath = @"Images\bookmark.png", + Score = Bookmarks.MatchProgram(c, param).Score, + Action = _ => { - c.Url.NewBrowserWindow(_settings.BrowserPath); - } - else - { - c.Url.NewTabInBrowser(_settings.BrowserPath); - } + if (_settings.OpenInNewBrowserWindow) + { + c.Url.NewBrowserWindow(_settings.BrowserPath); + } + else + { + c.Url.NewTabInBrowser(_settings.BrowserPath); + } - return true; - } - }).ToList(); + return true; + } + }).Where(r => r.Score > 0); + return returnList.ToList(); + } + else + { + return cachedBookmarks.Select(c => new Result() + { + Title = c.Name, + SubTitle = c.Url, + IcoPath = @"Images\bookmark.png", + Score = 5, + Action = _ => + { + if (_settings.OpenInNewBrowserWindow) + { + c.Url.NewBrowserWindow(_settings.BrowserPath); + } + else + { + c.Url.NewTabInBrowser(_settings.BrowserPath); + } + + return true; + } + }).ToList(); + } } public void ReloadData() From ca264c326a9a1252d475d5e0215b4b4048d07dbf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=98=E9=9F=AC=20=E5=BC=A0?= Date: Wed, 28 Oct 2020 12:11:49 +0800 Subject: [PATCH 066/176] Change contain to StartWith --- Plugins/Flow.Launcher.Plugin.Program/Programs/UWP.cs | 6 +++--- Plugins/Flow.Launcher.Plugin.Program/Programs/Win32.cs | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Plugins/Flow.Launcher.Plugin.Program/Programs/UWP.cs b/Plugins/Flow.Launcher.Plugin.Program/Programs/UWP.cs index 1ebcdc907..590a15b56 100644 --- a/Plugins/Flow.Launcher.Plugin.Program/Programs/UWP.cs +++ b/Plugins/Flow.Launcher.Plugin.Program/Programs/UWP.cs @@ -271,13 +271,13 @@ namespace Flow.Launcher.Plugin.Program.Programs var title = (Name, Description) switch { (var n, null) => n, - (var n, var d) when d.Contains(n) => d, - (var n, var d) when n.Contains(d) => n, + (var n, var d) when d.StartsWith(n) => d, + (var n, var d) when n.StartsWith(d) => n, (var n, var d) when !string.IsNullOrEmpty(d) => $"{n}: {d}", _ => Name }; - var matchResult = StringMatcher.FuzzySearch(query, title); + var matchResult = StringMatcher.FuzzySearch(query, Name); if (!matchResult.Success) return null; diff --git a/Plugins/Flow.Launcher.Plugin.Program/Programs/Win32.cs b/Plugins/Flow.Launcher.Plugin.Program/Programs/Win32.cs index f1fcc4ef7..5630ae26e 100644 --- a/Plugins/Flow.Launcher.Plugin.Program/Programs/Win32.cs +++ b/Plugins/Flow.Launcher.Plugin.Program/Programs/Win32.cs @@ -39,13 +39,13 @@ namespace Flow.Launcher.Plugin.Program.Programs var title = (Name, Description) switch { (var n, null) => n, - (var n, var d) when d.Contains(n) => d, - (var n, var d) when n.Contains(d) => n, + (var n, var d) when d.StartsWith(n) => d, + (var n, var d) when n.StartsWith(d) => n, (var n, var d) when !string.IsNullOrEmpty(d) => $"{n}: {d}", _ => Name }; - var matchResult = StringMatcher.FuzzySearch(query, title); + var matchResult = StringMatcher.FuzzySearch(query, Name); if (!matchResult.Success) return null; From 8be2cf1493a77f3ebe42f7e34912841bc45a74a8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=98=E9=9F=AC=20=E5=BC=A0?= Date: Wed, 28 Oct 2020 12:11:49 +0800 Subject: [PATCH 067/176] Change contain to StartWith --- Plugins/Flow.Launcher.Plugin.Program/Programs/UWP.cs | 4 ++-- Plugins/Flow.Launcher.Plugin.Program/Programs/Win32.cs | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Plugins/Flow.Launcher.Plugin.Program/Programs/UWP.cs b/Plugins/Flow.Launcher.Plugin.Program/Programs/UWP.cs index 1ebcdc907..b2520ef00 100644 --- a/Plugins/Flow.Launcher.Plugin.Program/Programs/UWP.cs +++ b/Plugins/Flow.Launcher.Plugin.Program/Programs/UWP.cs @@ -271,8 +271,8 @@ namespace Flow.Launcher.Plugin.Program.Programs var title = (Name, Description) switch { (var n, null) => n, - (var n, var d) when d.Contains(n) => d, - (var n, var d) when n.Contains(d) => n, + (var n, var d) when d.StartsWith(n) => d, + (var n, var d) when n.StartsWith(d) => n, (var n, var d) when !string.IsNullOrEmpty(d) => $"{n}: {d}", _ => Name }; diff --git a/Plugins/Flow.Launcher.Plugin.Program/Programs/Win32.cs b/Plugins/Flow.Launcher.Plugin.Program/Programs/Win32.cs index f1fcc4ef7..4dcc51a7b 100644 --- a/Plugins/Flow.Launcher.Plugin.Program/Programs/Win32.cs +++ b/Plugins/Flow.Launcher.Plugin.Program/Programs/Win32.cs @@ -39,8 +39,8 @@ namespace Flow.Launcher.Plugin.Program.Programs var title = (Name, Description) switch { (var n, null) => n, - (var n, var d) when d.Contains(n) => d, - (var n, var d) when n.Contains(d) => n, + (var n, var d) when d.StartsWith(n) => d, + (var n, var d) when n.StartsWith(d) => n, (var n, var d) when !string.IsNullOrEmpty(d) => $"{n}: {d}", _ => Name }; From f146dd6d8b65c88bca0a17e880cd60955c04b82c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=98=E9=9F=AC=20=E5=BC=A0?= Date: Sun, 1 Nov 2020 18:04:39 +0800 Subject: [PATCH 068/176] Removed unused using due to query translation --- Plugins/Flow.Launcher.Plugin.Program/Main.cs | 1 - 1 file changed, 1 deletion(-) diff --git a/Plugins/Flow.Launcher.Plugin.Program/Main.cs b/Plugins/Flow.Launcher.Plugin.Program/Main.cs index eca6511e8..e15742c8a 100644 --- a/Plugins/Flow.Launcher.Plugin.Program/Main.cs +++ b/Plugins/Flow.Launcher.Plugin.Program/Main.cs @@ -8,7 +8,6 @@ using Flow.Launcher.Infrastructure.Logger; using Flow.Launcher.Infrastructure.Storage; using Flow.Launcher.Plugin.Program.Programs; using Flow.Launcher.Plugin.Program.Views; -using ToolGood.Words.Pinyin; using Stopwatch = Flow.Launcher.Infrastructure.Stopwatch; namespace Flow.Launcher.Plugin.Program From eb736562fce03a1db0c7824dcb7e7554fb834769 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=98=E9=9F=AC=20=E5=BC=A0?= Date: Sun, 1 Nov 2020 18:07:35 +0800 Subject: [PATCH 069/176] Change the Alphabet Name to allow future expansion --- .../{Alphabet.cs => PinyinAlphabet.cs} | 2 +- Flow.Launcher/App.xaml.cs | 2 +- Flow.Launcher/PublicAPIInstance.cs | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) rename Flow.Launcher.Infrastructure/{Alphabet.cs => PinyinAlphabet.cs} (97%) diff --git a/Flow.Launcher.Infrastructure/Alphabet.cs b/Flow.Launcher.Infrastructure/PinyinAlphabet.cs similarity index 97% rename from Flow.Launcher.Infrastructure/Alphabet.cs rename to Flow.Launcher.Infrastructure/PinyinAlphabet.cs index 15f6ef7c4..38f1ab879 100644 --- a/Flow.Launcher.Infrastructure/Alphabet.cs +++ b/Flow.Launcher.Infrastructure/PinyinAlphabet.cs @@ -17,7 +17,7 @@ namespace Flow.Launcher.Infrastructure string Translate(string stringToTranslate); } - public class Alphabet : IAlphabet + public class PinyinAlphabet : IAlphabet { private ConcurrentDictionary _pinyinCache = new ConcurrentDictionary(); private Settings _settings; diff --git a/Flow.Launcher/App.xaml.cs b/Flow.Launcher/App.xaml.cs index 731dc1541..59bdbc896 100644 --- a/Flow.Launcher/App.xaml.cs +++ b/Flow.Launcher/App.xaml.cs @@ -29,7 +29,7 @@ namespace Flow.Launcher private SettingWindowViewModel _settingsVM; private readonly Updater _updater = new Updater(Flow.Launcher.Properties.Settings.Default.GithubRepo); private readonly Portable _portable = new Portable(); - private readonly Alphabet _alphabet = new Alphabet(); + private readonly PinyinAlphabet _alphabet = new PinyinAlphabet(); private StringMatcher _stringMatcher; [STAThread] diff --git a/Flow.Launcher/PublicAPIInstance.cs b/Flow.Launcher/PublicAPIInstance.cs index 8520f7ba0..0cc5a0e5d 100644 --- a/Flow.Launcher/PublicAPIInstance.cs +++ b/Flow.Launcher/PublicAPIInstance.cs @@ -21,11 +21,11 @@ namespace Flow.Launcher { private readonly SettingWindowViewModel _settingsVM; private readonly MainViewModel _mainVM; - private readonly Alphabet _alphabet; + private readonly PinyinAlphabet _alphabet; #region Constructor - public PublicAPIInstance(SettingWindowViewModel settingsVM, MainViewModel mainVM, Alphabet alphabet) + public PublicAPIInstance(SettingWindowViewModel settingsVM, MainViewModel mainVM, PinyinAlphabet alphabet) { _settingsVM = settingsVM; _mainVM = mainVM; From da801f8eff81bf8739b35a152ffed150773254d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=98=E9=9F=AC=20=E5=BC=A0?= Date: Sun, 1 Nov 2020 19:19:12 +0800 Subject: [PATCH 070/176] remove extra whitespace --- Plugins/Flow.Launcher.Plugin.Program/Main.cs | 1 - 1 file changed, 1 deletion(-) diff --git a/Plugins/Flow.Launcher.Plugin.Program/Main.cs b/Plugins/Flow.Launcher.Plugin.Program/Main.cs index e15742c8a..9f3160746 100644 --- a/Plugins/Flow.Launcher.Plugin.Program/Main.cs +++ b/Plugins/Flow.Launcher.Plugin.Program/Main.cs @@ -77,7 +77,6 @@ namespace Flow.Launcher.Plugin.Program uwps = _uwps; } - var results1 = win32.AsParallel() .Where(p => p.Enabled) .Select(p => p.Result(query.Search, _context.API)); From 9caa4d94bdde42131eeb84b92e07f287d5d3fcc7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=98=E9=9F=AC=20=E5=BC=A0?= Date: Sun, 1 Nov 2020 19:22:31 +0800 Subject: [PATCH 071/176] remove extra else --- .../Commands/Bookmarks.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Plugins/Flow.Launcher.Plugin.BrowserBookmark/Commands/Bookmarks.cs b/Plugins/Flow.Launcher.Plugin.BrowserBookmark/Commands/Bookmarks.cs index 452e99845..c7013aa67 100644 --- a/Plugins/Flow.Launcher.Plugin.BrowserBookmark/Commands/Bookmarks.cs +++ b/Plugins/Flow.Launcher.Plugin.BrowserBookmark/Commands/Bookmarks.cs @@ -11,8 +11,8 @@ namespace Flow.Launcher.Plugin.BrowserBookmark.Commands var match = StringMatcher.FuzzySearch(queryString, bookmark.Name); if (match.IsSearchPrecisionScoreMet()) return match; - else - return StringMatcher.FuzzySearch(queryString, bookmark.Url); + + return StringMatcher.FuzzySearch(queryString, bookmark.Url); } internal static List LoadAllBookmarks() From a0f552f3fc21571c6e12338ae82eb82e16ce2f7f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=98=E9=9F=AC=20=E5=BC=A0?= Date: Sun, 1 Nov 2020 19:24:26 +0800 Subject: [PATCH 072/176] remove unused PinyinName Property and Version Bump --- Plugins/Flow.Launcher.Plugin.BrowserBookmark/Bookmark.cs | 2 -- Plugins/Flow.Launcher.Plugin.BrowserBookmark/plugin.json | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/Plugins/Flow.Launcher.Plugin.BrowserBookmark/Bookmark.cs b/Plugins/Flow.Launcher.Plugin.BrowserBookmark/Bookmark.cs index 1149042dd..790c03686 100644 --- a/Plugins/Flow.Launcher.Plugin.BrowserBookmark/Bookmark.cs +++ b/Plugins/Flow.Launcher.Plugin.BrowserBookmark/Bookmark.cs @@ -19,10 +19,8 @@ namespace Flow.Launcher.Plugin.BrowserBookmark set { m_Name = value; - PinyinName = m_Name.Unidecode(); } } - public string PinyinName { get; private set; } public string Url { get; set; } public string Source { get; set; } public int Score { get; set; } diff --git a/Plugins/Flow.Launcher.Plugin.BrowserBookmark/plugin.json b/Plugins/Flow.Launcher.Plugin.BrowserBookmark/plugin.json index 8676a3e5b..7bb662b36 100644 --- a/Plugins/Flow.Launcher.Plugin.BrowserBookmark/plugin.json +++ b/Plugins/Flow.Launcher.Plugin.BrowserBookmark/plugin.json @@ -4,7 +4,7 @@ "Name": "Browser Bookmarks", "Description": "Search your browser bookmarks", "Author": "qianlifeng, Ioannis G.", - "Version": "1.2.0", + "Version": "1.2.1", "Language": "csharp", "Website": "https://github.com/Flow-Launcher/Flow.Launcher", "ExecuteFileName": "Flow.Launcher.Plugin.browserBookmark.dll", From 3181637fc1b5ff41fd8df8d3698451f2cf377728 Mon Sep 17 00:00:00 2001 From: Jeremy Wu Date: Mon, 2 Nov 2020 07:52:20 +1100 Subject: [PATCH 073/176] bump version --- SolutionAssemblyInfo.cs | 6 +++--- appveyor.yml | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/SolutionAssemblyInfo.cs b/SolutionAssemblyInfo.cs index abf7f5e15..fc81e57e7 100644 --- a/SolutionAssemblyInfo.cs +++ b/SolutionAssemblyInfo.cs @@ -16,6 +16,6 @@ using System.Runtime.InteropServices; [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] [assembly: ComVisible(false)] -[assembly: AssemblyVersion("1.3.1")] -[assembly: AssemblyFileVersion("1.3.1")] -[assembly: AssemblyInformationalVersion("1.3.1")] \ No newline at end of file +[assembly: AssemblyVersion("1.4.0")] +[assembly: AssemblyFileVersion("1.4.0")] +[assembly: AssemblyInformationalVersion("1.4.0")] \ No newline at end of file diff --git a/appveyor.yml b/appveyor.yml index 2b2acc304..3d744f5cb 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -1,4 +1,4 @@ -version: '1.3.1.{build}' +version: '1.4.0.{build}' init: - ps: | From 465146d36f9a44ecec831043d0509858e4909b9c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=98=E9=9F=AC=20=E5=BC=A0?= Date: Wed, 4 Nov 2020 07:42:35 +0800 Subject: [PATCH 074/176] Add Exploere Customize to Program Plugin --- .../Flow.Launcher.Plugin.Program/Programs/UWP.cs | 4 +++- .../Flow.Launcher.Plugin.Program/Programs/Win32.cs | 7 +++---- Plugins/Flow.Launcher.Plugin.Program/Settings.cs | 1 + .../Views/ProgramSetting.xaml | 13 ++++++++++--- .../Views/ProgramSetting.xaml.cs | 7 +++++++ 5 files changed, 24 insertions(+), 8 deletions(-) diff --git a/Plugins/Flow.Launcher.Plugin.Program/Programs/UWP.cs b/Plugins/Flow.Launcher.Plugin.Program/Programs/UWP.cs index 69e077ee2..4e8ff8e54 100644 --- a/Plugins/Flow.Launcher.Plugin.Program/Programs/UWP.cs +++ b/Plugins/Flow.Launcher.Plugin.Program/Programs/UWP.cs @@ -324,7 +324,9 @@ namespace Flow.Launcher.Plugin.Program.Programs Action = _ => { - Main.StartProcess(Process.Start, new ProcessStartInfo(Package.Location)); + Main.StartProcess(Process.Start, new ProcessStartInfo( + !string.IsNullOrEmpty(Main._settings.CustomizedExploere)?Main._settings.CustomizedExploere:"exploere" + , Package.Location)); return true; }, diff --git a/Plugins/Flow.Launcher.Plugin.Program/Programs/Win32.cs b/Plugins/Flow.Launcher.Plugin.Program/Programs/Win32.cs index cdea767f3..662ca270e 100644 --- a/Plugins/Flow.Launcher.Plugin.Program/Programs/Win32.cs +++ b/Plugins/Flow.Launcher.Plugin.Program/Programs/Win32.cs @@ -140,10 +140,9 @@ namespace Flow.Launcher.Plugin.Program.Programs Title = api.GetTranslation("flowlauncher_plugin_program_open_containing_folder"), Action = _ => { - - - Main.StartProcess(Process.Start, new ProcessStartInfo("explorer", ParentDirectory)); - + Main.StartProcess(Process.Start, new ProcessStartInfo( + !string.IsNullOrEmpty(Main._settings.CustomizedExploere)?Main._settings.CustomizedExploere:"exploere" + , ParentDirectory)); return true; }, IcoPath = "Images/folder.png" diff --git a/Plugins/Flow.Launcher.Plugin.Program/Settings.cs b/Plugins/Flow.Launcher.Plugin.Program/Settings.cs index fcb4cbf2d..28a4ae145 100644 --- a/Plugins/Flow.Launcher.Plugin.Program/Settings.cs +++ b/Plugins/Flow.Launcher.Plugin.Program/Settings.cs @@ -14,6 +14,7 @@ namespace Flow.Launcher.Plugin.Program public bool EnableStartMenuSource { get; set; } = true; public bool EnableRegistrySource { get; set; } = true; + public string CustomizedExploere { get; set; } = "exploere"; internal const char SuffixSeperator = ';'; diff --git a/Plugins/Flow.Launcher.Plugin.Program/Views/ProgramSetting.xaml b/Plugins/Flow.Launcher.Plugin.Program/Views/ProgramSetting.xaml index 6051e0579..1307b61d0 100644 --- a/Plugins/Flow.Launcher.Plugin.Program/Views/ProgramSetting.xaml +++ b/Plugins/Flow.Launcher.Plugin.Program/Views/ProgramSetting.xaml @@ -5,12 +5,13 @@ xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:program="clr-namespace:Flow.Launcher.Plugin.Program" mc:Ignorable="d" - d:DesignHeight="300" d:DesignWidth="600"> + d:DesignHeight="404.508" d:DesignWidth="600"> + @@ -24,7 +25,7 @@ - + @@ -74,6 +75,12 @@ + - diff --git a/Flow.Launcher/SettingWindow.xaml.cs b/Flow.Launcher/SettingWindow.xaml.cs index eb5fd7de0..60183f545 100644 --- a/Flow.Launcher/SettingWindow.xaml.cs +++ b/Flow.Launcher/SettingWindow.xaml.cs @@ -275,5 +275,10 @@ namespace Flow.Launcher { Close(); } + + private void Button_Click(object sender, RoutedEventArgs e) + { + System.Diagnostics.Process.Start("explorer",$"{DataLocation.DataDirectory()}\\Themes"); + } } } From 2fb8e4ee09a77d7eaf1dc5b45e93510c7fb853ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=98=E9=9F=AC=20=E5=BC=A0?= Date: Sun, 15 Nov 2020 13:51:12 +0800 Subject: [PATCH 100/176] change event name --- Flow.Launcher/SettingWindow.xaml | 2 +- Flow.Launcher/SettingWindow.xaml.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Flow.Launcher/SettingWindow.xaml b/Flow.Launcher/SettingWindow.xaml index fd657cd22..32f9e9a6e 100644 --- a/Flow.Launcher/SettingWindow.xaml +++ b/Flow.Launcher/SettingWindow.xaml @@ -211,7 +211,7 @@ - + diff --git a/Flow.Launcher/SettingWindow.xaml.cs b/Flow.Launcher/SettingWindow.xaml.cs index 60183f545..20692c16e 100644 --- a/Flow.Launcher/SettingWindow.xaml.cs +++ b/Flow.Launcher/SettingWindow.xaml.cs @@ -276,7 +276,7 @@ namespace Flow.Launcher Close(); } - private void Button_Click(object sender, RoutedEventArgs e) + private void OpenPluginFolder(object sender, RoutedEventArgs e) { System.Diagnostics.Process.Start("explorer",$"{DataLocation.DataDirectory()}\\Themes"); } From 4138b7bb69e7e6a8197f85c7ef1f0b3d60b52fa3 Mon Sep 17 00:00:00 2001 From: Jeremy Wu Date: Sun, 15 Nov 2020 20:25:53 +1100 Subject: [PATCH 101/176] update readme to make it clear for Everything users --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b44628744..d7f8dd7ba 100644 --- a/README.md +++ b/README.md @@ -33,6 +33,7 @@ Windows may complain about security due to code not being signed, this will be c **Integrations:** - If you use python plugins, install [python3](https://www.python.org/downloads/): `.exe` installer + add it to `%PATH%` or set it in flow's settings + - Flow searches files and contents via Windows Index Search, to use Everything, download the plugin [here](https://github.com/Flow-Launcher/Flow.Launcher.Plugin.Everything/releases/latest) **Usage** - Open flow's search window: Alt+Space is the default hotkey From db4ed0436abd54be8fe91a1203343e74c14ba5c5 Mon Sep 17 00:00:00 2001 From: Ioannis G Date: Sun, 15 Nov 2020 19:05:14 +0200 Subject: [PATCH 102/176] add global.json --- global.json | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 global.json diff --git a/global.json b/global.json new file mode 100644 index 000000000..c3efffd40 --- /dev/null +++ b/global.json @@ -0,0 +1,6 @@ +{ + "sdk": { + "version": "3.1.201", + "rollForward": "latestFeature" + } + } \ No newline at end of file From 048981a749532c37f4c78e501944014ff5587bd3 Mon Sep 17 00:00:00 2001 From: Jeremy Wu Date: Mon, 16 Nov 2020 06:16:03 +1100 Subject: [PATCH 103/176] update to use FilesFolders class --- Flow.Launcher/SettingWindow.xaml.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Flow.Launcher/SettingWindow.xaml.cs b/Flow.Launcher/SettingWindow.xaml.cs index 20692c16e..b21bb2904 100644 --- a/Flow.Launcher/SettingWindow.xaml.cs +++ b/Flow.Launcher/SettingWindow.xaml.cs @@ -278,7 +278,7 @@ namespace Flow.Launcher private void OpenPluginFolder(object sender, RoutedEventArgs e) { - System.Diagnostics.Process.Start("explorer",$"{DataLocation.DataDirectory()}\\Themes"); + FilesFolders.OpenPath(Path.Combine(DataLocation.DataDirectory(), "Themes")); } } } From 9d8f18fbbed292b1b3df9b1ffeff960224065bf7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Kubala?= <37414585+kubalav@users.noreply.github.com> Date: Sun, 15 Nov 2020 20:24:32 +0100 Subject: [PATCH 104/176] Add Slovak translations (#205) --- Flow.Launcher/Languages/sk.xaml | 44 ++++++++++------- .../Languages/sk.xaml | 15 ++++++ .../Languages/sk.xaml | 16 +++++++ .../Languages/sk.xaml | 8 ++++ .../Languages/sk.xaml | 8 ++++ .../Languages/sk.xaml | 8 ++++ .../Languages/sk.xaml | 8 ++++ .../Languages/sk.xaml | 12 +++++ .../Languages/sk.xaml | 48 +++++++++++++++++++ .../Languages/sk.xaml | 14 ++++++ .../Languages/sk.xaml | 32 +++++++++++++ .../Languages/sk.xaml | 14 ++++++ .../Languages/sk.xaml | 33 +++++++++++++ 13 files changed, 243 insertions(+), 17 deletions(-) create mode 100644 Plugins/Flow.Launcher.Plugin.BrowserBookmark/Languages/sk.xaml create mode 100644 Plugins/Flow.Launcher.Plugin.Calculator/Languages/sk.xaml create mode 100644 Plugins/Flow.Launcher.Plugin.Color/Languages/sk.xaml create mode 100644 Plugins/Flow.Launcher.Plugin.ControlPanel/Languages/sk.xaml create mode 100644 Plugins/Flow.Launcher.Plugin.PluginIndicator/Languages/sk.xaml create mode 100644 Plugins/Flow.Launcher.Plugin.PluginManagement/Languages/sk.xaml create mode 100644 Plugins/Flow.Launcher.Plugin.ProcessKiller/Languages/sk.xaml create mode 100644 Plugins/Flow.Launcher.Plugin.Program/Languages/sk.xaml create mode 100644 Plugins/Flow.Launcher.Plugin.Shell/Languages/sk.xaml create mode 100644 Plugins/Flow.Launcher.Plugin.Sys/Languages/sk.xaml create mode 100644 Plugins/Flow.Launcher.Plugin.Url/Languages/sk.xaml create mode 100644 Plugins/Flow.Launcher.Plugin.WebSearch/Languages/sk.xaml diff --git a/Flow.Launcher/Languages/sk.xaml b/Flow.Launcher/Languages/sk.xaml index a2ff5926d..8b9487b21 100644 --- a/Flow.Launcher/Languages/sk.xaml +++ b/Flow.Launcher/Languages/sk.xaml @@ -1,10 +1,10 @@ - Nepodarilo sa registrovať klávesovú skratku {0} Nepodarilo sa spustiť {0} - Neplatný formát súboru pre plugin Flow Launcher + Neplatný formát súboru pre plugin Flow Launchera Pri tomto dopyte umiestniť navrchu Zrušiť umiestnenie navrchu pri tomto dopyte Spustiť dopyt: {0} @@ -15,7 +15,7 @@ Ukončiť - Nastavenia Flow Launcher + Nastavenia Flow Launchera Všeobecné Spustiť Flow Launcher po štarte systému Schovať Flow Launcher po strate fokusu @@ -24,52 +24,62 @@ Jazyk Posledný dopyt Ponechať - Označiť posledný dopyt - Prázdne + Označiť + Vymazať Max. výsledkov - Ignorovať klávesové skraty v režime na celú obrazovku + Ignorovať klávesové skratky v režime na celú obrazovku Priečinok s Pythonom Automatická aktualizácia Vybrať Schovať Flow Launcher po spustení - Schovať ikonu v oblasti oznámení + Schovať ikonu z oblasti oznámení + Presnosť vyhľadávania + Dá sa použiť Pinyin Plugin Nájsť ďalšie pluginy Zakázať Skratka akcie - Priečinok s pluginmy + Aktuálna akcia skratky: + Nová akcia skratky: + Priečinok s pluginmi Autor - Čas inic.: - Čas dopytu: + Príprava: {0}ms + Čas dopytu: {0}ms Motív Prehliadať viac motívov - Písmo poľa pre dopyt + Ahojte + Písmo vyhľadávacieho poľa Písmo výsledkov Režim okno Nepriehľadnosť + Motív {0} neexistuje, návrat na predvolený motív + Nepodarilo sa nečítať motív {0}, návrat na predvolený motív - Klávesová skratka + Klávesové skratky Klávesová skratka pre Flow Launcher - Otvorte modifikátory výsledkov - Vlastná klávesová skratka pre dopyt + Modifikáčné klávesy na otvorenie výsledkov Zobraziť klávesovú skratku + Vlastná klávesová skratka na vyhľadávanie Odstrániť Upraviť Pridať Vyberte položku, prosím Ste si istý, že chcete odstrániť klávesovú skratku {0} pre plugin? + Tieňový efekt v poli vyhľadávania + Tieňový efekt významne využíva GPU. + Neodporúča sa, ak je výkon počítača obmedzený. HTTP Proxy Povoliť HTTP Proxy HTTP Server Port - Používateľské meno + Použív. meno Heslo Test Proxy Uložiť @@ -92,7 +102,7 @@ Sťahovanie aktualizácií zlyhalo, skontrolujte pripojenie na internet a nastavenie proxy k github-cloud.s3.amazonaws.com, alebo prejdite na https://github.com/Flow-Launcher/Flow.Launcher/releases pre manuálne stiahnutie aktualizácií. - Poznámky k vydaniu: + Poznámky k vydaniu Stará skratka akcie @@ -131,7 +141,7 @@ Flow Launcher zaznamenal chybu - Je dostupné nové vydanie Flow Launcher {0} + Je dostupná nová verzia Flow Launcher {0} Počas inštalácie aktualizácií došlo k chybe Aktualizovať Zrušiť diff --git a/Plugins/Flow.Launcher.Plugin.BrowserBookmark/Languages/sk.xaml b/Plugins/Flow.Launcher.Plugin.BrowserBookmark/Languages/sk.xaml new file mode 100644 index 000000000..825fa7737 --- /dev/null +++ b/Plugins/Flow.Launcher.Plugin.BrowserBookmark/Languages/sk.xaml @@ -0,0 +1,15 @@ + + + + Prehliadač záložiek + Vyhľadáva záložky prehliadača + + + Otvoriť záložky v: + Nové okno + Nová karta + Nastaviť cestu k prehliadaču: + Prehliadať + \ No newline at end of file diff --git a/Plugins/Flow.Launcher.Plugin.Calculator/Languages/sk.xaml b/Plugins/Flow.Launcher.Plugin.Calculator/Languages/sk.xaml new file mode 100644 index 000000000..dd52d5279 --- /dev/null +++ b/Plugins/Flow.Launcher.Plugin.Calculator/Languages/sk.xaml @@ -0,0 +1,16 @@ + + + Kalkulačka + Spracúva matematické operácie.(Skúste 5*3-2 vo flowlauncheri) + Nie je číslo (NaN) + Nesprávny alebo neúplný výraz (Nezabudli ste na zátvorky?) + Kopírovať toto číslo do schránky + Oddeľovač des. miest + Oddeľovač desatinných miest použitý vo výsledku. + Použiť podľa systému + Čiarka (,) + Bodka (.) + Max. desatinných miest + \ No newline at end of file diff --git a/Plugins/Flow.Launcher.Plugin.Color/Languages/sk.xaml b/Plugins/Flow.Launcher.Plugin.Color/Languages/sk.xaml new file mode 100644 index 000000000..4b208691a --- /dev/null +++ b/Plugins/Flow.Launcher.Plugin.Color/Languages/sk.xaml @@ -0,0 +1,8 @@ + + + Farby + Zobrazuje náhľad farieb v HEX formáte. (Skúste #000 vo Flow Launcheri) + + \ No newline at end of file diff --git a/Plugins/Flow.Launcher.Plugin.ControlPanel/Languages/sk.xaml b/Plugins/Flow.Launcher.Plugin.ControlPanel/Languages/sk.xaml new file mode 100644 index 000000000..3b9249b78 --- /dev/null +++ b/Plugins/Flow.Launcher.Plugin.ControlPanel/Languages/sk.xaml @@ -0,0 +1,8 @@ + + + Ovládací panel + Vyhľadáva položky Ovládacieho panela + + \ No newline at end of file diff --git a/Plugins/Flow.Launcher.Plugin.PluginIndicator/Languages/sk.xaml b/Plugins/Flow.Launcher.Plugin.PluginIndicator/Languages/sk.xaml new file mode 100644 index 000000000..9cb04a907 --- /dev/null +++ b/Plugins/Flow.Launcher.Plugin.PluginIndicator/Languages/sk.xaml @@ -0,0 +1,8 @@ + + + Plugin Indicator + Ponúka návrhy pre akcie pluginov + + \ No newline at end of file diff --git a/Plugins/Flow.Launcher.Plugin.PluginManagement/Languages/sk.xaml b/Plugins/Flow.Launcher.Plugin.PluginManagement/Languages/sk.xaml new file mode 100644 index 000000000..b51eceb6a --- /dev/null +++ b/Plugins/Flow.Launcher.Plugin.PluginManagement/Languages/sk.xaml @@ -0,0 +1,8 @@ + + + Správca pluginov + Inštalácia, odinštalácia alebo aktualizácia pluginov Flow Launchera + + \ No newline at end of file diff --git a/Plugins/Flow.Launcher.Plugin.ProcessKiller/Languages/sk.xaml b/Plugins/Flow.Launcher.Plugin.ProcessKiller/Languages/sk.xaml new file mode 100644 index 000000000..e185dbe71 --- /dev/null +++ b/Plugins/Flow.Launcher.Plugin.ProcessKiller/Languages/sk.xaml @@ -0,0 +1,12 @@ + + + Process Killer + Ukončuje spustené procesy z Flow Launchera + + ukončiť všetky inštancie "{0}" + ukončiť {0} procesov + ukončiť všetky inštancie + + \ No newline at end of file diff --git a/Plugins/Flow.Launcher.Plugin.Program/Languages/sk.xaml b/Plugins/Flow.Launcher.Plugin.Program/Languages/sk.xaml new file mode 100644 index 000000000..ece9fea81 --- /dev/null +++ b/Plugins/Flow.Launcher.Plugin.Program/Languages/sk.xaml @@ -0,0 +1,48 @@ + + + + Odstrániť + Upraviť + Pridať + Zakázať + Umiestnenie + Všetky programy + Prípony súborov + Reindexovať + Indexovanie + Indexovať Ponuku Štart + Indexovať Registry + Prípony + Max. hĺbka + + Priečinok: + Prehliadať + Prípony súboru: + Max. hĺbka hľadania (-1 je neobm.): + + Prosím, zadajte zdroj programu + Naozaj chcete odstrániť vybrané zdroje programov? + + Aktualizovať + Flow Launcher bude indexovať iba súbory s nasledujúcimi príponami: + (Každú príponu oddeľte ;) + Prípony boli úspešne aktualizované + Súbor s príponami nemôže byť prázdny + + Spustiť ako iný používateľ + Spustiť ako správca + Otvoriť umiestnenie súboru + Zakázať zobrazovanie tohto programu + + Program + Vyhľadávanie programov vo Flow Launcheri + + Neplatná cesta + + + Úspešné + Úspešne zakázané zobrazovanie tohto programu vo výsledkoch vyhľadávania + + \ No newline at end of file diff --git a/Plugins/Flow.Launcher.Plugin.Shell/Languages/sk.xaml b/Plugins/Flow.Launcher.Plugin.Shell/Languages/sk.xaml new file mode 100644 index 000000000..71ffaa1b5 --- /dev/null +++ b/Plugins/Flow.Launcher.Plugin.Shell/Languages/sk.xaml @@ -0,0 +1,14 @@ + + + Nahradiť Win+R + Nezatvárať príkazový riadok po dokončení príkazu + Spustiť vždy ako správca + Spustiť ako iný používateľ + Shell + Umožňuje spúšťať systémové príkazy z Flow Launcheru. Príkazy začínajú znakom > + tento príkaz bol vykonaný {0} krát + vykonať príkaz cez command shell + Spustiť ako správca + \ No newline at end of file diff --git a/Plugins/Flow.Launcher.Plugin.Sys/Languages/sk.xaml b/Plugins/Flow.Launcher.Plugin.Sys/Languages/sk.xaml new file mode 100644 index 000000000..f0eadeb89 --- /dev/null +++ b/Plugins/Flow.Launcher.Plugin.Sys/Languages/sk.xaml @@ -0,0 +1,32 @@ + + + + Príkaz + Popis + + Vypnúť počítač + Reštartovať počítač + Odhlásiť + Zamknúť počítač + Zavrieť Flow Launcher + Reštartovať Flow Launcher + Nastaviť Flow Launcher + Uspať počítač + Vysypať kôš + Hibernovať počítač + Uložiť všetky nastavenia Flow Launchera + Aktualizovať všetky dáta pluginov od spustenia Flow Launchera. Pluginy musia túto funkciu podporovať. + + + Úspešné + Všetky nastavenia Flow Launchera uložené + Všetky dáta pluginov aktualizované + Naozaj chcete počítač vypnúť? + Naozaj chcete počítač reštartovať? + + Systémové príkazy + Poskytuje príkazy súvisiace so systémom ako je vypnutie, uzamknutie počítača atď. + + \ No newline at end of file diff --git a/Plugins/Flow.Launcher.Plugin.Url/Languages/sk.xaml b/Plugins/Flow.Launcher.Plugin.Url/Languages/sk.xaml new file mode 100644 index 000000000..69640735e --- /dev/null +++ b/Plugins/Flow.Launcher.Plugin.Url/Languages/sk.xaml @@ -0,0 +1,14 @@ + + + Otvoriť url:{0} + Adresa URL sa nedá otvoriť: {0} + + URL + Otvoriť zadanú adresu URL z Flow Launchera + + Zadajte cestu k prehliadaču: + Vybrať + Aplikácie (*.exe)|*.exe|Všetky súbory|*.* + \ No newline at end of file diff --git a/Plugins/Flow.Launcher.Plugin.WebSearch/Languages/sk.xaml b/Plugins/Flow.Launcher.Plugin.WebSearch/Languages/sk.xaml new file mode 100644 index 000000000..d29b3f35a --- /dev/null +++ b/Plugins/Flow.Launcher.Plugin.WebSearch/Languages/sk.xaml @@ -0,0 +1,33 @@ + + + Odstrániť + Upraviť + Pridať + Potvrdiť + Skratka akcie + URL + Hľadať + Povoliť návrhy vyhľadávania + Vyberte webové vyhľadávanie + Naozaj chcete odstrániť {0}? + + + Názov + Povoliť + Vybrať ikonu + Ikona + Zrušiť + Neplatné webové vyhľadávanie + Zadajte názov + Zadajte skratku akcie + Zadajte URL + Zadaná skratka akcie už existuje, zadajte inú + Úspešné + Poznámka: Do tohto priečinka nemusíte vkladať obrázky, ak sa Flow Launcher aktualizuje, zmiznú. Flow Launcher bude automaticky kopírovať obrázky mimo tohto priečinka naprieč vlastnému umiestneniu obrázkov pluginu. + + Webové vyhľadávanie + Umožňuje vyhľadávanie webov + + \ No newline at end of file From 83ccfac04fa6ed6c16f4c6579dd32439488bd0b7 Mon Sep 17 00:00:00 2001 From: Jeremy Wu Date: Mon, 16 Nov 2020 06:29:24 +1100 Subject: [PATCH 105/176] move Themes string to Constant --- Flow.Launcher.Core/Resource/Theme.cs | 2 +- Flow.Launcher.Infrastructure/Constant.cs | 2 ++ Flow.Launcher/SettingWindow.xaml.cs | 3 ++- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/Flow.Launcher.Core/Resource/Theme.cs b/Flow.Launcher.Core/Resource/Theme.cs index 2075137d0..a5f12bbb9 100644 --- a/Flow.Launcher.Core/Resource/Theme.cs +++ b/Flow.Launcher.Core/Resource/Theme.cs @@ -21,7 +21,7 @@ namespace Flow.Launcher.Core.Resource private ResourceDictionary _oldResource; private string _oldTheme; public Settings Settings { get; set; } - private const string Folder = "Themes"; + private const string Folder = Constant.Themes; private const string Extension = ".xaml"; private string DirectoryPath => Path.Combine(Constant.ProgramDirectory, Folder); private string UserDirectoryPath => Path.Combine(DataLocation.DataDirectory(), Folder); diff --git a/Flow.Launcher.Infrastructure/Constant.cs b/Flow.Launcher.Infrastructure/Constant.cs index c6a3b48f3..df1464048 100644 --- a/Flow.Launcher.Infrastructure/Constant.cs +++ b/Flow.Launcher.Infrastructure/Constant.cs @@ -33,5 +33,7 @@ namespace Flow.Launcher.Infrastructure public static readonly string QueryTextBoxIconImagePath = $"{ProgramDirectory}\\Images\\mainsearch.png"; public const string DefaultTheme = "Darker"; + + public const string Themes = "Themes"; } } diff --git a/Flow.Launcher/SettingWindow.xaml.cs b/Flow.Launcher/SettingWindow.xaml.cs index b21bb2904..c38ed4d22 100644 --- a/Flow.Launcher/SettingWindow.xaml.cs +++ b/Flow.Launcher/SettingWindow.xaml.cs @@ -8,6 +8,7 @@ using NHotkey; using NHotkey.Wpf; using Flow.Launcher.Core.Plugin; using Flow.Launcher.Core.Resource; +using Flow.Launcher.Infrastructure; using Flow.Launcher.Infrastructure.Hotkey; using Flow.Launcher.Infrastructure.UserSettings; using Flow.Launcher.Plugin; @@ -278,7 +279,7 @@ namespace Flow.Launcher private void OpenPluginFolder(object sender, RoutedEventArgs e) { - FilesFolders.OpenPath(Path.Combine(DataLocation.DataDirectory(), "Themes")); + FilesFolders.OpenPath(Path.Combine(DataLocation.DataDirectory(), Constant.Themes)); } } } From 7fca0e72792d02e85831b823ad6db0a77f838a99 Mon Sep 17 00:00:00 2001 From: Jeremy Wu Date: Mon, 16 Nov 2020 06:42:34 +1100 Subject: [PATCH 106/176] version bump --- SolutionAssemblyInfo.cs | 6 +++--- appveyor.yml | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/SolutionAssemblyInfo.cs b/SolutionAssemblyInfo.cs index fc81e57e7..018084a66 100644 --- a/SolutionAssemblyInfo.cs +++ b/SolutionAssemblyInfo.cs @@ -16,6 +16,6 @@ using System.Runtime.InteropServices; [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] [assembly: ComVisible(false)] -[assembly: AssemblyVersion("1.4.0")] -[assembly: AssemblyFileVersion("1.4.0")] -[assembly: AssemblyInformationalVersion("1.4.0")] \ No newline at end of file +[assembly: AssemblyVersion("1.5.0")] +[assembly: AssemblyFileVersion("1.5.0")] +[assembly: AssemblyInformationalVersion("1.5.0")] \ No newline at end of file diff --git a/appveyor.yml b/appveyor.yml index 1c10892c0..f5841da3e 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -1,4 +1,4 @@ -version: '1.4.0.{build}' +version: '1.5.0.{build}' init: - ps: | From 1bd0fcedb97ce286201f03dac670b1192941d70f Mon Sep 17 00:00:00 2001 From: Jeremy Wu Date: Mon, 16 Nov 2020 06:49:08 +1100 Subject: [PATCH 107/176] version bump plugins --- Plugins/Flow.Launcher.Plugin.BrowserBookmark/plugin.json | 2 +- Plugins/Flow.Launcher.Plugin.Calculator/plugin.json | 2 +- Plugins/Flow.Launcher.Plugin.Color/plugin.json | 2 +- Plugins/Flow.Launcher.Plugin.ControlPanel/plugin.json | 2 +- Plugins/Flow.Launcher.Plugin.PluginIndicator/plugin.json | 2 +- Plugins/Flow.Launcher.Plugin.PluginManagement/plugin.json | 2 +- Plugins/Flow.Launcher.Plugin.ProcessKiller/plugin.json | 2 +- Plugins/Flow.Launcher.Plugin.Program/plugin.json | 2 +- Plugins/Flow.Launcher.Plugin.Shell/plugin.json | 2 +- Plugins/Flow.Launcher.Plugin.Sys/plugin.json | 2 +- Plugins/Flow.Launcher.Plugin.Url/plugin.json | 2 +- Plugins/Flow.Launcher.Plugin.WebSearch/plugin.json | 2 +- 12 files changed, 12 insertions(+), 12 deletions(-) diff --git a/Plugins/Flow.Launcher.Plugin.BrowserBookmark/plugin.json b/Plugins/Flow.Launcher.Plugin.BrowserBookmark/plugin.json index 98db163ec..de4f3849b 100644 --- a/Plugins/Flow.Launcher.Plugin.BrowserBookmark/plugin.json +++ b/Plugins/Flow.Launcher.Plugin.BrowserBookmark/plugin.json @@ -4,7 +4,7 @@ "Name": "Browser Bookmarks", "Description": "Search your browser bookmarks", "Author": "qianlifeng, Ioannis G.", - "Version": "1.2.1", + "Version": "1.3.1", "Language": "csharp", "Website": "https://github.com/Flow-Launcher/Flow.Launcher", "ExecuteFileName": "Flow.Launcher.Plugin.BrowserBookmark.dll", diff --git a/Plugins/Flow.Launcher.Plugin.Calculator/plugin.json b/Plugins/Flow.Launcher.Plugin.Calculator/plugin.json index 16a46f4e5..5ec1ac002 100644 --- a/Plugins/Flow.Launcher.Plugin.Calculator/plugin.json +++ b/Plugins/Flow.Launcher.Plugin.Calculator/plugin.json @@ -4,7 +4,7 @@ "Name": "Calculator", "Description": "Provide mathematical calculations.(Try 5*3-2 in Flow Launcher)", "Author": "cxfksword", - "Version": "1.0.2", + "Version": "1.1.2", "Language": "csharp", "Website": "https://github.com/Flow-Launcher/Flow.Launcher", "ExecuteFileName": "Flow.Launcher.Plugin.Caculator.dll", diff --git a/Plugins/Flow.Launcher.Plugin.Color/plugin.json b/Plugins/Flow.Launcher.Plugin.Color/plugin.json index dbba029c6..8c0c483ba 100644 --- a/Plugins/Flow.Launcher.Plugin.Color/plugin.json +++ b/Plugins/Flow.Launcher.Plugin.Color/plugin.json @@ -4,7 +4,7 @@ "Name": "Colors", "Description": "Provide hex color preview.(Try #000 in Flow Launcher)", "Author": "qianlifeng", - "Version": "1.0.1", + "Version": "1.1.1", "Language": "csharp", "Website": "https://github.com/Flow-Launcher/Flow.Launcher", "ExecuteFileName": "Flow.Launcher.Plugin.Color.dll", diff --git a/Plugins/Flow.Launcher.Plugin.ControlPanel/plugin.json b/Plugins/Flow.Launcher.Plugin.ControlPanel/plugin.json index d7940125e..4f552a014 100644 --- a/Plugins/Flow.Launcher.Plugin.ControlPanel/plugin.json +++ b/Plugins/Flow.Launcher.Plugin.ControlPanel/plugin.json @@ -4,7 +4,7 @@ "Name": "Control Panel", "Description": "Search within the Control Panel.", "Author": "CoenraadS", - "Version": "1.0.1", + "Version": "1.1.1", "Language": "csharp", "Website": "https://github.com/Flow-Launcher/Flow.Launcher", "ExecuteFileName": "Flow.Launcher.Plugin.ControlPanel.dll", diff --git a/Plugins/Flow.Launcher.Plugin.PluginIndicator/plugin.json b/Plugins/Flow.Launcher.Plugin.PluginIndicator/plugin.json index 7b2f66989..80900a445 100644 --- a/Plugins/Flow.Launcher.Plugin.PluginIndicator/plugin.json +++ b/Plugins/Flow.Launcher.Plugin.PluginIndicator/plugin.json @@ -4,7 +4,7 @@ "Name": "Plugin Indicator", "Description": "Provide plugin actionword suggestion", "Author": "qianlifeng", - "Version": "1.0.1", + "Version": "1.1.1", "Language": "csharp", "Website": "https://github.com/Flow-Launcher/Flow.Launcher", "ExecuteFileName": "Flow.Launcher.Plugin.PluginIndicator.dll", diff --git a/Plugins/Flow.Launcher.Plugin.PluginManagement/plugin.json b/Plugins/Flow.Launcher.Plugin.PluginManagement/plugin.json index 3d73c2197..7b8262f79 100644 --- a/Plugins/Flow.Launcher.Plugin.PluginManagement/plugin.json +++ b/Plugins/Flow.Launcher.Plugin.PluginManagement/plugin.json @@ -4,7 +4,7 @@ "Name": "Plugin Management", "Description": "Install/Remove/Update Flow Launcher plugins", "Author": "qianlifeng", - "Version": "1.0.1", + "Version": "1.1.1", "Language": "csharp", "Website": "https://github.com/Flow-Launcher/Flow.Launcher", "ExecuteFileName": "Flow.Launcher.Plugin.PluginManagement.dll", diff --git a/Plugins/Flow.Launcher.Plugin.ProcessKiller/plugin.json b/Plugins/Flow.Launcher.Plugin.ProcessKiller/plugin.json index 3e7ba4043..d769397a8 100644 --- a/Plugins/Flow.Launcher.Plugin.ProcessKiller/plugin.json +++ b/Plugins/Flow.Launcher.Plugin.ProcessKiller/plugin.json @@ -4,7 +4,7 @@ "Name":"Process Killer", "Description":"kill running processes from Flow", "Author":"Flow-Launcher", - "Version":"1.1.1", + "Version":"1.2.1", "Language":"csharp", "Website":"https://github.com/Flow-Launcher/Flow.Launcher.Plugin.ProcessKiller", "IcoPath":"Images\\app.png", diff --git a/Plugins/Flow.Launcher.Plugin.Program/plugin.json b/Plugins/Flow.Launcher.Plugin.Program/plugin.json index 3eb4a40e1..90a90e3ef 100644 --- a/Plugins/Flow.Launcher.Plugin.Program/plugin.json +++ b/Plugins/Flow.Launcher.Plugin.Program/plugin.json @@ -4,7 +4,7 @@ "Name": "Program", "Description": "Search programs in Flow.Launcher", "Author": "qianlifeng", - "Version": "1.1.0", + "Version": "1.2.0", "Language": "csharp", "Website": "https://github.com/Flow-Launcher/Flow.Launcher", "ExecuteFileName": "Flow.Launcher.Plugin.Program.dll", diff --git a/Plugins/Flow.Launcher.Plugin.Shell/plugin.json b/Plugins/Flow.Launcher.Plugin.Shell/plugin.json index 19c617799..63e74d678 100644 --- a/Plugins/Flow.Launcher.Plugin.Shell/plugin.json +++ b/Plugins/Flow.Launcher.Plugin.Shell/plugin.json @@ -4,7 +4,7 @@ "Name": "Shell", "Description": "Provide executing commands from Flow Launcher. Commands should start with >", "Author": "qianlifeng", - "Version": "1.0.1", + "Version": "1.1.1", "Language": "csharp", "Website": "https://github.com/Flow-Launcher/Flow.Launcher", "ExecuteFileName": "Flow.Launcher.Plugin.Shell.dll", diff --git a/Plugins/Flow.Launcher.Plugin.Sys/plugin.json b/Plugins/Flow.Launcher.Plugin.Sys/plugin.json index 269cba07e..8d4b9a238 100644 --- a/Plugins/Flow.Launcher.Plugin.Sys/plugin.json +++ b/Plugins/Flow.Launcher.Plugin.Sys/plugin.json @@ -4,7 +4,7 @@ "Name": "System Commands", "Description": "Provide System related commands. e.g. shutdown,lock,setting etc.", "Author": "qianlifeng", - "Version": "1.0.1", + "Version": "1.1.1", "Language": "csharp", "Website": "https://github.com/Flow-Launcher/Flow.Launcher", "ExecuteFileName": "Flow.Launcher.Plugin.Sys.dll", diff --git a/Plugins/Flow.Launcher.Plugin.Url/plugin.json b/Plugins/Flow.Launcher.Plugin.Url/plugin.json index d2817fd35..be64f6708 100644 --- a/Plugins/Flow.Launcher.Plugin.Url/plugin.json +++ b/Plugins/Flow.Launcher.Plugin.Url/plugin.json @@ -4,7 +4,7 @@ "Name": "URL", "Description": "Open the typed URL from Flow Launcher", "Author": "qianlifeng", - "Version": "1.0.1", + "Version": "1.1.1", "Language": "csharp", "Website": "https://github.com/Flow-Launcher/Flow.Launcher", "ExecuteFileName": "Flow.Launcher.Plugin.Url.dll", diff --git a/Plugins/Flow.Launcher.Plugin.WebSearch/plugin.json b/Plugins/Flow.Launcher.Plugin.WebSearch/plugin.json index 7b40caea5..329f1c41d 100644 --- a/Plugins/Flow.Launcher.Plugin.WebSearch/plugin.json +++ b/Plugins/Flow.Launcher.Plugin.WebSearch/plugin.json @@ -25,7 +25,7 @@ "Name": "Web Searches", "Description": "Provide the web search ability", "Author": "qianlifeng", - "Version": "1.0.2", + "Version": "1.1.2", "Language": "csharp", "Website": "https://github.com/Flow-Launcher/Flow.Launcher", "ExecuteFileName": "Flow.Launcher.Plugin.WebSearch.dll", From 27313cdddc7aafcfaeb70ee1f284e41f5df6083e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=98=E9=9F=AC=20=E5=BC=A0?= Date: Tue, 17 Nov 2020 20:41:11 +0800 Subject: [PATCH 108/176] Fix unauthorize exception lead to the whole directory unable to index. --- Plugins/Flow.Launcher.Plugin.Program/Programs/Win32.cs | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/Plugins/Flow.Launcher.Plugin.Program/Programs/Win32.cs b/Plugins/Flow.Launcher.Plugin.Program/Programs/Win32.cs index 092418b6c..77278330a 100644 --- a/Plugins/Flow.Launcher.Plugin.Program/Programs/Win32.cs +++ b/Plugins/Flow.Launcher.Plugin.Program/Programs/Win32.cs @@ -131,7 +131,7 @@ namespace Flow.Launcher.Plugin.Program.Programs ? $"/select,\"{FullPath}\"" : Settings.ExplorerArgs; - Main.StartProcess(Process.Start, + Main.StartProcess(Process.Start, new ProcessStartInfo( !string.IsNullOrWhiteSpace(Main._settings.CustomizedExplorer) ? Main._settings.CustomizedExplorer @@ -267,10 +267,14 @@ namespace Flow.Launcher.Plugin.Program.Programs return new string[] { }; try { - var paths = Directory.EnumerateFiles(directory, "*", SearchOption.AllDirectories) + var paths = Directory.EnumerateFiles(directory, "*", new EnumerationOptions + { + IgnoreInaccessible = true, + RecurseSubdirectories = true + }) .Where(x => suffixes.Contains(Extension(x))); - return paths; + return paths; } catch (DirectoryNotFoundException e) { From 5cf0f65b022157388433ca54bd9e3800050050b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=98=E9=9F=AC=20=E5=BC=A0?= Date: Tue, 17 Nov 2020 20:44:56 +0800 Subject: [PATCH 109/176] try to fix the index out of bound for programlogger --- .../Logger/ProgramLogger.cs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Plugins/Flow.Launcher.Plugin.Program/Logger/ProgramLogger.cs b/Plugins/Flow.Launcher.Plugin.Program/Logger/ProgramLogger.cs index 3c8ad783f..06264c06c 100644 --- a/Plugins/Flow.Launcher.Plugin.Program/Logger/ProgramLogger.cs +++ b/Plugins/Flow.Launcher.Plugin.Program/Logger/ProgramLogger.cs @@ -98,17 +98,17 @@ namespace Flow.Launcher.Plugin.Program.Logger internal static void LogException(string message, Exception e) { //Index 0 is always empty. - var parts = message.Split('|'); + var parts = message.Split('|', StringSplitOptions.RemoveEmptyEntries); if (parts.Length < 4) { var logger = LogManager.GetLogger(""); logger.Error(e, $"fail to log exception in program logger, parts length is too small: {parts.Length}, message: {message}"); } - var classname = parts[1]; - var callingMethodName = parts[2]; - var loadingProgramPath = parts[3]; - var interpretationMessage = parts[4]; + var classname = parts[0]; + var callingMethodName = parts[1]; + var loadingProgramPath = parts[2]; + var interpretationMessage = parts[3]; LogException(classname, callingMethodName, loadingProgramPath, interpretationMessage, e); } From 898bb0679961546afcdff11f36e6e6b3318341d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=98=E9=9F=AC=20=E5=BC=A0?= Date: Tue, 17 Nov 2020 20:46:06 +0800 Subject: [PATCH 110/176] bump version --- Plugins/Flow.Launcher.Plugin.Program/plugin.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Plugins/Flow.Launcher.Plugin.Program/plugin.json b/Plugins/Flow.Launcher.Plugin.Program/plugin.json index 3eb4a40e1..f3c378ba4 100644 --- a/Plugins/Flow.Launcher.Plugin.Program/plugin.json +++ b/Plugins/Flow.Launcher.Plugin.Program/plugin.json @@ -4,7 +4,7 @@ "Name": "Program", "Description": "Search programs in Flow.Launcher", "Author": "qianlifeng", - "Version": "1.1.0", + "Version": "1.1.1", "Language": "csharp", "Website": "https://github.com/Flow-Launcher/Flow.Launcher", "ExecuteFileName": "Flow.Launcher.Plugin.Program.dll", From df3a9a4c973c5cbad7dab6947ee79ffe43496353 Mon Sep 17 00:00:00 2001 From: taooceros <45326534+taooceros@users.noreply.github.com> Date: Fri, 20 Nov 2020 22:26:29 +0800 Subject: [PATCH 111/176] Use default system browser (#214) --- .../SharedCommands/SearchWeb.cs | 30 ++++++++++++++++++- Flow.Launcher/ReportWindow.xaml.cs | 4 +-- Flow.Launcher/SettingWindow.xaml.cs | 4 +-- Flow.Launcher/ViewModel/MainViewModel.cs | 2 +- 4 files changed, 34 insertions(+), 6 deletions(-) diff --git a/Flow.Launcher.Plugin/SharedCommands/SearchWeb.cs b/Flow.Launcher.Plugin/SharedCommands/SearchWeb.cs index b23da730e..95d057707 100644 --- a/Flow.Launcher.Plugin/SharedCommands/SearchWeb.cs +++ b/Flow.Launcher.Plugin/SharedCommands/SearchWeb.cs @@ -1,3 +1,4 @@ +using Microsoft.Win32; using System; using System.Diagnostics; using System.IO; @@ -7,12 +8,37 @@ namespace Flow.Launcher.Plugin.SharedCommands { public static class SearchWeb { + private static string GetDefaultBrowserPath() + { + string name = string.Empty; + try + { + using var regDefault = Registry.CurrentUser.OpenSubKey("Software\\Microsoft\\Windows\\Shell\\Associations\\UrlAssociations\\http\\UserChoice", false); + var stringDefault = regDefault.GetValue("ProgId"); + + using var regKey = Registry.ClassesRoot.OpenSubKey(stringDefault + "\\shell\\open\\command", false); + name = regKey.GetValue(null).ToString().ToLower().Replace("\"", ""); + + if (!name.EndsWith("exe")) + name = name.Substring(0, name.LastIndexOf(".exe") + 4); + + } + catch + { + return string.Empty; + } + + return name; + } + ///