From eac61fb40ce7123dd37058eeb200138b0e8032ad Mon Sep 17 00:00:00 2001 From: Kevin Zhang Date: Thu, 23 Sep 2021 13:07:40 -0500 Subject: [PATCH] Add setting for Custom Browser Bookmark --- .../Commands/BookmarkLoader.cs | 8 +++++++- .../CustomChromiumBookmarkLoader.cs | 5 +++++ .../Models/Settings.cs | 2 +- .../Views/SettingsControl.xaml | 2 +- 4 files changed, 14 insertions(+), 3 deletions(-) diff --git a/Plugins/Flow.Launcher.Plugin.BrowserBookmark/Commands/BookmarkLoader.cs b/Plugins/Flow.Launcher.Plugin.BrowserBookmark/Commands/BookmarkLoader.cs index b4c6235e0..770717b3c 100644 --- a/Plugins/Flow.Launcher.Plugin.BrowserBookmark/Commands/BookmarkLoader.cs +++ b/Plugins/Flow.Launcher.Plugin.BrowserBookmark/Commands/BookmarkLoader.cs @@ -17,7 +17,7 @@ namespace Flow.Launcher.Plugin.BrowserBookmark.Commands return StringMatcher.FuzzySearch(queryString, bookmark.Url); } - internal static List LoadAllBookmarks() + internal static List LoadAllBookmarks(Settings setting) { var chromeBookmarks = new ChromeBookmarkLoader(); @@ -36,6 +36,12 @@ namespace Flow.Launcher.Plugin.BrowserBookmark.Commands // Add Edge (Chromium) bookmarks allBookmarks.AddRange(edgeBookmarks.GetBookmarks()); + foreach (var browser in setting.CustomChromiumBrowsers) + { + var loader = new CustomChromiumBookmarkLoader(browser); + allBookmarks.AddRange(loader.GetBookmarks()); + } + return allBookmarks.Distinct().ToList(); } } diff --git a/Plugins/Flow.Launcher.Plugin.BrowserBookmark/CustomChromiumBookmarkLoader.cs b/Plugins/Flow.Launcher.Plugin.BrowserBookmark/CustomChromiumBookmarkLoader.cs index 91189ace7..1cd2a865b 100644 --- a/Plugins/Flow.Launcher.Plugin.BrowserBookmark/CustomChromiumBookmarkLoader.cs +++ b/Plugins/Flow.Launcher.Plugin.BrowserBookmark/CustomChromiumBookmarkLoader.cs @@ -5,6 +5,11 @@ namespace Flow.Launcher.Plugin.BrowserBookmark { public class CustomChromiumBookmarkLoader : ChromiumBookmarkLoader { + public CustomChromiumBookmarkLoader(CustomBrowser browser) + { + BrowserName = browser.Name; + BrowserDataPath = browser.Path; + } public string BrowserDataPath { get; init; } public string BookmarkFilePath { get; init; } public string BrowserName { get; init; } diff --git a/Plugins/Flow.Launcher.Plugin.BrowserBookmark/Models/Settings.cs b/Plugins/Flow.Launcher.Plugin.BrowserBookmark/Models/Settings.cs index e63b90dbc..94a270984 100644 --- a/Plugins/Flow.Launcher.Plugin.BrowserBookmark/Models/Settings.cs +++ b/Plugins/Flow.Launcher.Plugin.BrowserBookmark/Models/Settings.cs @@ -10,7 +10,7 @@ namespace Flow.Launcher.Plugin.BrowserBookmark.Models public string BrowserPath { get; set; } - public ObservableCollection CustomBrowsers { get; set; } = new() + public ObservableCollection CustomChromiumBrowsers { get; set; } = new() { new CustomBrowser { diff --git a/Plugins/Flow.Launcher.Plugin.BrowserBookmark/Views/SettingsControl.xaml b/Plugins/Flow.Launcher.Plugin.BrowserBookmark/Views/SettingsControl.xaml index 332f7bace..48a0107db 100644 --- a/Plugins/Flow.Launcher.Plugin.BrowserBookmark/Views/SettingsControl.xaml +++ b/Plugins/Flow.Launcher.Plugin.BrowserBookmark/Views/SettingsControl.xaml @@ -46,7 +46,7 @@ -