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}"> + + + + + + + - +