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 @@
+
+
+
+
+
+
+