diff --git a/MultiTerm.Core/ViewModel/ShellViewModel.cs b/MultiTerm.Core/ViewModel/ShellViewModel.cs index 49c85b0..385d8f1 100644 --- a/MultiTerm.Core/ViewModel/ShellViewModel.cs +++ b/MultiTerm.Core/ViewModel/ShellViewModel.cs @@ -73,7 +73,7 @@ public partial class ShellViewModel : ObservableObject, IRecipient diff --git a/MultiTerm.Wpf/Helpers/InvertedExtension.cs b/MultiTerm.Wpf/Helpers/InvertedExtension.cs new file mode 100644 index 0000000..15ce128 --- /dev/null +++ b/MultiTerm.Wpf/Helpers/InvertedExtension.cs @@ -0,0 +1,25 @@ +using MultiTerm.Wpf.ValueConverters; +using System; +using System.Windows.Data; +using System.Windows.Markup; + +namespace MultiTerm.Wpf.Helpers; + +/// +/// Extension that uses an . +/// Inspired by: https://stackoverflow.com/questions/58519440/is-there-some-way-to-invert-a-converter +/// +public class InvertedExtension : MarkupExtension +{ + public IValueConverter Converter { get; set; } + + public InvertedExtension(IValueConverter converter) + { + Converter = new InverterConverter() { Converter = converter }; + } + + public override object ProvideValue(IServiceProvider serviceProvider) + { + return Converter; + } +} diff --git a/MultiTerm.Wpf/ValueConverters/InverterConverter.cs b/MultiTerm.Wpf/ValueConverters/InverterConverter.cs new file mode 100644 index 0000000..d24885e --- /dev/null +++ b/MultiTerm.Wpf/ValueConverters/InverterConverter.cs @@ -0,0 +1,23 @@ +using System; +using System.Globalization; +using System.Windows.Data; + +namespace MultiTerm.Wpf.ValueConverters; + +/// +/// Reverses s. +/// +public class InverterConverter : IValueConverter +{ + public IValueConverter? Converter { get; set; } + + public object Convert(object value, Type targetType, object parameter, CultureInfo culture) + { + return Converter.ConvertBack(value, targetType, parameter, culture); + } + + public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) + { + return Converter.Convert(value, targetType, parameter, culture); + } +} diff --git a/MultiTerm.Wpf/View/ShellView.xaml b/MultiTerm.Wpf/View/ShellView.xaml index 913ce41..e2ece5c 100644 --- a/MultiTerm.Wpf/View/ShellView.xaml +++ b/MultiTerm.Wpf/View/ShellView.xaml @@ -18,7 +18,8 @@ d:DesignHeight="600" d:DesignWidth="1200"> - + + @@ -66,11 +67,11 @@ + SelectedMenuItem="{Binding DefaultReceiveNewlineSeparator, Mode=TwoWay, Converter={StaticResource EnumDescriptionToMenuItemConverter}}"> + SelectedMenuItem="{Binding DefaultSendNewlineSeparator, Mode=TwoWay, Converter={StaticResource EnumDescriptionToMenuItemConverter}}"> @@ -121,7 +122,7 @@ + Converter={StaticResource EnumDescriptionToMenuItemConverter}}"> @@ -140,7 +141,8 @@ - - + + + + + + + + + + + + + + + + + + + + + + +