From db354a23a5710ca13d94cdd1f606cb6932094edc Mon Sep 17 00:00:00 2001 From: Hongtao Zhang Date: Fri, 30 Dec 2022 19:12:11 -0500 Subject: [PATCH 01/33] Update to .Net 7 --- Flow.Launcher.Core/Flow.Launcher.Core.csproj | 2 +- .../Flow.Launcher.Infrastructure.csproj | 2 +- .../Flow.Launcher.Plugin.csproj | 2 +- Flow.Launcher.Test/Flow.Launcher.Test.csproj | 2 +- Flow.Launcher/Flow.Launcher.csproj | 2 +- .../Net6.0-SelfContained.pubxml | 18 ------------------ Flow.Launcher/PublicAPIInstance.cs | 2 +- ...Flow.Launcher.Plugin.BrowserBookmark.csproj | 2 +- .../Flow.Launcher.Plugin.Calculator.csproj | 2 +- .../Flow.Launcher.Plugin.Explorer.csproj | 2 +- ...Flow.Launcher.Plugin.PluginIndicator.csproj | 2 +- .../Flow.Launcher.Plugin.PluginsManager.csproj | 2 +- .../Flow.Launcher.Plugin.ProcessKiller.csproj | 2 +- .../Flow.Launcher.Plugin.Program.csproj | 2 +- .../Flow.Launcher.Plugin.Shell.csproj | 2 +- .../Flow.Launcher.Plugin.Sys.csproj | 2 +- .../Flow.Launcher.Plugin.Url.csproj | 2 +- .../Flow.Launcher.Plugin.WebSearch.csproj | 2 +- ...Flow.Launcher.Plugin.WindowsSettings.csproj | 2 +- Scripts/flowlauncher.nuspec | 2 +- Scripts/post_build.ps1 | 2 +- 21 files changed, 20 insertions(+), 38 deletions(-) delete mode 100644 Flow.Launcher/Properties/PublishProfiles/Net6.0-SelfContained.pubxml diff --git a/Flow.Launcher.Core/Flow.Launcher.Core.csproj b/Flow.Launcher.Core/Flow.Launcher.Core.csproj index beb2925bf..107992647 100644 --- a/Flow.Launcher.Core/Flow.Launcher.Core.csproj +++ b/Flow.Launcher.Core/Flow.Launcher.Core.csproj @@ -1,7 +1,7 @@  - net6.0-windows + net7.0-windows true true Library diff --git a/Flow.Launcher.Infrastructure/Flow.Launcher.Infrastructure.csproj b/Flow.Launcher.Infrastructure/Flow.Launcher.Infrastructure.csproj index 80c3bbec5..f4d7511c6 100644 --- a/Flow.Launcher.Infrastructure/Flow.Launcher.Infrastructure.csproj +++ b/Flow.Launcher.Infrastructure/Flow.Launcher.Infrastructure.csproj @@ -1,7 +1,7 @@  - net6.0-windows + net7.0-windows {4FD29318-A8AB-4D8F-AA47-60BC241B8DA3} Library true diff --git a/Flow.Launcher.Plugin/Flow.Launcher.Plugin.csproj b/Flow.Launcher.Plugin/Flow.Launcher.Plugin.csproj index 22c47ae34..ab37dbd41 100644 --- a/Flow.Launcher.Plugin/Flow.Launcher.Plugin.csproj +++ b/Flow.Launcher.Plugin/Flow.Launcher.Plugin.csproj @@ -1,7 +1,7 @@ - net6.0-windows + net7.0-windows {8451ECDD-2EA4-4966-BB0A-7BBC40138E80} true Library diff --git a/Flow.Launcher.Test/Flow.Launcher.Test.csproj b/Flow.Launcher.Test/Flow.Launcher.Test.csproj index c67a5cf22..c7da86f82 100644 --- a/Flow.Launcher.Test/Flow.Launcher.Test.csproj +++ b/Flow.Launcher.Test/Flow.Launcher.Test.csproj @@ -1,7 +1,7 @@  - net6.0-windows10.0.19041.0 + net7.0-windows10.0.19041.0 {FF742965-9A80-41A5-B042-D6C7D3A21708} Library Properties diff --git a/Flow.Launcher/Flow.Launcher.csproj b/Flow.Launcher/Flow.Launcher.csproj index 1f74ea8a5..4e5ecaae4 100644 --- a/Flow.Launcher/Flow.Launcher.csproj +++ b/Flow.Launcher/Flow.Launcher.csproj @@ -2,7 +2,7 @@ WinExe - net6.0-windows10.0.19041.0 + net7.0-windows10.0.19041.0 true true Flow.Launcher.App diff --git a/Flow.Launcher/Properties/PublishProfiles/Net6.0-SelfContained.pubxml b/Flow.Launcher/Properties/PublishProfiles/Net6.0-SelfContained.pubxml deleted file mode 100644 index 23867d894..000000000 --- a/Flow.Launcher/Properties/PublishProfiles/Net6.0-SelfContained.pubxml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - FileSystem - Release - Any CPU - net6.0-windows10.0.19041.0 - ..\Output\Release\ - win-x64 - true - False - False - False - - diff --git a/Flow.Launcher/PublicAPIInstance.cs b/Flow.Launcher/PublicAPIInstance.cs index 927055971..b2487693e 100644 --- a/Flow.Launcher/PublicAPIInstance.cs +++ b/Flow.Launcher/PublicAPIInstance.cs @@ -1,4 +1,4 @@ -using System; + using System; using System.Collections.Generic; using System.Linq; using System.Net; diff --git a/Plugins/Flow.Launcher.Plugin.BrowserBookmark/Flow.Launcher.Plugin.BrowserBookmark.csproj b/Plugins/Flow.Launcher.Plugin.BrowserBookmark/Flow.Launcher.Plugin.BrowserBookmark.csproj index 4596acb4c..c42378a9a 100644 --- a/Plugins/Flow.Launcher.Plugin.BrowserBookmark/Flow.Launcher.Plugin.BrowserBookmark.csproj +++ b/Plugins/Flow.Launcher.Plugin.BrowserBookmark/Flow.Launcher.Plugin.BrowserBookmark.csproj @@ -2,7 +2,7 @@ Library - net6.0-windows + net7.0-windows true {9B130CC5-14FB-41FF-B310-0A95B6894C37} Properties diff --git a/Plugins/Flow.Launcher.Plugin.Calculator/Flow.Launcher.Plugin.Calculator.csproj b/Plugins/Flow.Launcher.Plugin.Calculator/Flow.Launcher.Plugin.Calculator.csproj index e65e7d497..db731fb2c 100644 --- a/Plugins/Flow.Launcher.Plugin.Calculator/Flow.Launcher.Plugin.Calculator.csproj +++ b/Plugins/Flow.Launcher.Plugin.Calculator/Flow.Launcher.Plugin.Calculator.csproj @@ -2,7 +2,7 @@ Library - net6.0-windows + net7.0-windows {59BD9891-3837-438A-958D-ADC7F91F6F7E} Properties Flow.Launcher.Plugin.Caculator diff --git a/Plugins/Flow.Launcher.Plugin.Explorer/Flow.Launcher.Plugin.Explorer.csproj b/Plugins/Flow.Launcher.Plugin.Explorer/Flow.Launcher.Plugin.Explorer.csproj index 62cb599a1..25ff5b22f 100644 --- a/Plugins/Flow.Launcher.Plugin.Explorer/Flow.Launcher.Plugin.Explorer.csproj +++ b/Plugins/Flow.Launcher.Plugin.Explorer/Flow.Launcher.Plugin.Explorer.csproj @@ -2,7 +2,7 @@ Library - net6.0-windows + net7.0-windows true true true diff --git a/Plugins/Flow.Launcher.Plugin.PluginIndicator/Flow.Launcher.Plugin.PluginIndicator.csproj b/Plugins/Flow.Launcher.Plugin.PluginIndicator/Flow.Launcher.Plugin.PluginIndicator.csproj index 4176d2d50..21d964c11 100644 --- a/Plugins/Flow.Launcher.Plugin.PluginIndicator/Flow.Launcher.Plugin.PluginIndicator.csproj +++ b/Plugins/Flow.Launcher.Plugin.PluginIndicator/Flow.Launcher.Plugin.PluginIndicator.csproj @@ -2,7 +2,7 @@ Library - net6.0-windows + net7.0-windows {FDED22C8-B637-42E8-824A-63B5B6E05A3A} Properties Flow.Launcher.Plugin.PluginIndicator diff --git a/Plugins/Flow.Launcher.Plugin.PluginsManager/Flow.Launcher.Plugin.PluginsManager.csproj b/Plugins/Flow.Launcher.Plugin.PluginsManager/Flow.Launcher.Plugin.PluginsManager.csproj index 2b773bee4..ded64f18d 100644 --- a/Plugins/Flow.Launcher.Plugin.PluginsManager/Flow.Launcher.Plugin.PluginsManager.csproj +++ b/Plugins/Flow.Launcher.Plugin.PluginsManager/Flow.Launcher.Plugin.PluginsManager.csproj @@ -1,7 +1,7 @@  Library - net6.0-windows + net7.0-windows true true true diff --git a/Plugins/Flow.Launcher.Plugin.ProcessKiller/Flow.Launcher.Plugin.ProcessKiller.csproj b/Plugins/Flow.Launcher.Plugin.ProcessKiller/Flow.Launcher.Plugin.ProcessKiller.csproj index 80642c8a3..861fc3197 100644 --- a/Plugins/Flow.Launcher.Plugin.ProcessKiller/Flow.Launcher.Plugin.ProcessKiller.csproj +++ b/Plugins/Flow.Launcher.Plugin.ProcessKiller/Flow.Launcher.Plugin.ProcessKiller.csproj @@ -2,7 +2,7 @@ Library - net6.0-windows + net7.0-windows Flow.Launcher.Plugin.ProcessKiller Flow.Launcher.Plugin.ProcessKiller Flow-Launcher diff --git a/Plugins/Flow.Launcher.Plugin.Program/Flow.Launcher.Plugin.Program.csproj b/Plugins/Flow.Launcher.Plugin.Program/Flow.Launcher.Plugin.Program.csproj index 83f9464c4..02555cf1f 100644 --- a/Plugins/Flow.Launcher.Plugin.Program/Flow.Launcher.Plugin.Program.csproj +++ b/Plugins/Flow.Launcher.Plugin.Program/Flow.Launcher.Plugin.Program.csproj @@ -2,7 +2,7 @@ Library - net6.0-windows10.0.19041.0 + net7.0-windows10.0.19041.0 {FDB3555B-58EF-4AE6-B5F1-904719637AB4} Properties Flow.Launcher.Plugin.Program diff --git a/Plugins/Flow.Launcher.Plugin.Shell/Flow.Launcher.Plugin.Shell.csproj b/Plugins/Flow.Launcher.Plugin.Shell/Flow.Launcher.Plugin.Shell.csproj index c3f63eeb5..dfbf54c3a 100644 --- a/Plugins/Flow.Launcher.Plugin.Shell/Flow.Launcher.Plugin.Shell.csproj +++ b/Plugins/Flow.Launcher.Plugin.Shell/Flow.Launcher.Plugin.Shell.csproj @@ -2,7 +2,7 @@ Library - net6.0-windows + net7.0-windows {C21BFF9C-2C99-4B5F-B7C9-A5E6DDDB37B0} Properties Flow.Launcher.Plugin.Shell diff --git a/Plugins/Flow.Launcher.Plugin.Sys/Flow.Launcher.Plugin.Sys.csproj b/Plugins/Flow.Launcher.Plugin.Sys/Flow.Launcher.Plugin.Sys.csproj index ce4773908..c7a722189 100644 --- a/Plugins/Flow.Launcher.Plugin.Sys/Flow.Launcher.Plugin.Sys.csproj +++ b/Plugins/Flow.Launcher.Plugin.Sys/Flow.Launcher.Plugin.Sys.csproj @@ -2,7 +2,7 @@ Library - net6.0-windows + net7.0-windows {0B9DE348-9361-4940-ADB6-F5953BFFCCEC} Properties Flow.Launcher.Plugin.Sys diff --git a/Plugins/Flow.Launcher.Plugin.Url/Flow.Launcher.Plugin.Url.csproj b/Plugins/Flow.Launcher.Plugin.Url/Flow.Launcher.Plugin.Url.csproj index 8d50a80e2..c03acefae 100644 --- a/Plugins/Flow.Launcher.Plugin.Url/Flow.Launcher.Plugin.Url.csproj +++ b/Plugins/Flow.Launcher.Plugin.Url/Flow.Launcher.Plugin.Url.csproj @@ -2,7 +2,7 @@ Library - net6.0-windows + net7.0-windows {A3DCCBCA-ACC1-421D-B16E-210896234C26} true Properties diff --git a/Plugins/Flow.Launcher.Plugin.WebSearch/Flow.Launcher.Plugin.WebSearch.csproj b/Plugins/Flow.Launcher.Plugin.WebSearch/Flow.Launcher.Plugin.WebSearch.csproj index f238c4e93..55d69d526 100644 --- a/Plugins/Flow.Launcher.Plugin.WebSearch/Flow.Launcher.Plugin.WebSearch.csproj +++ b/Plugins/Flow.Launcher.Plugin.WebSearch/Flow.Launcher.Plugin.WebSearch.csproj @@ -2,7 +2,7 @@ Library - net6.0-windows + net7.0-windows {403B57F2-1856-4FC7-8A24-36AB346B763E} Properties true diff --git a/Plugins/Flow.Launcher.Plugin.WindowsSettings/Flow.Launcher.Plugin.WindowsSettings.csproj b/Plugins/Flow.Launcher.Plugin.WindowsSettings/Flow.Launcher.Plugin.WindowsSettings.csproj index aa3eb8e6f..47ab3b2ba 100644 --- a/Plugins/Flow.Launcher.Plugin.WindowsSettings/Flow.Launcher.Plugin.WindowsSettings.csproj +++ b/Plugins/Flow.Launcher.Plugin.WindowsSettings/Flow.Launcher.Plugin.WindowsSettings.csproj @@ -1,7 +1,7 @@  Library - net6.0-windows + net7.0-windows true true false diff --git a/Scripts/flowlauncher.nuspec b/Scripts/flowlauncher.nuspec index aeb29d1f1..8d753bc8c 100644 --- a/Scripts/flowlauncher.nuspec +++ b/Scripts/flowlauncher.nuspec @@ -11,6 +11,6 @@ Flow Launcher - Quick file search and app launcher for Windows with community-made plugins - + diff --git a/Scripts/post_build.ps1 b/Scripts/post_build.ps1 index d937c5732..dc2ebd998 100644 --- a/Scripts/post_build.ps1 +++ b/Scripts/post_build.ps1 @@ -100,7 +100,7 @@ function Pack-Squirrel-Installer ($path, $version, $output) { function Publish-Self-Contained ($p) { $csproj = Join-Path "$p" "Flow.Launcher/Flow.Launcher.csproj" -Resolve - $profile = Join-Path "$p" "Flow.Launcher/Properties/PublishProfiles/Net6.0-SelfContained.pubxml" -Resolve + $profile = Join-Path "$p" "Flow.Launcher/Properties/PublishProfiles/net7.0-SelfContained.pubxml" -Resolve # we call dotnet publish on the main project. # The other projects should have been built in Release at this point. From 4317fed9d52c928558cd4b5ebca12d3b82a07e9a Mon Sep 17 00:00:00 2001 From: Kevin Zhang <45326534+taooceros@users.noreply.github.com> Date: Fri, 30 Dec 2022 19:12:59 -0500 Subject: [PATCH 02/33] Update global.json --- global.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/global.json b/global.json index 6ff5b35d3..1ee79d7a2 100644 --- a/global.json +++ b/global.json @@ -1,6 +1,6 @@ { "sdk": { - "version": "6.0.*", + "version": "7.0.*", "rollForward": "latestPatch" } -} \ No newline at end of file +} From 631ec074f2c885d7c4a23e24fa2e07762810138f Mon Sep 17 00:00:00 2001 From: Hongtao Zhang Date: Fri, 30 Dec 2022 21:38:39 -0500 Subject: [PATCH 03/33] update path --- Scripts/post_build.ps1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Scripts/post_build.ps1 b/Scripts/post_build.ps1 index dc2ebd998..23eabedfd 100644 --- a/Scripts/post_build.ps1 +++ b/Scripts/post_build.ps1 @@ -100,7 +100,7 @@ function Pack-Squirrel-Installer ($path, $version, $output) { function Publish-Self-Contained ($p) { $csproj = Join-Path "$p" "Flow.Launcher/Flow.Launcher.csproj" -Resolve - $profile = Join-Path "$p" "Flow.Launcher/Properties/PublishProfiles/net7.0-SelfContained.pubxml" -Resolve + $profile = Join-Path "$p" "Flow.Launcher/Properties/PublishProfiles/Net7.0-SelfContained.pubxml" -Resolve # we call dotnet publish on the main project. # The other projects should have been built in Release at this point. From 5ab3ff6813fbfe44ca03a81ea8cd7601aca04d58 Mon Sep 17 00:00:00 2001 From: Hongtao Zhang Date: Fri, 30 Dec 2022 21:56:27 -0500 Subject: [PATCH 04/33] add renamed file --- .../Net7.0-SelfContained.pubxml | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 Flow.Launcher/Properties/PublishProfiles/Net7.0-SelfContained.pubxml diff --git a/Flow.Launcher/Properties/PublishProfiles/Net7.0-SelfContained.pubxml b/Flow.Launcher/Properties/PublishProfiles/Net7.0-SelfContained.pubxml new file mode 100644 index 000000000..0e5cf4489 --- /dev/null +++ b/Flow.Launcher/Properties/PublishProfiles/Net7.0-SelfContained.pubxml @@ -0,0 +1,18 @@ + + + + + FileSystem + Release + Any CPU + net7.0-windows10.0.19041.0 + ..\Output\Release\ + win-x64 + true + False + False + False + + From 51fac770978e1f963b08684f98d9c7dd1e8c841e Mon Sep 17 00:00:00 2001 From: Hongtao Zhang Date: Tue, 24 Jan 2023 20:42:53 -0600 Subject: [PATCH 05/33] Use File.Move when the setting file does not exists --- .../Storage/JsonStorage.cs | 31 ++++++++++++++----- 1 file changed, 24 insertions(+), 7 deletions(-) diff --git a/Flow.Launcher.Infrastructure/Storage/JsonStorage.cs b/Flow.Launcher.Infrastructure/Storage/JsonStorage.cs index 500b0829e..43e7ddab7 100644 --- a/Flow.Launcher.Infrastructure/Storage/JsonStorage.cs +++ b/Flow.Launcher.Infrastructure/Storage/JsonStorage.cs @@ -13,12 +13,17 @@ namespace Flow.Launcher.Infrastructure.Storage public class JsonStorage where T : new() { protected T? Data; + // need a new directory name public const string DirectoryName = "Settings"; public const string FileSuffix = ".json"; + protected string FilePath { get; init; } = null!; + private string TempFilePath => $"{FilePath}.tmp"; + private string BackupFilePath => $"{FilePath}.bak"; + protected string DirectoryPath { get; init; } = null!; @@ -35,7 +40,7 @@ namespace Flow.Launcher.Infrastructure.Storage { try { - Data = JsonSerializer.Deserialize(serialized)?? TryLoadBackup() ?? LoadDefault(); + Data = JsonSerializer.Deserialize(serialized) ?? TryLoadBackup() ?? LoadDefault(); } catch (JsonException) { @@ -46,6 +51,7 @@ namespace Flow.Launcher.Infrastructure.Storage { Data = TryLoadBackup() ?? LoadDefault(); } + return Data.NonNull(); } @@ -67,12 +73,15 @@ namespace Flow.Launcher.Infrastructure.Storage try { var data = JsonSerializer.Deserialize(File.ReadAllText(BackupFilePath)); + if (data != null) { Log.Info($"|JsonStorage.Load|Failed to load settings.json, {BackupFilePath} restored successfully"); File.Replace(BackupFilePath, FilePath, null); + return data; } + return default; } catch (JsonException) @@ -94,14 +103,22 @@ namespace Flow.Launcher.Infrastructure.Storage public void Save() { - string serialized = JsonSerializer.Serialize(Data, new JsonSerializerOptions - { - WriteIndented = true - }); + string serialized = JsonSerializer.Serialize(Data, + new JsonSerializerOptions + { + WriteIndented = true + }); File.WriteAllText(TempFilePath, serialized); - File.Replace(TempFilePath, FilePath, BackupFilePath); - File.Delete(TempFilePath); + + if (!File.Exists(FilePath)) + { + File.Move(TempFilePath, FilePath); + } + else + { + File.Replace(TempFilePath, FilePath, BackupFilePath); + } } } } From abc13a4de54c3b6579a3ad0da004330695dca928 Mon Sep 17 00:00:00 2001 From: Jeremy Wu Date: Wed, 25 Jan 2023 20:47:11 +1100 Subject: [PATCH 06/33] version bump --- appveyor.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/appveyor.yml b/appveyor.yml index a327fa3a9..29fc4cf4b 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -1,4 +1,4 @@ -version: '1.12.0.{build}' +version: '1.12.1.{build}' init: - ps: | From 89fb78f3cdc4b364622e705fbac97a127ed09b6b Mon Sep 17 00:00:00 2001 From: TheBestPessimist Date: Wed, 25 Jan 2023 13:20:30 +0200 Subject: [PATCH 07/33] Change the default shortcut for Plugin Indicator to `?` #1825 --- Plugins/Flow.Launcher.Plugin.PluginIndicator/plugin.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Plugins/Flow.Launcher.Plugin.PluginIndicator/plugin.json b/Plugins/Flow.Launcher.Plugin.PluginIndicator/plugin.json index 084779ef9..64f5fce7a 100644 --- a/Plugins/Flow.Launcher.Plugin.PluginIndicator/plugin.json +++ b/Plugins/Flow.Launcher.Plugin.PluginIndicator/plugin.json @@ -1,10 +1,10 @@ { "ID": "6A122269676E40EB86EB543B945932B9", - "ActionKeyword": "*", + "ActionKeyword": "?", "Name": "Plugin Indicator", "Description": "Provides plugin action keyword suggestions", "Author": "qianlifeng", - "Version": "2.0.1", + "Version": "2.0.2", "Language": "csharp", "Website": "https://github.com/Flow-Launcher/Flow.Launcher", "ExecuteFileName": "Flow.Launcher.Plugin.PluginIndicator.dll", From 7fc704558d32dd78ad375e36764d8b53bfd82ff3 Mon Sep 17 00:00:00 2001 From: Lasith Manujitha <64279853+z1nc0r3@users.noreply.github.com> Date: Thu, 26 Jan 2023 10:01:40 +0530 Subject: [PATCH 08/33] Fix autocomplete on Program plugin (#1850) * Fix autocomplete on Program plugin * Code refactor --- Plugins/Flow.Launcher.Plugin.Program/Programs/UWP.cs | 1 + Plugins/Flow.Launcher.Plugin.Program/Programs/Win32.cs | 1 + 2 files changed, 2 insertions(+) diff --git a/Plugins/Flow.Launcher.Plugin.Program/Programs/UWP.cs b/Plugins/Flow.Launcher.Plugin.Program/Programs/UWP.cs index 023eea042..8ba3ba800 100644 --- a/Plugins/Flow.Launcher.Plugin.Program/Programs/UWP.cs +++ b/Plugins/Flow.Launcher.Plugin.Program/Programs/UWP.cs @@ -408,6 +408,7 @@ namespace Flow.Launcher.Plugin.Program.Programs var result = new Result { Title = title, + AutoCompleteText = Name, SubTitle = Main._settings.HideAppsPath ? string.Empty : Location, IcoPath = LogoPath, Preview = new Result.PreviewInfo diff --git a/Plugins/Flow.Launcher.Plugin.Program/Programs/Win32.cs b/Plugins/Flow.Launcher.Plugin.Program/Programs/Win32.cs index e0079967b..0798857ed 100644 --- a/Plugins/Flow.Launcher.Plugin.Program/Programs/Win32.cs +++ b/Plugins/Flow.Launcher.Plugin.Program/Programs/Win32.cs @@ -155,6 +155,7 @@ namespace Flow.Launcher.Plugin.Program.Programs var result = new Result { Title = title, + AutoCompleteText = resultName, SubTitle = subtitle, IcoPath = IcoPath, Score = matchResult.Score, From 1482637cf192cf1dea9a251347747b8f3785ab9e Mon Sep 17 00:00:00 2001 From: TheBestPessimist Date: Wed, 25 Jan 2023 15:30:44 +0200 Subject: [PATCH 09/33] Everything.MatchPath = true --- .../Search/Everything/EverythingAPI.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/Plugins/Flow.Launcher.Plugin.Explorer/Search/Everything/EverythingAPI.cs b/Plugins/Flow.Launcher.Plugin.Explorer/Search/Everything/EverythingAPI.cs index 5381d729d..fcb59d293 100644 --- a/Plugins/Flow.Launcher.Plugin.Explorer/Search/Everything/EverythingAPI.cs +++ b/Plugins/Flow.Launcher.Plugin.Explorer/Search/Everything/EverythingAPI.cs @@ -152,6 +152,7 @@ namespace Flow.Launcher.Plugin.Explorer.Search.Everything EverythingApiDllImport.Everything_SetMax(option.MaxCount); EverythingApiDllImport.Everything_SetSort(option.SortOption); + EverythingApiDllImport.Everything_SetMatchPath(true); if (token.IsCancellationRequested) yield break; From 2b6c92c48cc296b36cdb44c6db568e3a03ba989e Mon Sep 17 00:00:00 2001 From: TheBestPessimist Date: Wed, 25 Jan 2023 15:32:53 +0200 Subject: [PATCH 10/33] question to the FL developers --- .../Search/Everything/EverythingAPI.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Plugins/Flow.Launcher.Plugin.Explorer/Search/Everything/EverythingAPI.cs b/Plugins/Flow.Launcher.Plugin.Explorer/Search/Everything/EverythingAPI.cs index fcb59d293..63724ad98 100644 --- a/Plugins/Flow.Launcher.Plugin.Explorer/Search/Everything/EverythingAPI.cs +++ b/Plugins/Flow.Launcher.Plugin.Explorer/Search/Everything/EverythingAPI.cs @@ -39,7 +39,7 @@ namespace Flow.Launcher.Plugin.Explorer.Search.Everything /// Gets or sets a value indicating whether [match path]. /// /// true if [match path]; otherwise, false. - public static bool MatchPath + public static bool MatchPath // TODO these seem to be unused, and they're related exactly to the feature i want: make everything search through the whole path. How should these be used? Should they be removed instead? IMHO, it seems better to use full path search by default, so i'd remove this completely { get => EverythingApiDllImport.Everything_GetMatchPath(); set => EverythingApiDllImport.Everything_SetMatchPath(value); From 1b9a879d48cd9e0acf57e9a7b0826fe122676bd7 Mon Sep 17 00:00:00 2001 From: TheBestPessimist Date: Thu, 26 Jan 2023 08:55:25 +0200 Subject: [PATCH 11/33] Use `EverythingSearchOption` flag to set up `FullPathSearch` instead of hardcoding it --- .../Search/Everything/EverythingAPI.cs | 2 +- .../Search/Everything/EverythingSearchOption.cs | 11 +++++++---- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/Plugins/Flow.Launcher.Plugin.Explorer/Search/Everything/EverythingAPI.cs b/Plugins/Flow.Launcher.Plugin.Explorer/Search/Everything/EverythingAPI.cs index 63724ad98..2013ebe4b 100644 --- a/Plugins/Flow.Launcher.Plugin.Explorer/Search/Everything/EverythingAPI.cs +++ b/Plugins/Flow.Launcher.Plugin.Explorer/Search/Everything/EverythingAPI.cs @@ -152,7 +152,7 @@ namespace Flow.Launcher.Plugin.Explorer.Search.Everything EverythingApiDllImport.Everything_SetMax(option.MaxCount); EverythingApiDllImport.Everything_SetSort(option.SortOption); - EverythingApiDllImport.Everything_SetMatchPath(true); + EverythingApiDllImport.Everything_SetMatchPath(option.IsFullPathSearch); if (token.IsCancellationRequested) yield break; diff --git a/Plugins/Flow.Launcher.Plugin.Explorer/Search/Everything/EverythingSearchOption.cs b/Plugins/Flow.Launcher.Plugin.Explorer/Search/Everything/EverythingSearchOption.cs index 6839822a4..0b1bbd0ec 100644 --- a/Plugins/Flow.Launcher.Plugin.Explorer/Search/Everything/EverythingSearchOption.cs +++ b/Plugins/Flow.Launcher.Plugin.Explorer/Search/Everything/EverythingSearchOption.cs @@ -3,12 +3,15 @@ using Flow.Launcher.Plugin.Everything.Everything; namespace Flow.Launcher.Plugin.Explorer.Search.Everything { - public record struct EverythingSearchOption(string Keyword, + public record struct EverythingSearchOption( + string Keyword, SortOption SortOption, - bool IsContentSearch = false, + bool IsContentSearch = false, string ContentSearchKeyword = default, string ParentPath = default, bool IsRecursive = true, - int Offset = 0, - int MaxCount = 100); + int Offset = 0, + int MaxCount = 100, + bool IsFullPathSearch = true + ); } From 18d1bb566898980436b2cc55d6fb71e4541ed04c Mon Sep 17 00:00:00 2001 From: TheBestPessimist Date: Thu, 26 Jan 2023 09:19:42 +0200 Subject: [PATCH 12/33] Cleanup unused properties --- .../Search/Everything/EverythingAPI.cs | 47 ++----------------- 1 file changed, 3 insertions(+), 44 deletions(-) diff --git a/Plugins/Flow.Launcher.Plugin.Explorer/Search/Everything/EverythingAPI.cs b/Plugins/Flow.Launcher.Plugin.Explorer/Search/Everything/EverythingAPI.cs index 2013ebe4b..3efd09c4d 100644 --- a/Plugins/Flow.Launcher.Plugin.Explorer/Search/Everything/EverythingAPI.cs +++ b/Plugins/Flow.Launcher.Plugin.Explorer/Search/Everything/EverythingAPI.cs @@ -13,13 +13,12 @@ using Flow.Launcher.Plugin.Explorer.Exceptions; namespace Flow.Launcher.Plugin.Explorer.Search.Everything { - public static class EverythingApi { - private const int BufferSize = 4096; private static SemaphoreSlim _semaphore = new(1, 1); + // cached buffer to remove redundant allocations. private static readonly StringBuilder buffer = new(BufferSize); @@ -35,46 +34,6 @@ namespace Flow.Launcher.Plugin.Explorer.Search.Everything InvalidCallError } - /// - /// Gets or sets a value indicating whether [match path]. - /// - /// true if [match path]; otherwise, false. - public static bool MatchPath // TODO these seem to be unused, and they're related exactly to the feature i want: make everything search through the whole path. How should these be used? Should they be removed instead? IMHO, it seems better to use full path search by default, so i'd remove this completely - { - get => EverythingApiDllImport.Everything_GetMatchPath(); - set => EverythingApiDllImport.Everything_SetMatchPath(value); - } - - /// - /// Gets or sets a value indicating whether [match case]. - /// - /// true if [match case]; otherwise, false. - public static bool MatchCase - { - get => EverythingApiDllImport.Everything_GetMatchCase(); - set => EverythingApiDllImport.Everything_SetMatchCase(value); - } - - /// - /// Gets or sets a value indicating whether [match whole word]. - /// - /// true if [match whole word]; otherwise, false. - public static bool MatchWholeWord - { - get => EverythingApiDllImport.Everything_GetMatchWholeWord(); - set => EverythingApiDllImport.Everything_SetMatchWholeWord(value); - } - - /// - /// Gets or sets a value indicating whether [enable regex]. - /// - /// true if [enable regex]; otherwise, false. - public static bool EnableRegex - { - get => EverythingApiDllImport.Everything_GetRegex(); - set => EverythingApiDllImport.Everything_SetRegex(value); - } - /// /// Checks whether the sort option is Fast Sort. /// @@ -95,7 +54,7 @@ namespace Flow.Launcher.Plugin.Explorer.Search.Everything try { - EverythingApiDllImport.Everything_GetMajorVersion(); + EverythingApiDllImport.Everything_GetMajorVersion(); var result = EverythingApiDllImport.Everything_GetLastError() != StateCode.IPCError; return result; } @@ -122,7 +81,7 @@ namespace Flow.Launcher.Plugin.Explorer.Search.Everything await _semaphore.WaitAsync(token); - + try { if (token.IsCancellationRequested) From 7e350b64baa417274d22e70e5db996423d99d52c Mon Sep 17 00:00:00 2001 From: Kevin Zhang <45326534+taooceros@users.noreply.github.com> Date: Thu, 26 Jan 2023 23:59:19 -0600 Subject: [PATCH 13/33] Fix Error of loading backup when original file doesn't exists --- Flow.Launcher.Infrastructure/Storage/JsonStorage.cs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Flow.Launcher.Infrastructure/Storage/JsonStorage.cs b/Flow.Launcher.Infrastructure/Storage/JsonStorage.cs index 43e7ddab7..3b873524a 100644 --- a/Flow.Launcher.Infrastructure/Storage/JsonStorage.cs +++ b/Flow.Launcher.Infrastructure/Storage/JsonStorage.cs @@ -77,7 +77,11 @@ namespace Flow.Launcher.Infrastructure.Storage if (data != null) { Log.Info($"|JsonStorage.Load|Failed to load settings.json, {BackupFilePath} restored successfully"); - File.Replace(BackupFilePath, FilePath, null); + + if(File.Exists(FilePath) + File.Replace(BackupFilePath, FilePath, null); + else + File.Copy(BackupFilePath, FilePath); return data; } From 52fcc68448fb6bd34395db5bb9d67d1d6a3a43c9 Mon Sep 17 00:00:00 2001 From: Kevin Zhang <45326534+taooceros@users.noreply.github.com> Date: Fri, 27 Jan 2023 00:01:47 -0600 Subject: [PATCH 14/33] Move over Copy Move might be better since Replace delete the original file --- Flow.Launcher.Infrastructure/Storage/JsonStorage.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Flow.Launcher.Infrastructure/Storage/JsonStorage.cs b/Flow.Launcher.Infrastructure/Storage/JsonStorage.cs index 3b873524a..892f5f227 100644 --- a/Flow.Launcher.Infrastructure/Storage/JsonStorage.cs +++ b/Flow.Launcher.Infrastructure/Storage/JsonStorage.cs @@ -81,7 +81,7 @@ namespace Flow.Launcher.Infrastructure.Storage if(File.Exists(FilePath) File.Replace(BackupFilePath, FilePath, null); else - File.Copy(BackupFilePath, FilePath); + File.Move(BackupFilePath, FilePath); return data; } From 4e1d59bde328210a8f6b7524751a2de17d438208 Mon Sep 17 00:00:00 2001 From: Kevin Zhang <45326534+taooceros@users.noreply.github.com> Date: Fri, 27 Jan 2023 09:38:39 -0600 Subject: [PATCH 15/33] fix the missing parathesis --- Flow.Launcher.Infrastructure/Storage/JsonStorage.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Flow.Launcher.Infrastructure/Storage/JsonStorage.cs b/Flow.Launcher.Infrastructure/Storage/JsonStorage.cs index 892f5f227..45456ddeb 100644 --- a/Flow.Launcher.Infrastructure/Storage/JsonStorage.cs +++ b/Flow.Launcher.Infrastructure/Storage/JsonStorage.cs @@ -78,7 +78,7 @@ namespace Flow.Launcher.Infrastructure.Storage { Log.Info($"|JsonStorage.Load|Failed to load settings.json, {BackupFilePath} restored successfully"); - if(File.Exists(FilePath) + if(File.Exists(FilePath)) File.Replace(BackupFilePath, FilePath, null); else File.Move(BackupFilePath, FilePath); From 892f1b8ed2256f6888daecdfd93c3af6e61b6947 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 28 Jan 2023 16:08:35 +0000 Subject: [PATCH 16/33] Bump System.Data.OleDb from 5.0.0 to 7.0.0 (#1808) --- .../Flow.Launcher.Plugin.Explorer.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Plugins/Flow.Launcher.Plugin.Explorer/Flow.Launcher.Plugin.Explorer.csproj b/Plugins/Flow.Launcher.Plugin.Explorer/Flow.Launcher.Plugin.Explorer.csproj index 62cb599a1..29acf0eb7 100644 --- a/Plugins/Flow.Launcher.Plugin.Explorer/Flow.Launcher.Plugin.Explorer.csproj +++ b/Plugins/Flow.Launcher.Plugin.Explorer/Flow.Launcher.Plugin.Explorer.csproj @@ -45,7 +45,7 @@ - + From 51c909800f3698f370d1acb539aaaad543421f68 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 28 Jan 2023 16:08:55 +0000 Subject: [PATCH 17/33] Bump SharpZipLib from 1.3.3 to 1.4.1 (#1833) --- .../Flow.Launcher.Plugin.PluginsManager.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Plugins/Flow.Launcher.Plugin.PluginsManager/Flow.Launcher.Plugin.PluginsManager.csproj b/Plugins/Flow.Launcher.Plugin.PluginsManager/Flow.Launcher.Plugin.PluginsManager.csproj index 2b773bee4..317ba4e89 100644 --- a/Plugins/Flow.Launcher.Plugin.PluginsManager/Flow.Launcher.Plugin.PluginsManager.csproj +++ b/Plugins/Flow.Launcher.Plugin.PluginsManager/Flow.Launcher.Plugin.PluginsManager.csproj @@ -38,6 +38,6 @@ - + \ No newline at end of file From 9e11b0cd9dc9265efc7f0a86d46b9391f2e051b4 Mon Sep 17 00:00:00 2001 From: TheBestPessimist Date: Mon, 30 Jan 2023 14:44:48 +0200 Subject: [PATCH 18/33] whitespace --- .../Programs/Win32.cs | 23 ++++++++++++------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/Plugins/Flow.Launcher.Plugin.Program/Programs/Win32.cs b/Plugins/Flow.Launcher.Plugin.Program/Programs/Win32.cs index 0798857ed..0762be5b7 100644 --- a/Plugins/Flow.Launcher.Plugin.Program/Programs/Win32.cs +++ b/Plugins/Flow.Launcher.Plugin.Program/Programs/Win32.cs @@ -25,23 +25,29 @@ namespace Flow.Launcher.Plugin.Program.Programs public string Name { get; set; } public string UniqueIdentifier { get => _uid; set => _uid = value == null ? string.Empty : value.ToLowerInvariant(); } // For path comparison public string IcoPath { get; set; } + /// /// Path of the file. It's the path of .lnk and .url for .lnk and .url files. /// public string FullPath { get; set; } + /// /// Path of the executable for .lnk, or the URL for .url. Arguments are included if any. /// public string LnkResolvedPath { get; set; } + /// /// Path of the actual executable file. Args are included. /// public string ExecutablePath => LnkResolvedPath ?? FullPath; + public string ParentDirectory { get; set; } + /// /// Name of the executable for .lnk files /// public string ExecutableName { get; set; } + public string Description { get; set; } public bool Valid { get; set; } public bool Enabled { get; set; } @@ -199,9 +205,7 @@ namespace Flow.Launcher.Plugin.Program.Programs { var info = new ProcessStartInfo { - FileName = FullPath, - WorkingDirectory = ParentDirectory, - UseShellExecute = true + FileName = FullPath, WorkingDirectory = ParentDirectory, UseShellExecute = true }; Task.Run(() => Main.StartProcess(ShellCommand.RunAsDifferentUser, info)); @@ -363,6 +367,7 @@ namespace Flow.Launcher.Plugin.Program.Programs { return program; } + foreach (var protocol in protocols) { if (url.StartsWith(protocol)) @@ -418,10 +423,12 @@ namespace Flow.Launcher.Plugin.Program.Programs if (!Directory.Exists(directory)) return Enumerable.Empty(); - return Directory.EnumerateFiles(directory, "*", new EnumerationOptions - { - IgnoreInaccessible = true, RecurseSubdirectories = recursive - }).Where(x => suffixes.Contains(Extension(x))); + return Directory + .EnumerateFiles( + directory, + "*", + new EnumerationOptions { IgnoreInaccessible = true, RecurseSubdirectories = recursive }) + .Where(x => suffixes.Contains(Extension(x))); } private static string Extension(string path) @@ -471,7 +478,7 @@ namespace Flow.Launcher.Plugin.Program.Programs } var paths = pathEnv.Split(";", StringSplitOptions.RemoveEmptyEntries).DistinctBy(p => p.ToLowerInvariant()); - + var toFilter = paths.Where(x => commonParents.All(parent => !FilesFolders.PathContains(parent, x))) .AsParallel() .SelectMany(p => EnumerateProgramsInDir(p, suffixes, recursive: false)); From e89d8b3577e09d48d12960ada44ee941ccdad041 Mon Sep 17 00:00:00 2001 From: TheBestPessimist Date: Mon, 30 Jan 2023 14:47:27 +0200 Subject: [PATCH 19/33] Read list of programs from `Start Menu` instead of `Start Menu/Programs` --- .../Programs/Win32.cs | 21 +++++++------------ 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/Plugins/Flow.Launcher.Plugin.Program/Programs/Win32.cs b/Plugins/Flow.Launcher.Plugin.Program/Programs/Win32.cs index 0762be5b7..986a8da67 100644 --- a/Plugins/Flow.Launcher.Plugin.Program/Programs/Win32.cs +++ b/Plugins/Flow.Launcher.Plugin.Program/Programs/Win32.cs @@ -457,14 +457,11 @@ namespace Flow.Launcher.Plugin.Program.Programs private static IEnumerable StartMenuPrograms(string[] suffixes, string[] protocols) { - var directory1 = Environment.GetFolderPath(Environment.SpecialFolder.Programs); - var directory2 = Environment.GetFolderPath(Environment.SpecialFolder.CommonPrograms); - var paths1 = EnumerateProgramsInDir(directory1, suffixes); - var paths2 = EnumerateProgramsInDir(directory2, suffixes); + var allPrograms = GetStartMenuPaths() + .SelectMany(p => EnumerateProgramsInDir(p, suffixes)) + .Distinct(); - var toFilter = paths1.Concat(paths2); - - var programs = ExceptDisabledSource(toFilter.Distinct()) + var programs = ExceptDisabledSource(allPrograms) .Select(x => GetProgramFromPath(x, protocols)); return programs; } @@ -702,12 +699,10 @@ namespace Flow.Launcher.Plugin.Program.Programs private static IEnumerable GetStartMenuPaths() { - var directory1 = Environment.GetFolderPath(Environment.SpecialFolder.Programs); - var directory2 = Environment.GetFolderPath(Environment.SpecialFolder.CommonPrograms); - return new[] - { - directory1, directory2 - }; + var userStartMenu = Environment.GetFolderPath(Environment.SpecialFolder.StartMenu); + var commonStartMenu = Environment.GetFolderPath(Environment.SpecialFolder.CommonStartMenu); + + return new[] { userStartMenu, commonStartMenu }; } public static void WatchProgramUpdate(Settings settings) From 43cf3ded876b978c46bf901537941e63bbda91fd Mon Sep 17 00:00:00 2001 From: TheBestPessimist Date: Mon, 30 Jan 2023 14:48:15 +0200 Subject: [PATCH 20/33] version --- Plugins/Flow.Launcher.Plugin.Program/plugin.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Plugins/Flow.Launcher.Plugin.Program/plugin.json b/Plugins/Flow.Launcher.Plugin.Program/plugin.json index 3d20c0a48..e0894a33f 100644 --- a/Plugins/Flow.Launcher.Plugin.Program/plugin.json +++ b/Plugins/Flow.Launcher.Plugin.Program/plugin.json @@ -4,7 +4,7 @@ "Name": "Program", "Description": "Search programs in Flow.Launcher", "Author": "qianlifeng", - "Version": "2.2.0", + "Version": "2.3.0", "Language": "csharp", "Website": "https://github.com/Flow-Launcher/Flow.Launcher", "ExecuteFileName": "Flow.Launcher.Plugin.Program.dll", From 2e0923d25bdef9bc1d943ffceed53918dcdc5726 Mon Sep 17 00:00:00 2001 From: TheBestPessimist Date: Mon, 30 Jan 2023 14:51:41 +0200 Subject: [PATCH 21/33] more whitespace --- Plugins/Flow.Launcher.Plugin.Program/Programs/Win32.cs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Plugins/Flow.Launcher.Plugin.Program/Programs/Win32.cs b/Plugins/Flow.Launcher.Plugin.Program/Programs/Win32.cs index 986a8da67..4afedb9e4 100644 --- a/Plugins/Flow.Launcher.Plugin.Program/Programs/Win32.cs +++ b/Plugins/Flow.Launcher.Plugin.Program/Programs/Win32.cs @@ -205,7 +205,9 @@ namespace Flow.Launcher.Plugin.Program.Programs { var info = new ProcessStartInfo { - FileName = FullPath, WorkingDirectory = ParentDirectory, UseShellExecute = true + FileName = FullPath, + WorkingDirectory = ParentDirectory, + UseShellExecute = true }; Task.Run(() => Main.StartProcess(ShellCommand.RunAsDifferentUser, info)); @@ -423,10 +425,8 @@ namespace Flow.Launcher.Plugin.Program.Programs if (!Directory.Exists(directory)) return Enumerable.Empty(); - return Directory - .EnumerateFiles( - directory, - "*", + return Directory.EnumerateFiles( + directory, "*", new EnumerationOptions { IgnoreInaccessible = true, RecurseSubdirectories = recursive }) .Where(x => suffixes.Contains(Extension(x))); } From fbd12eb96b1f37140dbde8e7608b7e38d712e384 Mon Sep 17 00:00:00 2001 From: Vic <10308169+VictoriousRaptor@users.noreply.github.com> Date: Fri, 3 Feb 2023 12:21:25 +0800 Subject: [PATCH 22/33] Add missing translation --- Plugins/Flow.Launcher.Plugin.Explorer/Languages/en.xaml | 1 + 1 file changed, 1 insertion(+) diff --git a/Plugins/Flow.Launcher.Plugin.Explorer/Languages/en.xaml b/Plugins/Flow.Launcher.Plugin.Explorer/Languages/en.xaml index 2ed421ca9..15456079a 100644 --- a/Plugins/Flow.Launcher.Plugin.Explorer/Languages/en.xaml +++ b/Plugins/Flow.Launcher.Plugin.Explorer/Languages/en.xaml @@ -9,6 +9,7 @@ Are you sure you want to delete {0}? Are you sure you want to permanently delete this folder? Are you sure you want to permanently delete this file? + Are you sure you want to permanently delete this file/folder? Deletion successful Successfully deleted {0} Assigning the global action keyword could bring up too many results during search. Please choose a specific action keyword From f941655d6434a882ddbb9301553500e0f239aec8 Mon Sep 17 00:00:00 2001 From: Vic <10308169+VictoriousRaptor@users.noreply.github.com> Date: Fri, 3 Feb 2023 12:34:42 +0800 Subject: [PATCH 23/33] Fix null reference when hotkey is invalid --- Flow.Launcher/HotkeyControl.xaml.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Flow.Launcher/HotkeyControl.xaml.cs b/Flow.Launcher/HotkeyControl.xaml.cs index 15feae6cc..b71df9758 100644 --- a/Flow.Launcher/HotkeyControl.xaml.cs +++ b/Flow.Launcher/HotkeyControl.xaml.cs @@ -103,7 +103,7 @@ namespace Flow.Launcher private void tbHotkey_LostFocus(object sender, RoutedEventArgs e) { - tbHotkey.Text = CurrentHotkey.ToString(); + tbHotkey.Text = CurrentHotkey?.ToString() ?? ""; tbHotkey.Select(tbHotkey.Text.Length, 0); } From 95ce15f22de51df51634359d5c295eaf47948410 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 4 Feb 2023 17:50:59 +0000 Subject: [PATCH 24/33] Bump Microsoft.SourceLink.GitHub from 1.0.0 to 1.1.1 (#1866) --- Flow.Launcher.Plugin/Flow.Launcher.Plugin.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Flow.Launcher.Plugin/Flow.Launcher.Plugin.csproj b/Flow.Launcher.Plugin/Flow.Launcher.Plugin.csproj index fb07f8255..38c3ebc9f 100644 --- a/Flow.Launcher.Plugin/Flow.Launcher.Plugin.csproj +++ b/Flow.Launcher.Plugin/Flow.Launcher.Plugin.csproj @@ -65,7 +65,7 @@ all runtime; build; native; contentfiles; analyzers; buildtransitive - + From 8090109ec730af4000c07ca9dfff686fe3436ceb Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 4 Feb 2023 17:51:15 +0000 Subject: [PATCH 25/33] Bump Microsoft.NET.Test.Sdk from 16.11.0 to 17.4.1 (#1834) --- Flow.Launcher.Test/Flow.Launcher.Test.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Flow.Launcher.Test/Flow.Launcher.Test.csproj b/Flow.Launcher.Test/Flow.Launcher.Test.csproj index 31b71a1dc..b3d595589 100644 --- a/Flow.Launcher.Test/Flow.Launcher.Test.csproj +++ b/Flow.Launcher.Test/Flow.Launcher.Test.csproj @@ -54,7 +54,7 @@ all runtime; build; native; contentfiles; analyzers; buildtransitive - + \ No newline at end of file From c5396fa0c44e4ea92ceab80c2d749983eaeab1e7 Mon Sep 17 00:00:00 2001 From: Hongtao Zhang Date: Sat, 4 Feb 2023 11:55:14 -0600 Subject: [PATCH 26/33] update readme --- README.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index ef78e3cd0..22c16996c 100644 --- a/README.md +++ b/README.md @@ -368,4 +368,7 @@ Get in touch if you like to join the Flow-Launcher Team and help build this grea - Install Visual Studio 2022 -- Install .Net 6 SDK via Visual Studio installer or manually from [here](https://dotnet.microsoft.com/en-us/download/dotnet/thank-you/sdk-6.0.300-windows-x64-installer) +- Install .Net 7 SDK + - via Visual Studio installer + - via winget `winget install Microsoft.DotNet.SDK.7` + - Manually from [here](https://dotnet.microsoft.com/en-us/download/dotnet/7.0) From 30b73e5488f056c5d15cda6607070827f5910bdf Mon Sep 17 00:00:00 2001 From: Vic <10308169+VictoriousRaptor@users.noreply.github.com> Date: Tue, 7 Feb 2023 01:26:30 +0800 Subject: [PATCH 27/33] Revert "version" This reverts commit 43cf3ded876b978c46bf901537941e63bbda91fd. --- Plugins/Flow.Launcher.Plugin.Program/plugin.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Plugins/Flow.Launcher.Plugin.Program/plugin.json b/Plugins/Flow.Launcher.Plugin.Program/plugin.json index e0894a33f..3d20c0a48 100644 --- a/Plugins/Flow.Launcher.Plugin.Program/plugin.json +++ b/Plugins/Flow.Launcher.Plugin.Program/plugin.json @@ -4,7 +4,7 @@ "Name": "Program", "Description": "Search programs in Flow.Launcher", "Author": "qianlifeng", - "Version": "2.3.0", + "Version": "2.2.0", "Language": "csharp", "Website": "https://github.com/Flow-Launcher/Flow.Launcher", "ExecuteFileName": "Flow.Launcher.Plugin.Program.dll", From 0c963045ba98ff57f4636c214b625e85a5c8f6e9 Mon Sep 17 00:00:00 2001 From: Vic <10308169+VictoriousRaptor@users.noreply.github.com> Date: Fri, 14 Oct 2022 01:36:52 +0800 Subject: [PATCH 28/33] Show plugin names in download success notification --- .../Flow.Launcher.Plugin.PluginsManager/Languages/en.xaml | 4 ++-- .../Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/en.xaml b/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/en.xaml index 361ce989b..1f74a49a2 100644 --- a/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/en.xaml +++ b/Plugins/Flow.Launcher.Plugin.PluginsManager/Languages/en.xaml @@ -5,7 +5,7 @@ Downloading plugin - Successfully downloaded + Successfully downloaded {0} Error: Unable to download the plugin {0} by {1} {2}{3}Would you like to uninstall this plugin? After the uninstallation Flow will automatically restart. {0} by {1} {2}{3}Would you like to install this plugin? After the installation Flow will automatically restart. @@ -13,7 +13,7 @@ Installing Plugin Download and install {0} Plugin Uninstall - Plugin successfully installed. Restarting Flow, please wait... + Plugin {0} successfully installed. Restarting Flow, please wait... Unable to find the plugin.json metadata file from the extracted zip file. Error: A plugin which has the same or greater version with {0} already exists. Error installing plugin diff --git a/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs b/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs index 4d29f7651..d74ec70b5 100644 --- a/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs +++ b/Plugins/Flow.Launcher.Plugin.PluginsManager/PluginsManager.cs @@ -157,7 +157,7 @@ namespace Flow.Launcher.Plugin.PluginsManager await Http.DownloadAsync(plugin.UrlDownload, filePath).ConfigureAwait(false); Context.API.ShowMsg(Context.API.GetTranslation("plugin_pluginsmanager_downloading_plugin"), - Context.API.GetTranslation("plugin_pluginsmanager_download_success")); + string.Format(Context.API.GetTranslation("plugin_pluginsmanager_download_success"), plugin.Name)); Install(plugin, filePath); } @@ -177,7 +177,7 @@ namespace Flow.Launcher.Plugin.PluginsManager } Context.API.ShowMsg(Context.API.GetTranslation("plugin_pluginsmanager_installing_plugin"), - Context.API.GetTranslation("plugin_pluginsmanager_install_success_restart")); + string.Format(Context.API.GetTranslation("plugin_pluginsmanager_install_success_restart"), plugin.Name)); Context.API.RestartApp(); } @@ -245,7 +245,7 @@ namespace Flow.Launcher.Plugin.PluginsManager Context.API.ShowMsg( Context.API.GetTranslation("plugin_pluginsmanager_downloading_plugin"), - Context.API.GetTranslation("plugin_pluginsmanager_download_success")); + string.Format(Context.API.GetTranslation("plugin_pluginsmanager_download_success"), x.Name)); Install(x.PluginNewUserPlugin, downloadToFilePath); From a56103eab59956d72ea5228a3714b554ed59ed66 Mon Sep 17 00:00:00 2001 From: Jeremy Wu Date: Tue, 7 Feb 2023 07:59:07 +1100 Subject: [PATCH 29/33] Fix readme typo --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 22c16996c..471e0a45d 100644 --- a/README.md +++ b/README.md @@ -364,7 +364,7 @@ Get in touch if you like to join the Flow-Launcher Team and help build this grea ### Developing/Debugging -- Flow Launcher's target framework is .Net 6 +- Flow Launcher's target framework is .Net 7 - Install Visual Studio 2022 From 2c124f776838f3458d977bd9a71228146b0f9a18 Mon Sep 17 00:00:00 2001 From: Jeremy Date: Tue, 7 Feb 2023 08:19:26 +1100 Subject: [PATCH 30/33] bump plugin version from .Net upgrade --- Plugins/Flow.Launcher.Plugin.BrowserBookmark/plugin.json | 2 +- Plugins/Flow.Launcher.Plugin.Calculator/plugin.json | 2 +- Plugins/Flow.Launcher.Plugin.Explorer/plugin.json | 2 +- Plugins/Flow.Launcher.Plugin.PluginIndicator/plugin.json | 2 +- Plugins/Flow.Launcher.Plugin.PluginsManager/plugin.json | 2 +- Plugins/Flow.Launcher.Plugin.ProcessKiller/plugin.json | 2 +- Plugins/Flow.Launcher.Plugin.Program/plugin.json | 2 +- Plugins/Flow.Launcher.Plugin.Shell/plugin.json | 2 +- Plugins/Flow.Launcher.Plugin.Sys/plugin.json | 2 +- Plugins/Flow.Launcher.Plugin.Url/plugin.json | 2 +- Plugins/Flow.Launcher.Plugin.WebSearch/plugin.json | 2 +- Plugins/Flow.Launcher.Plugin.WindowsSettings/plugin.json | 2 +- 12 files changed, 12 insertions(+), 12 deletions(-) diff --git a/Plugins/Flow.Launcher.Plugin.BrowserBookmark/plugin.json b/Plugins/Flow.Launcher.Plugin.BrowserBookmark/plugin.json index b25996af7..302ce819b 100644 --- a/Plugins/Flow.Launcher.Plugin.BrowserBookmark/plugin.json +++ b/Plugins/Flow.Launcher.Plugin.BrowserBookmark/plugin.json @@ -4,7 +4,7 @@ "Name": "Browser Bookmarks", "Description": "Search your browser bookmarks", "Author": "qianlifeng, Ioannis G.", - "Version": "2.0.0", + "Version": "3.0.0", "Language": "csharp", "Website": "https://github.com/Flow-Launcher/Flow.Launcher", "ExecuteFileName": "Flow.Launcher.Plugin.BrowserBookmark.dll", diff --git a/Plugins/Flow.Launcher.Plugin.Calculator/plugin.json b/Plugins/Flow.Launcher.Plugin.Calculator/plugin.json index c2b098dda..51f29aa14 100644 --- a/Plugins/Flow.Launcher.Plugin.Calculator/plugin.json +++ b/Plugins/Flow.Launcher.Plugin.Calculator/plugin.json @@ -4,7 +4,7 @@ "Name": "Calculator", "Description": "Provide mathematical calculations.(Try 5*3-2 in Flow Launcher)", "Author": "cxfksword", - "Version": "2.0.1", + "Version": "3.0.0", "Language": "csharp", "Website": "https://github.com/Flow-Launcher/Flow.Launcher", "ExecuteFileName": "Flow.Launcher.Plugin.Caculator.dll", diff --git a/Plugins/Flow.Launcher.Plugin.Explorer/plugin.json b/Plugins/Flow.Launcher.Plugin.Explorer/plugin.json index 0d94d60d9..d21da8d2b 100644 --- a/Plugins/Flow.Launcher.Plugin.Explorer/plugin.json +++ b/Plugins/Flow.Launcher.Plugin.Explorer/plugin.json @@ -10,7 +10,7 @@ "Name": "Explorer", "Description": "Find and manage files and folders via Windows Search or Everything", "Author": "Jeremy Wu", - "Version": "2.2.0", + "Version": "3.0.0", "Language": "csharp", "Website": "https://github.com/Flow-Launcher/Flow.Launcher", "ExecuteFileName": "Flow.Launcher.Plugin.Explorer.dll", diff --git a/Plugins/Flow.Launcher.Plugin.PluginIndicator/plugin.json b/Plugins/Flow.Launcher.Plugin.PluginIndicator/plugin.json index 64f5fce7a..f4a21f8e8 100644 --- a/Plugins/Flow.Launcher.Plugin.PluginIndicator/plugin.json +++ b/Plugins/Flow.Launcher.Plugin.PluginIndicator/plugin.json @@ -4,7 +4,7 @@ "Name": "Plugin Indicator", "Description": "Provides plugin action keyword suggestions", "Author": "qianlifeng", - "Version": "2.0.2", + "Version": "3.0.0", "Language": "csharp", "Website": "https://github.com/Flow-Launcher/Flow.Launcher", "ExecuteFileName": "Flow.Launcher.Plugin.PluginIndicator.dll", diff --git a/Plugins/Flow.Launcher.Plugin.PluginsManager/plugin.json b/Plugins/Flow.Launcher.Plugin.PluginsManager/plugin.json index 0d1ee5b16..ea69e9916 100644 --- a/Plugins/Flow.Launcher.Plugin.PluginsManager/plugin.json +++ b/Plugins/Flow.Launcher.Plugin.PluginsManager/plugin.json @@ -6,7 +6,7 @@ "Name": "Plugins Manager", "Description": "Management of installing, uninstalling or updating Flow Launcher plugins", "Author": "Jeremy Wu", - "Version": "2.0.1", + "Version": "3.0.0", "Language": "csharp", "Website": "https://github.com/Flow-Launcher/Flow.Launcher", "ExecuteFileName": "Flow.Launcher.Plugin.PluginsManager.dll", diff --git a/Plugins/Flow.Launcher.Plugin.ProcessKiller/plugin.json b/Plugins/Flow.Launcher.Plugin.ProcessKiller/plugin.json index 60235cfe5..1a73d24e1 100644 --- a/Plugins/Flow.Launcher.Plugin.ProcessKiller/plugin.json +++ b/Plugins/Flow.Launcher.Plugin.ProcessKiller/plugin.json @@ -4,7 +4,7 @@ "Name":"Process Killer", "Description":"Kill running processes from Flow", "Author":"Flow-Launcher", - "Version":"2.0.0", + "Version":"3.0.0", "Language":"csharp", "Website":"https://github.com/Flow-Launcher/Flow.Launcher.Plugin.ProcessKiller", "IcoPath":"Images\\app.png", diff --git a/Plugins/Flow.Launcher.Plugin.Program/plugin.json b/Plugins/Flow.Launcher.Plugin.Program/plugin.json index 3d20c0a48..2acf255eb 100644 --- a/Plugins/Flow.Launcher.Plugin.Program/plugin.json +++ b/Plugins/Flow.Launcher.Plugin.Program/plugin.json @@ -4,7 +4,7 @@ "Name": "Program", "Description": "Search programs in Flow.Launcher", "Author": "qianlifeng", - "Version": "2.2.0", + "Version": "3.0.0", "Language": "csharp", "Website": "https://github.com/Flow-Launcher/Flow.Launcher", "ExecuteFileName": "Flow.Launcher.Plugin.Program.dll", diff --git a/Plugins/Flow.Launcher.Plugin.Shell/plugin.json b/Plugins/Flow.Launcher.Plugin.Shell/plugin.json index 2b80e5138..8efe810e7 100644 --- a/Plugins/Flow.Launcher.Plugin.Shell/plugin.json +++ b/Plugins/Flow.Launcher.Plugin.Shell/plugin.json @@ -4,7 +4,7 @@ "Name": "Shell", "Description": "Provide executing commands from Flow Launcher", "Author": "qianlifeng", - "Version": "2.0.1", + "Version": "3.0.0", "Language": "csharp", "Website": "https://github.com/Flow-Launcher/Flow.Launcher", "ExecuteFileName": "Flow.Launcher.Plugin.Shell.dll", diff --git a/Plugins/Flow.Launcher.Plugin.Sys/plugin.json b/Plugins/Flow.Launcher.Plugin.Sys/plugin.json index 74c9d9030..9192fdf75 100644 --- a/Plugins/Flow.Launcher.Plugin.Sys/plugin.json +++ b/Plugins/Flow.Launcher.Plugin.Sys/plugin.json @@ -4,7 +4,7 @@ "Name": "System Commands", "Description": "Provide System related commands. e.g. shutdown,lock, setting etc.", "Author": "qianlifeng", - "Version": "2.0.1", + "Version": "3.0.0", "Language": "csharp", "Website": "https://github.com/Flow-Launcher/Flow.Launcher", "ExecuteFileName": "Flow.Launcher.Plugin.Sys.dll", diff --git a/Plugins/Flow.Launcher.Plugin.Url/plugin.json b/Plugins/Flow.Launcher.Plugin.Url/plugin.json index 48c184ec2..5493280b0 100644 --- a/Plugins/Flow.Launcher.Plugin.Url/plugin.json +++ b/Plugins/Flow.Launcher.Plugin.Url/plugin.json @@ -4,7 +4,7 @@ "Name": "URL", "Description": "Open the typed URL from Flow Launcher", "Author": "qianlifeng", - "Version": "2.0.1", + "Version": "3.0.0", "Language": "csharp", "Website": "https://github.com/Flow-Launcher/Flow.Launcher", "ExecuteFileName": "Flow.Launcher.Plugin.Url.dll", diff --git a/Plugins/Flow.Launcher.Plugin.WebSearch/plugin.json b/Plugins/Flow.Launcher.Plugin.WebSearch/plugin.json index fb1e31c12..c4f8ce143 100644 --- a/Plugins/Flow.Launcher.Plugin.WebSearch/plugin.json +++ b/Plugins/Flow.Launcher.Plugin.WebSearch/plugin.json @@ -26,7 +26,7 @@ "Name": "Web Searches", "Description": "Provide the web search ability", "Author": "qianlifeng", - "Version": "2.0.2", + "Version": "3.0.0", "Language": "csharp", "Website": "https://github.com/Flow-Launcher/Flow.Launcher", "ExecuteFileName": "Flow.Launcher.Plugin.WebSearch.dll", diff --git a/Plugins/Flow.Launcher.Plugin.WindowsSettings/plugin.json b/Plugins/Flow.Launcher.Plugin.WindowsSettings/plugin.json index 428a96923..c76585da7 100644 --- a/Plugins/Flow.Launcher.Plugin.WindowsSettings/plugin.json +++ b/Plugins/Flow.Launcher.Plugin.WindowsSettings/plugin.json @@ -4,7 +4,7 @@ "Description": "Search settings inside Control Panel and Settings App", "Name": "Windows Settings", "Author": "TobiasSekan", - "Version": "3.0.2", + "Version": "4.0.0", "Language": "csharp", "Website": "https://github.com/Flow-Launcher/Flow.Launcher", "ExecuteFileName": "Flow.Launcher.Plugin.WindowsSettings.dll", From 57bdfcb900c58599b36f1d2baca8b4d65c905651 Mon Sep 17 00:00:00 2001 From: Jeremy Date: Tue, 7 Feb 2023 08:19:53 +1100 Subject: [PATCH 31/33] bump Plugin project version from .Net upgrade --- Flow.Launcher.Plugin/Flow.Launcher.Plugin.csproj | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Flow.Launcher.Plugin/Flow.Launcher.Plugin.csproj b/Flow.Launcher.Plugin/Flow.Launcher.Plugin.csproj index dc2923154..f3fc31ed8 100644 --- a/Flow.Launcher.Plugin/Flow.Launcher.Plugin.csproj +++ b/Flow.Launcher.Plugin/Flow.Launcher.Plugin.csproj @@ -14,10 +14,10 @@ - 3.1.0 - 3.1.0 - 3.1.0 - 3.1.0 + 4.0.0 + 4.0.0 + 4.0.0 + 4.0.0 Flow.Launcher.Plugin Flow-Launcher MIT From 26047a0653d465d3cfa30091cd990d41bd2be850 Mon Sep 17 00:00:00 2001 From: Jeremy Date: Tue, 7 Feb 2023 08:20:11 +1100 Subject: [PATCH 32/33] bump Flow's version from .Net upgrade --- appveyor.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/appveyor.yml b/appveyor.yml index 29fc4cf4b..5a61e83ce 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -1,4 +1,4 @@ -version: '1.12.1.{build}' +version: '1.13.0.{build}' init: - ps: | From 46c8dd8070e693831bde35a3bc150ba40a4e466f Mon Sep 17 00:00:00 2001 From: Vic <10308169+VictoriousRaptor@users.noreply.github.com> Date: Thu, 9 Feb 2023 12:25:59 +0800 Subject: [PATCH 33/33] Fix translation --- Plugins/Flow.Launcher.Plugin.Explorer/ContextMenu.cs | 2 +- Plugins/Flow.Launcher.Plugin.Explorer/Languages/en.xaml | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/Plugins/Flow.Launcher.Plugin.Explorer/ContextMenu.cs b/Plugins/Flow.Launcher.Plugin.Explorer/ContextMenu.cs index 4cbe01c97..f5733bbb5 100644 --- a/Plugins/Flow.Launcher.Plugin.Explorer/ContextMenu.cs +++ b/Plugins/Flow.Launcher.Plugin.Explorer/ContextMenu.cs @@ -177,7 +177,7 @@ namespace Flow.Launcher.Plugin.Explorer try { if (MessageBox.Show( - Context.API.GetTranslation("plugin_explorer_deletefilefolderconfirm"), + string.Format(Context.API.GetTranslation("plugin_explorer_delete_folder_link"), record.FullPath), string.Empty, MessageBoxButton.YesNo, MessageBoxIcon.Warning) diff --git a/Plugins/Flow.Launcher.Plugin.Explorer/Languages/en.xaml b/Plugins/Flow.Launcher.Plugin.Explorer/Languages/en.xaml index 15456079a..82029e8c5 100644 --- a/Plugins/Flow.Launcher.Plugin.Explorer/Languages/en.xaml +++ b/Plugins/Flow.Launcher.Plugin.Explorer/Languages/en.xaml @@ -7,7 +7,6 @@ Please make a selection first Please select a folder link Are you sure you want to delete {0}? - Are you sure you want to permanently delete this folder? Are you sure you want to permanently delete this file? Are you sure you want to permanently delete this file/folder? Deletion successful