2019-10-06 01:55:57 +00:00
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
|
using System.Linq;
|
2020-04-21 09:12:17 +00:00
|
|
|
|
using Flow.Launcher.Infrastructure;
|
2021-01-26 07:01:39 +00:00
|
|
|
|
using Flow.Launcher.Plugin.SharedModels;
|
2019-10-06 01:55:57 +00:00
|
|
|
|
|
2020-04-21 09:12:17 +00:00
|
|
|
|
namespace Flow.Launcher.Plugin.BrowserBookmark.Commands
|
2019-10-06 01:55:57 +00:00
|
|
|
|
{
|
|
|
|
|
|
internal static class Bookmarks
|
|
|
|
|
|
{
|
2020-10-26 03:34:59 +00:00
|
|
|
|
internal static MatchResult MatchProgram(Bookmark bookmark, string queryString)
|
2019-10-06 01:55:57 +00:00
|
|
|
|
{
|
2020-10-26 03:34:59 +00:00
|
|
|
|
var match = StringMatcher.FuzzySearch(queryString, bookmark.Name);
|
|
|
|
|
|
if (match.IsSearchPrecisionScoreMet())
|
|
|
|
|
|
return match;
|
2020-11-01 11:22:31 +00:00
|
|
|
|
|
|
|
|
|
|
return StringMatcher.FuzzySearch(queryString, bookmark.Url);
|
2019-10-06 01:55:57 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
internal static List<Bookmark> LoadAllBookmarks()
|
|
|
|
|
|
{
|
|
|
|
|
|
var allbookmarks = new List<Bookmark>();
|
2020-10-26 03:34:59 +00:00
|
|
|
|
|
2019-10-06 01:55:57 +00:00
|
|
|
|
var chromeBookmarks = new ChromeBookmarks();
|
|
|
|
|
|
var mozBookmarks = new FirefoxBookmarks();
|
2020-07-16 09:44:11 +00:00
|
|
|
|
var edgeBookmarks = new EdgeBookmarks();
|
2019-10-06 01:55:57 +00:00
|
|
|
|
|
|
|
|
|
|
//TODO: Let the user select which browser's bookmarks are displayed
|
|
|
|
|
|
// Add Firefox bookmarks
|
|
|
|
|
|
mozBookmarks.GetBookmarks().ForEach(x => allbookmarks.Add(x));
|
|
|
|
|
|
|
|
|
|
|
|
// Add Chrome bookmarks
|
|
|
|
|
|
chromeBookmarks.GetBookmarks().ForEach(x => allbookmarks.Add(x));
|
|
|
|
|
|
|
2020-07-16 09:44:11 +00:00
|
|
|
|
// Add Edge (Chromium) bookmarks
|
|
|
|
|
|
edgeBookmarks.GetBookmarks().ForEach(x => allbookmarks.Add(x));
|
|
|
|
|
|
|
2019-10-06 01:55:57 +00:00
|
|
|
|
return allbookmarks.Distinct().ToList();
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|