diff --git a/src/Markdowser/Models/Settings.cs b/src/Markdowser/Models/Settings.cs
index 091854b..b5829c5 100644
--- a/src/Markdowser/Models/Settings.cs
+++ b/src/Markdowser/Models/Settings.cs
@@ -11,6 +11,8 @@ public class Settings
public bool DarkMode { get; set; }
+ public string SearchEngineUrl { get; set; } = "https://duckduckgo.com/html/?kd=-1&k1=-1&q={0}";
+
public string? HomeUrl { get; set; }
public static void SaveSettings()
diff --git a/src/Markdowser/ViewModels/MainWindowViewModel.cs b/src/Markdowser/ViewModels/MainWindowViewModel.cs
index 319ae1a..9b0906e 100644
--- a/src/Markdowser/ViewModels/MainWindowViewModel.cs
+++ b/src/Markdowser/ViewModels/MainWindowViewModel.cs
@@ -220,7 +220,14 @@ public partial class MainWindowViewModel : ViewModelBase
else
{
// Search with duckduckgo
- Url = $"https://duckduckgo.com/html/?kd=-1&k1=-1&q={Uri.EscapeDataString(Url)}";
+ try
+ {
+ Url = string.Format(Settings.Current.SearchEngineUrl, Uri.EscapeDataString(Url));
+ }
+ catch (FormatException ex)
+ {
+ WindowNotificationManager.Show(new Notification("Invalid Search Engine URL", $"{ex.Message}", NotificationType.Error));
+ }
}
}
diff --git a/src/Markdowser/ViewModels/SettingsViewModel.cs b/src/Markdowser/ViewModels/SettingsViewModel.cs
index 3aa3d71..7d80466 100644
--- a/src/Markdowser/ViewModels/SettingsViewModel.cs
+++ b/src/Markdowser/ViewModels/SettingsViewModel.cs
@@ -10,6 +10,12 @@ public class SettingsViewModel : ViewModelBase
set => Settings.Current.HomeUrl = value;
}
+ public string SearchEngineUrl
+ {
+ get => Settings.Current.SearchEngineUrl;
+ set => Settings.Current.SearchEngineUrl = value;
+ }
+
public bool DarkMode
{
get => Settings.Current.DarkMode;
diff --git a/src/Markdowser/Views/MainWindow.axaml b/src/Markdowser/Views/MainWindow.axaml
index 4b2da25..e634897 100644
--- a/src/Markdowser/Views/MainWindow.axaml
+++ b/src/Markdowser/Views/MainWindow.axaml
@@ -87,7 +87,7 @@
-
+
diff --git a/src/Markdowser/Views/SettingsView.axaml b/src/Markdowser/Views/SettingsView.axaml
index 8e9c633..53a8ff8 100644
--- a/src/Markdowser/Views/SettingsView.axaml
+++ b/src/Markdowser/Views/SettingsView.axaml
@@ -23,6 +23,9 @@
+
+
+