From 2189eaaa0ca56f9bbb2e145e8d37d7f3d966766d Mon Sep 17 00:00:00 2001 From: Hongtao Zhang Date: Wed, 12 Oct 2022 16:11:15 -0500 Subject: [PATCH] Allow user to disable loading bookmark from certain browser --- .../Commands/BookmarkLoader.cs | 29 ++++--- .../Models/Settings.cs | 4 + .../Views/SettingsControl.xaml | 80 ++++++++++--------- 3 files changed, 66 insertions(+), 47 deletions(-) diff --git a/Plugins/Flow.Launcher.Plugin.BrowserBookmark/Commands/BookmarkLoader.cs b/Plugins/Flow.Launcher.Plugin.BrowserBookmark/Commands/BookmarkLoader.cs index 40d10b26f..77d9c64a0 100644 --- a/Plugins/Flow.Launcher.Plugin.BrowserBookmark/Commands/BookmarkLoader.cs +++ b/Plugins/Flow.Launcher.Plugin.BrowserBookmark/Commands/BookmarkLoader.cs @@ -19,21 +19,28 @@ namespace Flow.Launcher.Plugin.BrowserBookmark.Commands internal static List LoadAllBookmarks(Settings setting) { - - var chromeBookmarks = new ChromeBookmarkLoader(); - var mozBookmarks = new FirefoxBookmarkLoader(); - var edgeBookmarks = new EdgeBookmarkLoader(); - var allBookmarks = new List(); - // Add Firefox bookmarks - allBookmarks.AddRange(mozBookmarks.GetBookmarks()); + if (setting.LoadChromeBookmark) + { + // Add Chrome bookmarks + var chromeBookmarks = new ChromeBookmarkLoader(); + allBookmarks.AddRange(chromeBookmarks.GetBookmarks()); + } - // Add Chrome bookmarks - allBookmarks.AddRange(chromeBookmarks.GetBookmarks()); + if (setting.LoadFirefoxBookmark) + { + // Add Firefox bookmarks + var mozBookmarks = new FirefoxBookmarkLoader(); + allBookmarks.AddRange(mozBookmarks.GetBookmarks()); + } - // Add Edge (Chromium) bookmarks - allBookmarks.AddRange(edgeBookmarks.GetBookmarks()); + if (setting.LoadEdgeBookmark) + { + // Add Edge (Chromium) bookmarks + var edgeBookmarks = new EdgeBookmarkLoader(); + allBookmarks.AddRange(edgeBookmarks.GetBookmarks()); + } foreach (var browser in setting.CustomChromiumBrowsers) { diff --git a/Plugins/Flow.Launcher.Plugin.BrowserBookmark/Models/Settings.cs b/Plugins/Flow.Launcher.Plugin.BrowserBookmark/Models/Settings.cs index 5080ad301..17b794e03 100644 --- a/Plugins/Flow.Launcher.Plugin.BrowserBookmark/Models/Settings.cs +++ b/Plugins/Flow.Launcher.Plugin.BrowserBookmark/Models/Settings.cs @@ -10,6 +10,10 @@ namespace Flow.Launcher.Plugin.BrowserBookmark.Models public string BrowserPath { get; set; } + public bool LoadChromeBookmark { get; set; } = true; + public bool LoadFirefoxBookmark { get; set; } = true; + public bool LoadEdgeBookmark { get; set; } = true; + public ObservableCollection CustomChromiumBrowsers { get; set; } = new(); } } \ No newline at end of file diff --git a/Plugins/Flow.Launcher.Plugin.BrowserBookmark/Views/SettingsControl.xaml b/Plugins/Flow.Launcher.Plugin.BrowserBookmark/Views/SettingsControl.xaml index a614cbfc2..12a84cb5a 100644 --- a/Plugins/Flow.Launcher.Plugin.BrowserBookmark/Views/SettingsControl.xaml +++ b/Plugins/Flow.Launcher.Plugin.BrowserBookmark/Views/SettingsControl.xaml @@ -1,57 +1,65 @@  + x:Class="Flow.Launcher.Plugin.BrowserBookmark.Views.SettingsControl" + xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" + xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" + xmlns:d="http://schemas.microsoft.com/expression/blend/2008" + xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" + d:DesignHeight="300" + d:DesignWidth="500" + DataContext="{Binding RelativeSource={RelativeSource Self}}" + mc:Ignorable="d"> - + - - - - + + + +