Skip to content

Commit 8a56cc6

Browse files
committed
Use singleton in QuickFolderAccess.cs
1 parent 9914124 commit 8a56cc6

File tree

2 files changed

+20
-13
lines changed

2 files changed

+20
-13
lines changed

Plugins/Flow.Launcher.Plugin.Explorer/Search/FolderLinks/QuickFolderAccess.cs

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,25 +6,31 @@ namespace Flow.Launcher.Plugin.Explorer.Search.FolderLinks
66
{
77
public class QuickFolderAccess
88
{
9-
internal List<Result> FolderListMatched(Query query, List<FolderLink> folderLinks, PluginInitContext context)
9+
private readonly ResultManager _resultManager;
10+
11+
public QuickFolderAccess(PluginInitContext context)
12+
{
13+
_resultManager = new ResultManager(context);
14+
}
15+
16+
internal List<Result> FolderListMatched(Query query, List<FolderLink> folderLinks)
1017
{
1118
if (string.IsNullOrEmpty(query.Search))
1219
return new List<Result>();
1320

1421
string search = query.Search.ToLower();
15-
16-
var queriedFolderLinks = folderLinks.Where(x => x.Nickname.StartsWith(search, StringComparison.OrdinalIgnoreCase));
22+
23+
var queriedFolderLinks =
24+
folderLinks.Where(x => x.Nickname.StartsWith(search, StringComparison.OrdinalIgnoreCase));
1725

1826
return queriedFolderLinks.Select(item =>
19-
new ResultManager(context)
20-
.CreateFolderResult(item.Nickname, item.Path, item.Path, query))
21-
.ToList();
27+
_resultManager.CreateFolderResult(item.Nickname, item.Path, item.Path, query))
28+
.ToList();
2229
}
2330

24-
internal List<Result> FolderListAll(Query query, List<FolderLink> folderLinks, PluginInitContext context)
31+
internal List<Result> FolderListAll(Query query, List<FolderLink> folderLinks)
2532
=> folderLinks
26-
.Select(item =>
27-
new ResultManager(context).CreateFolderResult(item.Nickname, item.Path, item.Path, query))
33+
.Select(item => _resultManager.CreateFolderResult(item.Nickname, item.Path, item.Path, query))
2834
.ToList();
2935
}
30-
}
36+
}

Plugins/Flow.Launcher.Plugin.Explorer/Search/SearchManager.cs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ public class SearchManager
1616

1717
private readonly IndexSearch indexSearch;
1818

19-
private readonly QuickFolderAccess quickFolderAccess = new QuickFolderAccess();
19+
private readonly QuickFolderAccess quickFolderAccess;
2020

2121
private readonly ResultManager resultManager;
2222

@@ -28,6 +28,7 @@ public SearchManager(Settings settings, PluginInitContext context)
2828
indexSearch = new IndexSearch(context);
2929
resultManager = new ResultManager(context);
3030
this.settings = settings;
31+
quickFolderAccess = new QuickFolderAccess(context);
3132
}
3233

3334
internal async Task<List<Result>> SearchAsync(Query query, CancellationToken token)
@@ -41,9 +42,9 @@ internal async Task<List<Result>> SearchAsync(Query query, CancellationToken tok
4142

4243
// This allows the user to type the assigned action keyword and only see the list of quick folder links
4344
if (string.IsNullOrEmpty(query.Search))
44-
return quickFolderAccess.FolderListAll(query, settings.QuickFolderAccessLinks, context);
45+
return quickFolderAccess.FolderListAll(query, settings.QuickFolderAccessLinks);
4546

46-
var quickFolderLinks = quickFolderAccess.FolderListMatched(query, settings.QuickFolderAccessLinks, context);
47+
var quickFolderLinks = quickFolderAccess.FolderListMatched(query, settings.QuickFolderAccessLinks);
4748

4849
if (quickFolderLinks.Count > 0)
4950
results.AddRange(quickFolderLinks);

0 commit comments

Comments
 (0)