From d106c5144b7a5397408d566ca5acf2faf1606ae0 Mon Sep 17 00:00:00 2001
From: Jack251970 <1160210343@qq.com>
Date: Mon, 29 Sep 2025 23:12:02 +0800
Subject: [PATCH] Fix IsEnabled logic
---
.../CloseShellAfterPressEnabledConverter.cs | 22 -------------------
...OrCloseShellAfterPressEnabledConverter.cs} | 6 ++---
.../Views/ShellSetting.xaml | 15 ++++++++-----
3 files changed, 13 insertions(+), 30 deletions(-)
delete mode 100644 Plugins/Flow.Launcher.Plugin.Shell/Converters/CloseShellAfterPressEnabledConverter.cs
rename Plugins/Flow.Launcher.Plugin.Shell/Converters/{LeaveShellOpenEnabledConverter.cs => LeaveShellOpenOrCloseShellAfterPressEnabledConverter.cs} (68%)
diff --git a/Plugins/Flow.Launcher.Plugin.Shell/Converters/CloseShellAfterPressEnabledConverter.cs b/Plugins/Flow.Launcher.Plugin.Shell/Converters/CloseShellAfterPressEnabledConverter.cs
deleted file mode 100644
index a47b58e1e..000000000
--- a/Plugins/Flow.Launcher.Plugin.Shell/Converters/CloseShellAfterPressEnabledConverter.cs
+++ /dev/null
@@ -1,22 +0,0 @@
-using System;
-using System.Globalization;
-using System.Windows.Data;
-
-namespace Flow.Launcher.Plugin.Shell.Converters;
-
-public class CloseShellAfterPressEnabledConverter : IValueConverter
-{
- public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
- {
- if (value is not bool)
- return Binding.DoNothing;
-
- var leaveShellOpen = (bool)value;
- return !leaveShellOpen;
- }
-
- public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
- {
- throw new NotImplementedException();
- }
-}
diff --git a/Plugins/Flow.Launcher.Plugin.Shell/Converters/LeaveShellOpenEnabledConverter.cs b/Plugins/Flow.Launcher.Plugin.Shell/Converters/LeaveShellOpenOrCloseShellAfterPressEnabledConverter.cs
similarity index 68%
rename from Plugins/Flow.Launcher.Plugin.Shell/Converters/LeaveShellOpenEnabledConverter.cs
rename to Plugins/Flow.Launcher.Plugin.Shell/Converters/LeaveShellOpenOrCloseShellAfterPressEnabledConverter.cs
index ca938ae7e..5649353e5 100644
--- a/Plugins/Flow.Launcher.Plugin.Shell/Converters/LeaveShellOpenEnabledConverter.cs
+++ b/Plugins/Flow.Launcher.Plugin.Shell/Converters/LeaveShellOpenOrCloseShellAfterPressEnabledConverter.cs
@@ -4,18 +4,18 @@ using System.Windows.Data;
namespace Flow.Launcher.Plugin.Shell.Converters;
-public class LeaveShellOpenEnabledConverter : IMultiValueConverter
+public class LeaveShellOpenOrCloseShellAfterPressEnabledConverter : IMultiValueConverter
{
public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
{
if (
values.Length != 2 ||
- values[0] is not bool closeShellAfterPress ||
+ values[0] is not bool closeShellAfterPressOrLeaveShellOpen ||
values[1] is not Shell shell
)
return Binding.DoNothing;
- return (!closeShellAfterPress) && shell != Shell.RunCommand;
+ return (!closeShellAfterPressOrLeaveShellOpen) && shell != Shell.RunCommand;
}
public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)
diff --git a/Plugins/Flow.Launcher.Plugin.Shell/Views/ShellSetting.xaml b/Plugins/Flow.Launcher.Plugin.Shell/Views/ShellSetting.xaml
index ce52d6c7a..5f66884ea 100644
--- a/Plugins/Flow.Launcher.Plugin.Shell/Views/ShellSetting.xaml
+++ b/Plugins/Flow.Launcher.Plugin.Shell/Views/ShellSetting.xaml
@@ -11,8 +11,7 @@
d:DesignWidth="300"
mc:Ignorable="d">
-
-
+
@@ -38,8 +37,14 @@
Margin="{StaticResource SettingPanelItemRightTopBottomMargin}"
HorizontalAlignment="Left"
Content="{DynamicResource flowlauncher_plugin_cmd_close_cmd_after_press}"
- IsChecked="{Binding CloseShellAfterPress, Mode=TwoWay}"
- IsEnabled="{Binding LeaveShellOpen, Converter={StaticResource CloseShellAfterPressEnabledConverter}, Mode=OneWay}" />
+ IsChecked="{Binding CloseShellAfterPress, Mode=TwoWay}">
+
+
+
+
+
+
+
-
+