From 1906d6854177b0960f0a861582254c31fe836439 Mon Sep 17 00:00:00 2001
From: Jack251970 <1160210343@qq.com>
Date: Mon, 15 Sep 2025 12:57:25 +0800
Subject: [PATCH] Add ShowErrorMessage setting
---
.../Flow.Launcher.Plugin.Calculator/Languages/en.xaml | 1 +
Plugins/Flow.Launcher.Plugin.Calculator/Main.cs | 6 ++++++
Plugins/Flow.Launcher.Plugin.Calculator/Settings.cs | 5 ++++-
.../Views/CalculatorSettings.xaml | 10 ++++++++++
4 files changed, 21 insertions(+), 1 deletion(-)
diff --git a/Plugins/Flow.Launcher.Plugin.Calculator/Languages/en.xaml b/Plugins/Flow.Launcher.Plugin.Calculator/Languages/en.xaml
index 29a0ed26f..b12972b1b 100644
--- a/Plugins/Flow.Launcher.Plugin.Calculator/Languages/en.xaml
+++ b/Plugins/Flow.Launcher.Plugin.Calculator/Languages/en.xaml
@@ -15,4 +15,5 @@
Dot (.)
Max. decimal places
Copy failed, please try later
+ Show error message when calculation fails
\ No newline at end of file
diff --git a/Plugins/Flow.Launcher.Plugin.Calculator/Main.cs b/Plugins/Flow.Launcher.Plugin.Calculator/Main.cs
index 5b04ae7e8..429b04979 100644
--- a/Plugins/Flow.Launcher.Plugin.Calculator/Main.cs
+++ b/Plugins/Flow.Launcher.Plugin.Calculator/Main.cs
@@ -79,6 +79,7 @@ namespace Flow.Launcher.Plugin.Calculator
if (result == null || string.IsNullOrEmpty(result.ToString()))
{
+ if (!_settings.ShowErrorMessage) return EmptyResults;
return new List
{
new Result
@@ -90,10 +91,14 @@ namespace Flow.Launcher.Plugin.Calculator
}
if (result.ToString() == "NaN")
+ {
result = Localize.flowlauncher_plugin_calculator_not_a_number();
+ }
if (result is Function)
+ {
result = Localize.flowlauncher_plugin_calculator_expression_not_complete();
+ }
if (!string.IsNullOrEmpty(result.ToString()))
{
@@ -129,6 +134,7 @@ namespace Flow.Launcher.Plugin.Calculator
catch (Exception)
{
// Mages engine can throw various exceptions, for simplicity we catch them all and show a generic message.
+ if (!_settings.ShowErrorMessage) return EmptyResults;
return new List
{
new Result
diff --git a/Plugins/Flow.Launcher.Plugin.Calculator/Settings.cs b/Plugins/Flow.Launcher.Plugin.Calculator/Settings.cs
index 8354863b8..0f32b09a9 100644
--- a/Plugins/Flow.Launcher.Plugin.Calculator/Settings.cs
+++ b/Plugins/Flow.Launcher.Plugin.Calculator/Settings.cs
@@ -4,6 +4,9 @@ namespace Flow.Launcher.Plugin.Calculator
public class Settings
{
public DecimalSeparator DecimalSeparator { get; set; } = DecimalSeparator.UseSystemLocale;
- public int MaxDecimalPlaces { get; set; } = 10;
+
+ public int MaxDecimalPlaces { get; set; } = 10;
+
+ public bool ShowErrorMessage { get; set; } = false;
}
}
diff --git a/Plugins/Flow.Launcher.Plugin.Calculator/Views/CalculatorSettings.xaml b/Plugins/Flow.Launcher.Plugin.Calculator/Views/CalculatorSettings.xaml
index 8d240ef39..9e7549b2d 100644
--- a/Plugins/Flow.Launcher.Plugin.Calculator/Views/CalculatorSettings.xaml
+++ b/Plugins/Flow.Launcher.Plugin.Calculator/Views/CalculatorSettings.xaml
@@ -15,6 +15,7 @@
+
@@ -58,5 +59,14 @@
ItemsSource="{Binding MaxDecimalPlacesRange}"
SelectedItem="{Binding Settings.MaxDecimalPlaces}" />
+