From a460aefa1f6faca89a47491c86598365a5c9ea1c Mon Sep 17 00:00:00 2001 From: Jeremy Wu Date: Sun, 6 Dec 2020 19:58:27 +1100 Subject: [PATCH 01/24] 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 6196aa5df1f..22086b0bddf 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 00000000000..b1d0c6f683a --- /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 00000000000..36e40bf1b77 --- /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 00000000000..f6538b7ef64 --- /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 00000000000..055e027ad4c --- /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 00000000000..d470a996c54 --- /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 00000000000..327011ac31d --- /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 02/24] 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 f6538b7ef64..56f01e86bd7 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 03/24] 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 00000000000..d26c1ead46a --- /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 b1d0c6f683a..43a1e089b5e 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 00000000000..75caf81ec95 --- /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 36e40bf1b77..73d3f954c5f 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 56f01e86bd7..d2f6348af83 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 d470a996c54..3609aba7ddc 100644 --- a/Plugins/Flow.Launcher.Plugin.PluginManager/PluginsManifest.cs +++ b/Plugins/Flow.Launcher.Plugin.PluginManager/Models/PluginsManifest.cs @@ -6,7 +6,7 @@ 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 00000000000..f3cf117d33f --- /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 00000000000..7f6d7ba82a8 --- /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 00000000000..14204eda930 --- /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 158701012623e0a95bf53638654609a4efc18164 Mon Sep 17 00:00:00 2001 From: Jeremy Wu Date: Mon, 7 Dec 2020 07:40:42 +1100 Subject: [PATCH 04/24] 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 73d3f954c5f..829bb9715f5 100644 --- a/Plugins/Flow.Launcher.Plugin.PluginManager/Main.cs +++ b/Plugins/Flow.Launcher.Plugin.PluginManager/Main.cs @@ -37,7 +37,11 @@ public List LoadContextMenus(Result selectedResult) 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 d2f6348af83..00000000000 --- 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 3609aba7ddc..134ad7bd097 100644 --- a/Plugins/Flow.Launcher.Plugin.PluginManager/Models/PluginsManifest.cs +++ b/Plugins/Flow.Launcher.Plugin.PluginManager/Models/PluginsManifest.cs @@ -8,10 +8,10 @@ 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 @@ public PluginsManifest() { 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 00000000000..3bc44e0f6fe --- /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 055e027ad4c..1f3321d6ab9 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 @@ internal void PluginInstall(Plugin plugin) return; } - PluginDowload(plugin.Url, ""); + PluginDowload(plugin.UrlDownload, ""); } private void PluginDowload(string downloadUrl, string toFilePath) @@ -42,5 +50,48 @@ internal void PluginsManifestSiteOpen() { } + + 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 05/24] 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 1f3321d6ab9..5457c156246 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 @@ internal List PluginsSearch(string searchName) { Title = $"{x.Name} by {x.Author}", SubTitle = x.Description, - IcoPath = "Images\\plugin.png", + IcoPath = icoPath, Action = e => { PluginInstall(x); @@ -83,7 +86,7 @@ internal List PluginsSearch(string searchName) { 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 06/24] 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 43a1e089b5e..84cc5ffb195 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 75caf81ec95..7930eb7436e 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 829bb9715f5..1a21f6026d4 100644 --- a/Plugins/Flow.Launcher.Plugin.PluginManager/Main.cs +++ b/Plugins/Flow.Launcher.Plugin.PluginManager/Main.cs @@ -39,7 +39,7 @@ public List Query(Query query) { 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 5457c156246..6a9da4eea1c 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 @@ internal void PluginInstall(UserPlugin plugin) 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 @@ internal List PluginsSearch(string searchName) { var results = new List(); - if (string.IsNullOrEmpty(searchName)) - { - pluginsManifest.UserPlugins + pluginsManifest + .UserPlugins .ForEach(x => results.Add( new Result { @@ -69,32 +88,22 @@ internal List PluginsSearch(string searchName) 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 07/24] 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 9f146a457fb..189a6669ec1 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 7b980a3eea0..00000000000 --- 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 5cde9de83a8..3b697a1ee6c 100644 --- a/Flow.Launcher.Core/Plugin/PluginManager.cs +++ b/Flow.Launcher.Core/Plugin/PluginManager.cs @@ -133,11 +133,6 @@ public static void InitializePlugins(IPublicAPI api) } } - 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 68197390509..ccc00d5e938 100644 --- a/Flow.Launcher.Plugin/IPublicAPI.cs +++ b/Flow.Launcher.Plugin/IPublicAPI.cs @@ -63,12 +63,6 @@ public interface IPublicAPI /// 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 0cc5a0e5d1f..90d4fff63e8 100644 --- a/Flow.Launcher/PublicAPIInstance.cs +++ b/Flow.Launcher/PublicAPIInstance.cs @@ -115,11 +115,6 @@ public void StopLoadingBar() _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 84cc5ffb195..cc1a931ce04 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 6a9da4eea1c..5484fdf85e0 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.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 @@ internal void PluginInstall(UserPlugin plugin) 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 @@ internal List PluginsSearch(string searchName) .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 d8191f71bf0e24e91f5135d1c4e0537a82b7b922 Mon Sep 17 00:00:00 2001 From: Jeremy Wu Date: Wed, 9 Dec 2020 05:28:58 +1100 Subject: [PATCH 08/24] adjust temporary working directory path --- .../PluginsManager.cs | 127 ++++++++---------- 1 file changed, 53 insertions(+), 74 deletions(-) diff --git a/Plugins/Flow.Launcher.Plugin.PluginManager/PluginsManager.cs b/Plugins/Flow.Launcher.Plugin.PluginManager/PluginsManager.cs index 5484fdf85e0..4290767c371 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.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 @@ internal void PluginInstall(UserPlugin plugin) 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 @@ internal List PluginsSearch(string searchName) .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)) - { - MessageBox.Show("Install failed: plugin config is missing"); - return; - } + 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; - PluginMetadata plugin = GetMetadataFromJson(tempFolder); - if (plugin == null || plugin.Name == null) + 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 invalid"); + MessageBox.Show("Install failed: unable to find the plugin.json metadata file"); 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 @@ private void Install(string path) 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 @@ private void Install(string path) "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 @@ private void UnZip(string zipFile, string strDirectory, bool overWrite) } } } + + //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 09/24] 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 4290767c371..e7e61460e57 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.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 @@ internal void PluginInstall(UserPlugin plugin) } 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 @@ private void Install(UserPlugin plugin, string downloadedFilePath) File.Move(downloadedFilePath, zipFilePath); - UnZip(zipFilePath, tempPluginFolderPath, true); + Utilities.UnZip(zipFilePath, tempPluginFolderPath, true); var unzippedParentFolderPath = tempPluginFolderPath; @@ -203,43 +194,5 @@ private void Install(UserPlugin plugin, string downloadedFilePath) } } } - - /// - /// 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 00000000000..1ff42fdbd15 --- /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 10/24] 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 22086b0bddf..c873bc14720 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 1a21f6026d4..70ff7915c6c 100644 --- a/Plugins/Flow.Launcher.Plugin.PluginManager/Main.cs +++ b/Plugins/Flow.Launcher.Plugin.PluginsManager/Main.cs @@ -41,7 +41,7 @@ public List Query(Query query) 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 e7e61460e57..d35c8c16bfa 100644 --- a/Plugins/Flow.Launcher.Plugin.PluginManager/PluginsManager.cs +++ b/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs @@ -17,14 +17,14 @@ internal class 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 @@ internal void PluginInstall(UserPlugin plugin) Application.Current.Dispatcher.Invoke(() => Install(plugin, filePath)); } - internal void PluginUpdate() + internal void Update() { } @@ -65,10 +65,10 @@ internal bool PluginExists() 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 @@ internal List PluginsSearch(string searchName) 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 11/24] 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 7930eb7436e..01a9052edf9 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 70ff7915c6c..f763826a859 100644 --- a/Plugins/Flow.Launcher.Plugin.PluginsManager/Main.cs +++ b/Plugins/Flow.Launcher.Plugin.PluginsManager/Main.cs @@ -39,9 +39,14 @@ public List Query(Query query) { 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 d35c8c16bfa..ad62ac7b78c 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 @@ internal void InstallOrUpdate(UserPlugin plugin) { 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 @@ internal void PluginsManifestSiteOpen() //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 @@ internal List Search(string searchName) 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 @@ internal List Search(string searchName) } })); - 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 @@ private void Install(UserPlugin plugin, string downloadedFilePath) $"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 @@ private void Install(UserPlugin plugin, string downloadedFilePath) 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 12/24] 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 ad62ac7b78c..5a330491288 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 @@ internal List RequestUninstall(string search) { 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 13/24] 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 5a330491288..29065122b91 100644 --- a/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs +++ b/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs @@ -17,7 +17,7 @@ internal class 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 14/24] 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 29065122b91..f18d52d4c78 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.Collections.Generic; using System.IO; using System.Linq; -using System.Net; using System.Windows; namespace Flow.Launcher.Plugin.PluginsManager @@ -65,7 +63,7 @@ internal bool PluginExists() 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 7f6d7ba82a8..89d27f6ffea 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 15/24] refactor --- .../PluginsManager.cs | 131 +++++++----------- .../Utilities.cs | 18 +++ 2 files changed, 66 insertions(+), 83 deletions(-) diff --git a/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs b/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs index f18d52d4c78..776c01144c9 100644 --- a/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs +++ b/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs @@ -24,13 +24,24 @@ internal PluginsManager(PluginInitContext context) } 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 @@ internal void InstallOrUpdate(UserPlugin plugin) 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 @@ internal List RequestInstallOrUpdate(string searchName) private void Install(UserPlugin plugin, string downloadedFilePath) { - if (File.Exists(downloadedFilePath)) - { - 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(downloadedFilePath)) + return; + + var tempFolderPath = Path.Combine(Path.GetTempPath(), "flowlauncher"); + var tempFolderPluginPath = Path.Combine(tempFolderPath, "plugin"); + + if (Directory.Exists(tempFolderPath)) + Directory.Delete(tempFolderPath, true); - if (File.Exists(Path.Combine(pluginFolderPath, Constant.PluginMetadataFileName))) - metadataJsonFilePath = Path.Combine(pluginFolderPath, Constant.PluginMetadataFileName); + Directory.CreateDirectory(tempFolderPath); - if (string.IsNullOrEmpty(metadataJsonFilePath) || string.IsNullOrEmpty(pluginFolderPath)) - { - MessageBox.Show("Install failed: unable to find the plugin.json metadata file"); - return; - } + var zipFilePath = Path.Combine(tempFolderPath, Path.GetFileName(downloadedFilePath)); - string newPluginPath = Path.Combine(DataLocation.PluginsDirectory, $"{plugin.Name}{plugin.ID}"); + File.Move(downloadedFilePath, zipFilePath); - 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}"; + Utilities.UnZip(zipFilePath, tempFolderPluginPath, true); - var existingPlugin = Context.API.GetAllPlugins().Where(x => x.Metadata.ID == plugin.ID).FirstOrDefault(); + var pluginFolderPath = Utilities.GetContainingFolderPathAfterUnzip(tempFolderPluginPath); - 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 metadataJsonFilePath = string.Empty; + if (File.Exists(Path.Combine(pluginFolderPath, Constant.PluginMetadataFileName))) + metadataJsonFilePath = Path.Combine(pluginFolderPath, Constant.PluginMetadataFileName); - 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(); - } + if (string.IsNullOrEmpty(metadataJsonFilePath) || string.IsNullOrEmpty(pluginFolderPath)) + { + MessageBox.Show("Install failed: unable to find the plugin.json metadata file from the new plugin"); + return; + } - Directory.Move(pluginFolderPath, newPluginPath); + 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(); - } - } - } + 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 @@ private void Uninstall(PluginMetadata plugin) 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 1ff42fdbd15..4c82a855b63 100644 --- a/Plugins/Flow.Launcher.Plugin.PluginsManager/Utilities.cs +++ b/Plugins/Flow.Launcher.Plugin.PluginsManager/Utilities.cs @@ -40,6 +40,24 @@ internal static void UnZip(string zipFilePath, string strDirectory, bool overwri } } + 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 16/24] 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 c873bc14720..4d8997177ff 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 0cc671ef65a..07bb9633903 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 993eb76c50b..3812b4e1f0a 100644 --- a/Flow.Launcher/MainWindow.xaml.cs +++ b/Flow.Launcher/MainWindow.xaml.cs @@ -199,24 +199,6 @@ private void OnPreviewMouseButtonDown(object sender, MouseButtonEventArgs e) } } - 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 08e89d86125..00000000000 --- 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 7f5d75d4e98..00000000000 --- 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 38b2f1b4b3a..00000000000 --- 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 b49f33c767e..00000000000 --- 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 362db73e5ed..00000000000 --- 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 b51eceb6aef..00000000000 --- 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 fee82a78bcb..00000000000 --- 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 009fd976c19..00000000000 --- 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 c93d740f133..00000000000 --- 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 e1b631517e2..00000000000 --- 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 7b8262f795a..00000000000 --- 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 17/24] 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 01a9052edf9..fc13f0c2fe7 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 776c01144c9..6bfd246cd8e 100644 --- a/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs +++ b/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs @@ -24,28 +24,26 @@ internal PluginsManager(PluginInitContext context) } 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 @@ internal List RequestInstallOrUpdate(string searchName) 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 @@ private void Install(UserPlugin plugin, string downloadedFilePath) 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 @@ private void Install(UserPlugin plugin, string downloadedFilePath) 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 @@ internal List RequestUninstall(string search) 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 c8b251d63ac0bdac58ba2fc1221566d88e4488e9 Mon Sep 17 00:00:00 2001 From: Jeremy Wu Date: Mon, 14 Dec 2020 08:41:18 +1100 Subject: [PATCH 18/24] use Http.Get from Infrastructure --- Flow.Launcher.Infrastructure/Http/Http.cs | 18 ++++------- .../Models/PluginsManifest.cs | 31 +++++++++++-------- 2 files changed, 24 insertions(+), 25 deletions(-) diff --git a/Flow.Launcher.Infrastructure/Http/Http.cs b/Flow.Launcher.Infrastructure/Http/Http.cs index b7d274205ad..1d5f240e1be 100644 --- a/Flow.Launcher.Infrastructure/Http/Http.cs +++ b/Flow.Launcher.Infrastructure/Http/Http.cs @@ -66,18 +66,12 @@ public static async Task Get([NotNull] string url, string encoding = "UT 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 134ad7bd097..29022171007 100644 --- a/Plugins/Flow.Launcher.Plugin.PluginsManager/Models/PluginsManifest.cs +++ b/Plugins/Flow.Launcher.Plugin.PluginsManager/Models/PluginsManifest.cs @@ -3,8 +3,7 @@ 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 @@ internal class PluginsManifest { internal List UserPlugins { get; private set; } internal PluginsManifest() + { + DownloadManifest(); + } + + private void DownloadManifest() { var json = string.Empty; + try + { + var t = Task.Run( + async () => + json = await Http.Get("https://raw.githubusercontent.com/Flow-Launcher/Flow.Launcher.PluginsManifest/main/plugins.json")); + + t.Wait(); - using (var wc = new WebClient { Proxy = Http.WebProxy() }) + UserPlugins = JsonConvert.DeserializeObject>(json); + } + catch (Exception e) { - 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); + Log.Exception("|PluginManagement.GetManifest|Encountered error trying to download plugins manifest", e); - UserPlugins = new List(); - } + 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 19/24] 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 4c82a855b63..87c368f7f5c 100644 --- a/Plugins/Flow.Launcher.Plugin.PluginsManager/Utilities.cs +++ b/Plugins/Flow.Launcher.Plugin.PluginsManager/Utilities.cs @@ -45,7 +45,7 @@ internal static string GetContainingFolderPathAfterUnzip(string unzippedParentFo 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 20/24] 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 6bfd246cd8e..527ce99f7be 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 @@ internal void InstallOrUpdate(UserPlugin plugin) 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 87c368f7f5c..2853ffc9e28 100644 --- a/Plugins/Flow.Launcher.Plugin.PluginsManager/Utilities.cs +++ b/Plugins/Flow.Launcher.Plugin.PluginsManager/Utilities.cs @@ -57,12 +57,5 @@ internal static string GetContainingFolderPathAfterUnzip(string unzippedParentFo 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 21/24] change foreach to select --- .../PluginsManager.cs | 66 +++++++++---------- 1 file changed, 33 insertions(+), 33 deletions(-) diff --git a/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs b/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs index 527ce99f7be..7d729193b6c 100644 --- a/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs +++ b/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs @@ -90,24 +90,24 @@ internal List Search(List results, string searchName) 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); - - return true; - } - })); + Application.Current.MainWindow.Hide(); + InstallOrUpdate(x); + + return true; + } + }) + .ToList(); return Search(results, searchName); } @@ -156,23 +156,23 @@ private void Install(UserPlugin plugin, string downloadedFilePath) 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 = x.Metadata.IcoPath, - Action = e => - { - Application.Current.MainWindow.Hide(); - Uninstall(x.Metadata); - - return true; - } - })); + 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); + + 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 22/24] 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 7d729193b6c..8f1b86eef3f 100644 --- a/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs +++ b/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs @@ -84,7 +84,6 @@ internal List Search(List results, string searchName) 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 23/24] 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 8f1b86eef3f..77672e05f81 100644 --- a/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs +++ b/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs @@ -83,7 +83,14 @@ internal List Search(List results, string searchName) 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 24/24] 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 f763826a859..58ec5005fb5 100644 --- a/Plugins/Flow.Launcher.Plugin.PluginsManager/Main.cs +++ b/Plugins/Flow.Launcher.Plugin.PluginsManager/Main.cs @@ -37,14 +37,13 @@ public List LoadContextMenus(Result selectedResult) 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 77672e05f81..fc4abc800b4 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 @@ internal List Search(List results, string searchName) 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 @@ private void Install(UserPlugin plugin, string 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); @@ -150,18 +154,44 @@ private void Install(UserPlugin plugin, string downloadedFilePath) } 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 @@ internal List RequestUninstall(string search) }) .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 00000000000..0c647e6ae96 --- /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"; + } +}