diff --git a/Plugins/Flow.Launcher.Plugin.WebSearch/Languages/en.xaml b/Plugins/Flow.Launcher.Plugin.WebSearch/Languages/en.xaml index 21f836bec6c..c6a74a0470a 100644 --- a/Plugins/Flow.Launcher.Plugin.WebSearch/Languages/en.xaml +++ b/Plugins/Flow.Launcher.Plugin.WebSearch/Languages/en.xaml @@ -13,6 +13,7 @@ Edit Add Enabled + Private Mode Enabled Disabled Confirm diff --git a/Plugins/Flow.Launcher.Plugin.WebSearch/Main.cs b/Plugins/Flow.Launcher.Plugin.WebSearch/Main.cs index 0040cffa7da..97f90b52c4b 100644 --- a/Plugins/Flow.Launcher.Plugin.WebSearch/Main.cs +++ b/Plugins/Flow.Launcher.Plugin.WebSearch/Main.cs @@ -71,7 +71,7 @@ public async Task> QueryAsync(Query query, CancellationToken token) Score = score, Action = c => { - _context.API.OpenWebUrl(searchSource.Url.Replace("{q}", Uri.EscapeDataString(keyword))); + _context.API.OpenWebUrl(searchSource.Url.Replace("{q}", Uri.EscapeDataString(keyword)), searchSource.IsPrivateMode); return true; }, @@ -135,7 +135,7 @@ private async Task> SuggestionsAsync(string keyword, string ActionKeywordAssigned = searchSource.ActionKeyword == SearchSourceGlobalPluginWildCardSign ? string.Empty : searchSource.ActionKeyword, Action = c => { - _context.API.OpenWebUrl(searchSource.Url.Replace("{q}", Uri.EscapeDataString(o))); + _context.API.OpenWebUrl(searchSource.Url.Replace("{q}", Uri.EscapeDataString(o)), searchSource.IsPrivateMode); return true; }, diff --git a/Plugins/Flow.Launcher.Plugin.WebSearch/SearchSource.cs b/Plugins/Flow.Launcher.Plugin.WebSearch/SearchSource.cs index 9eedd29a3bb..bfd95c242b2 100644 --- a/Plugins/Flow.Launcher.Plugin.WebSearch/SearchSource.cs +++ b/Plugins/Flow.Launcher.Plugin.WebSearch/SearchSource.cs @@ -7,6 +7,7 @@ namespace Flow.Launcher.Plugin.WebSearch public class SearchSource : BaseModel { public string Title { get; set; } + public string ActionKeyword { get; set; } [NotNull] @@ -19,21 +20,17 @@ public class SearchSource : BaseModel /// Custom icons are placed in the user data directory /// [JsonIgnore] - public string IconPath - { - get - { - if (CustomIcon) - return Path.Combine(Main.CustomImagesDirectory, Icon); - - return Path.Combine(Main.DefaultImagesDirectory, Icon); - } - } + public string IconPath => CustomIcon + ? Path.Combine(Main.CustomImagesDirectory, Icon) + : Path.Combine(Main.DefaultImagesDirectory, Icon); public string Url { get; set; } [JsonIgnore] public bool Status => Enabled; + + public bool IsPrivateMode { get; set; } + public bool Enabled { get; set; } public SearchSource DeepCopy() @@ -45,8 +42,10 @@ public SearchSource DeepCopy() Url = Url, Icon = Icon, CustomIcon = CustomIcon, + IsPrivateMode = IsPrivateMode, Enabled = Enabled }; + return webSearch; } } diff --git a/Plugins/Flow.Launcher.Plugin.WebSearch/SearchSourceSetting.xaml b/Plugins/Flow.Launcher.Plugin.WebSearch/SearchSourceSetting.xaml index 746c9cf848f..c6f9b27f36f 100644 --- a/Plugins/Flow.Launcher.Plugin.WebSearch/SearchSourceSetting.xaml +++ b/Plugins/Flow.Launcher.Plugin.WebSearch/SearchSourceSetting.xaml @@ -101,6 +101,7 @@ + + Text="{DynamicResource flowlauncher_plugin_websearch_private_mode_label}" /> + + diff --git a/Plugins/Flow.Launcher.Plugin.WebSearch/SettingsControl.xaml b/Plugins/Flow.Launcher.Plugin.WebSearch/SettingsControl.xaml index 79d6265fe2e..33461e9e747 100644 --- a/Plugins/Flow.Launcher.Plugin.WebSearch/SettingsControl.xaml +++ b/Plugins/Flow.Launcher.Plugin.WebSearch/SettingsControl.xaml @@ -92,6 +92,20 @@ + + + + + + +