Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
78 commits
Select commit Hold shift + click to select a range
6fdff29
Merge Explorer & Everything Plugins (Step 1)
taooceros Mar 25, 2022
b671f56
Add missing File
taooceros Mar 25, 2022
fa0cd35
Support Path Enumeration (Part 1)
taooceros Mar 28, 2022
9b471de
Implement Path Enumeration and ContentSearch
taooceros May 15, 2022
d5e1b7c
Rewrite Explorer View Logic based on MVVM Pattern to avoid complicate…
taooceros Jul 1, 2022
70e9a0c
Merge branch 'dev' of github.com:Flow-Launcher/Flow.Launcher into exp…
taooceros Jul 1, 2022
d36d15c
Further Refactor UI Code and Implement Engine Selection and Everythin…
taooceros Jul 4, 2022
86210d0
Merge branch 'dev' into explorerMerge
taooceros Jul 4, 2022
a3622d4
Code Refactor with IAsyncEnumerable instead of Task<IEnumerable>
taooceros Aug 16, 2022
6df3bd8
Add UseWpf option to csproj for Shell and sys plugin to resolve weird…
taooceros Aug 16, 2022
6a5509b
Add customized editor path
taooceros Aug 16, 2022
4b6b10a
Add Open with Shell for folder result
taooceros Aug 17, 2022
6423143
Implement Everything AutoInstall
taooceros Aug 17, 2022
193ea55
Merge remote-tracking branch 'origin/dev' into explorerMerge
taooceros Aug 17, 2022
000c45b
Refactor Explorer Code to fit the new architecture
taooceros Sep 10, 2022
d973470
Remove restriction for plugin panel height
taooceros Sep 12, 2022
8b1c125
Custom Exception & Some Refactor
taooceros Sep 22, 2022
1622e57
Merge remote-tracking branch 'origin/dev' into explorerMerge
taooceros Sep 22, 2022
067217f
Merge remote-tracking branch 'origin/dev' into explorerMerge
taooceros Sep 22, 2022
9d294ed
Merge Remote pattern
Sparrkle Sep 22, 2022
2c3df3f
Change signature back to string to accommodate async method.
taooceros Sep 24, 2022
d973826
Remove extra information in subtitle (discussion #706)
taooceros Sep 24, 2022
6817260
make windows index the default search engine
taooceros Oct 2, 2022
5ea6c54
Merge remote-tracking branch 'origin/dev' into explorerMerge
taooceros Oct 10, 2022
d3ea580
Fix merge issue
taooceros Oct 10, 2022
2a2514d
Reformat some code
taooceros Oct 10, 2022
970fcd8
Fix testing and remove obsolete method
taooceros Nov 4, 2022
569cc19
Fix setting issue and everything sdk issue
taooceros Nov 4, 2022
e41691d
Fix everything sdk issue & a null reference issue
taooceros Nov 4, 2022
cc79079
Add sdk files
taooceros Nov 4, 2022
8b856c2
fix edit & remove for IndexExcludedPath
taooceros Nov 4, 2022
c774323
Merge branch 'dev' of github.com:Flow-Launcher/Flow.Launcher into exp…
taooceros Nov 4, 2022
318ec13
- Changed Expander to Tabcontrol / Add Strings
onesounds Nov 7, 2022
7cf011b
Merge remote-tracking branch 'origin/dev' into explorerMerge
taooceros Nov 7, 2022
36a35a1
Merge branch 'dev' into explorerMerge
taooceros Nov 11, 2022
f181211
Merge branch 'dev' into explorerMerge
taooceros Nov 13, 2022
e011b71
Merge branch 'dev' into explorerMerge
onesounds Nov 18, 2022
d3ebeb2
Change Constant Tooltips to String
onesounds Nov 18, 2022
5f9703e
Merge remote-tracking branch 'origin' into explorerMerge
taooceros Nov 24, 2022
f3fe26b
Adjust ComboBox binding
taooceros Nov 24, 2022
ec81086
Port Everything string
taooceros Nov 24, 2022
2da557c
fix path equality check
taooceros Nov 24, 2022
786e942
Apply IndexSearchExcludedPaths to Index Search in a unified way
taooceros Nov 24, 2022
9267938
Append Result for everything error and windows index error
taooceros Nov 25, 2022
718ed33
Merge branch 'dev' into explorerMerge
taooceros Nov 28, 2022
f163ead
Remove Launch Hidden feature
taooceros Nov 28, 2022
158ee5f
Remove legacy initialization
taooceros Nov 28, 2022
bec27f4
Adjust naming and remove `Use Index Search For Path Search` option
taooceros Nov 28, 2022
8302ff8
Rename path Enumeration Engine to Directory Recursive Search Engine
taooceros Nov 29, 2022
3acda2e
remove compatibility code
jjw24 Nov 29, 2022
acc7d51
Remove legacy code and slightly refactor
taooceros Nov 29, 2022
22bc292
Add try catch to encounter dllnotfound issue and move warning string …
taooceros Nov 29, 2022
0e555b5
fix Windows Indexed Content search not triggering
jjw24 Nov 29, 2022
a4ca486
formatting
jjw24 Nov 29, 2022
724160d
Hide openwith editor when editor path is null or empty
VictoriousRaptor Nov 29, 2022
ed0b360
Hide open windows index context menu when result is not from it
VictoriousRaptor Nov 29, 2022
c820bc1
Fix Context Menu Image Icon
onesounds Nov 29, 2022
90f6176
Merge branch 'explorerMerge' of https://github.com/Flow-Launcher/Flow…
onesounds Nov 29, 2022
b45b5fb
use ulong instead of int to prevent overflow (if possible let's use n…
taooceros Nov 29, 2022
d74a635
use nint instead of ulong
taooceros Nov 29, 2022
9fdf220
trigger general search only when action keywords match
jjw24 Nov 29, 2022
a8d6e8d
only display quick access list when action keyword is used
jjw24 Nov 29, 2022
5ac2366
allow path to be searchable in quick access list
jjw24 Nov 29, 2022
355035e
re-add warning when Windows Index service is off as a search result
jjw24 Dec 1, 2022
605db60
add icon for Everything's content search warning
jjw24 Dec 1, 2022
4a0ee9b
fix concurrency issue (potentially)
taooceros Dec 3, 2022
e9d8579
fix concurrency issue (really potentially)
taooceros Dec 3, 2022
435144b
Merge branch 'dev' into explorerMerge
taooceros Dec 3, 2022
281f4db
fix enable not working at the first time (also refactor a little bit …
taooceros Dec 4, 2022
c6a47b0
add membernotnull attribute and small refactor
taooceros Dec 4, 2022
af07c38
cleanup code
taooceros Dec 4, 2022
e1c4ee0
fix Windows context menu Segoe Fluent Icon
jjw24 Dec 4, 2022
797464d
remove unnecessary show Windows index state in context menu option
jjw24 Dec 4, 2022
caf200b
move System.Linq.Async to Explorer project
jjw24 Dec 4, 2022
74ea629
search window hides when prompted to install, remove threading
jjw24 Dec 4, 2022
5c4b785
remove unnecessary Everything installation during startup
jjw24 Dec 4, 2022
08b8cda
remove duplicate Everything dll copy in project file
jjw24 Dec 4, 2022
bcc8013
remove IIndexProvider.cs removal section in project file
jjw24 Dec 4, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions Flow.Launcher.Plugin/Interfaces/IPublicAPI.cs
Original file line number Diff line number Diff line change
Expand Up @@ -183,6 +183,13 @@ public interface IPublicAPI
/// <param name="oldActionKeyword">The actionkeyword that is supposed to be removed</param>
void RemoveActionKeyword(string pluginId, string oldActionKeyword);

/// <summary>
/// Check whether specific ActionKeyword is assigned to any of the plugin
/// </summary>
/// <param name="actionKeyword">The actionkeyword for checking</param>
/// <returns>True if the actionkeyword is already assigned, False otherwise</returns>
bool ActionKeywordAssigned(string actionKeyword);

/// <summary>
/// Log debug message
/// Message will only be logged in Debug mode
Expand Down
156 changes: 45 additions & 111 deletions Flow.Launcher.Test/Plugins/ExplorerTest.cs

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion Flow.Launcher/MainWindow.xaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -608,7 +608,7 @@ private void OnKeyDown(object sender, KeyEventArgs e)
&& QueryTextBox.CaretIndex == QueryTextBox.Text.Length)
{
var queryWithoutActionKeyword =
QueryBuilder.Build(QueryTextBox.Text.Trim(), PluginManager.NonGlobalPlugins).Search;
QueryBuilder.Build(QueryTextBox.Text.Trim(), PluginManager.NonGlobalPlugins)?.Search;

if (FilesFolders.IsLocationPathString(queryWithoutActionKeyword))
{
Expand Down
2 changes: 2 additions & 0 deletions Flow.Launcher/PublicAPIInstance.cs
Original file line number Diff line number Diff line change
Expand Up @@ -141,6 +141,8 @@ public Task HttpDownloadAsync([NotNull] string url, [NotNull] string filePath,
public void AddActionKeyword(string pluginId, string newActionKeyword) =>
PluginManager.AddActionKeyword(pluginId, newActionKeyword);

public bool ActionKeywordAssigned(string actionKeyword) => PluginManager.ActionKeywordRegistered(actionKeyword);

public void RemoveActionKeyword(string pluginId, string oldActionKeyword) =>
PluginManager.RemoveActionKeyword(pluginId, oldActionKeyword);

Expand Down
178 changes: 134 additions & 44 deletions Plugins/Flow.Launcher.Plugin.Explorer/ContextMenu.cs

Large diffs are not rendered by default.

Binary file not shown.
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
#nullable enable

using System;
using System.Threading.Tasks;
using System.Windows;
using Flow.Launcher.Plugin.Explorer.Search.IProvider;
using JetBrains.Annotations;

namespace Flow.Launcher.Plugin.Explorer.Exceptions;

public class EngineNotAvailableException : Exception
{
public string EngineName { get; }
public string Resolution { get; }
public Func<ActionContext, ValueTask<bool>>? Action { get; }

public string? ErrorIcon { get; init; }

public EngineNotAvailableException(
string engineName,
string resolution,
string message,
Func<ActionContext, ValueTask<bool>> action = null) : base(message)
{
EngineName = engineName;
Resolution = resolution;
Action = action ?? (_ =>
{
Clipboard.SetDataObject(this.ToString());
return ValueTask.FromResult(true);
});
}

public EngineNotAvailableException(
string engineName,
string resolution,
string message,
Exception innerException) : base(message, innerException)
{
EngineName = engineName;
Resolution = resolution;
}

public override string ToString()
{
return $"Engine {EngineName} is not available.\n Try to {Resolution}\n {base.ToString()}";
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
using System;

namespace Flow.Launcher.Plugin.Explorer.Exceptions
{
public class SearchException : Exception
{
public string EngineName { get; }
public SearchException(string engineName, string message) : base(message)
{
EngineName = engineName;
}

public SearchException(string engineName, string message, Exception innerException) : base(message, innerException)
{
EngineName = engineName;
}

public override string ToString()
{
return $"{EngineName} Search Exception:\n {base.ToString()}";
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
<SatelliteResourceLanguages>en</SatelliteResourceLanguages>
<Nullable>warnings</Nullable>
<ApplicationIcon />
<StartupObject />
</PropertyGroup>
Expand All @@ -24,6 +25,12 @@
<None Include="plugin.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="EverythingSDK\x64\Everything.dll">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="EverythingSDK\x86\Everything.dll">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
</ItemGroup>

<ItemGroup>
Expand All @@ -39,6 +46,7 @@

<ItemGroup>
<PackageReference Include="System.Data.OleDb" Version="5.0.0" />
<PackageReference Include="System.Linq.Async" Version="6.0.1" />
<PackageReference Include="tlbimp-Microsoft.Search.Interop" Version="1.0.0" />
</ItemGroup>

Expand All @@ -47,5 +55,5 @@
<ProjectReference Include="..\..\Flow.Launcher.Infrastructure\Flow.Launcher.Infrastructure.csproj" />
<ProjectReference Include="..\..\Flow.Launcher.Plugin\Flow.Launcher.Plugin.csproj" />
</ItemGroup>

</Project>
Loading