From 2daa9c2027f4ef0ecf8a99f452ca7286c1563fa0 Mon Sep 17 00:00:00 2001 From: Jonas Arnold Date: Sun, 26 Mar 2023 16:01:43 +0200 Subject: [PATCH] changed source of enum type to xaml, removed titleMenuItem Entry, since it is not necessary, renamed NewlineSeparator Selector to "Default" --- MultiTerm.Core/ViewModel/ShellViewModel.cs | 15 ++++------- MultiTerm.Wpf/Controls/SingleSelectSubMenu.cs | 14 ++-------- MultiTerm.Wpf/View/ShellView.xaml | 27 +++++++++++-------- 3 files changed, 23 insertions(+), 33 deletions(-) diff --git a/MultiTerm.Core/ViewModel/ShellViewModel.cs b/MultiTerm.Core/ViewModel/ShellViewModel.cs index 43f644e..410e90b 100644 --- a/MultiTerm.Core/ViewModel/ShellViewModel.cs +++ b/MultiTerm.Core/ViewModel/ShellViewModel.cs @@ -20,18 +20,13 @@ public partial class ShellViewModel : ObservableObject private ITerminalViewModel? selectedTerminalViewModel; #region Settings Menu Bar - public IEnumerable NewlineSeparatorTypeValues - { - get { return Enum.GetValues(typeof(NewlineSeparatorType)).Cast(); } - } - // TODO Initialize from File [ObservableProperty] - private NewlineSeparatorType selectedReceiveNewlineSeparator = NewlineSeparatorType.None; + private NewlineSeparatorType defaultReceiveNewlineSeparator = NewlineSeparatorType.None; // TODO Initialize from File [ObservableProperty] - private NewlineSeparatorType selectedSendNewlineSeparator = NewlineSeparatorType.None; + private NewlineSeparatorType defaultSendNewlineSeparator = NewlineSeparatorType.None; #endregion public ShellViewModel(IAbstractFactory sendReceiveViewModelFactory) @@ -53,12 +48,12 @@ public partial class ShellViewModel : ObservableObject this.SelectedTerminalViewModel = newTerminal; } - partial void OnSelectedReceiveNewlineSeparatorChanged(NewlineSeparatorType value) + partial void OnDefaultReceiveNewlineSeparatorChanged(NewlineSeparatorType value) { Console.WriteLine($"Changed to {value}"); } - partial void OnSelectedSendNewlineSeparatorChanging(NewlineSeparatorType value) + partial void OnDefaultSendNewlineSeparatorChanged(NewlineSeparatorType value) { Console.WriteLine($"Changed Send to {value}"); } @@ -66,7 +61,7 @@ public partial class ShellViewModel : ObservableObject [RelayCommand] public void TestButtonClicked() { - this.SelectedReceiveNewlineSeparator = NewlineSeparatorType.CR_LF; + this.DefaultReceiveNewlineSeparator = NewlineSeparatorType.CR_LF; } } diff --git a/MultiTerm.Wpf/Controls/SingleSelectSubMenu.cs b/MultiTerm.Wpf/Controls/SingleSelectSubMenu.cs index 67a737e..f9f82f4 100644 --- a/MultiTerm.Wpf/Controls/SingleSelectSubMenu.cs +++ b/MultiTerm.Wpf/Controls/SingleSelectSubMenu.cs @@ -92,16 +92,15 @@ public class SingleSelectSubMenu : MenuItem /// /// Title Changed Handler. - /// Hides SingleSelectSubMenu main entry in ItemsCollection (Visibility Collapsed). - /// Sets the header of the SingleSelectSubMenu instance to the Title, which helps to identify sssm while debugging. + /// Disables SingleSelectSubMenu and sets header to title. /// private static void OnTitleChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { // extract instance and guard null if (d is not SingleSelectSubMenu sssm) { return; } - sssm.Visibility = Visibility.Collapsed; sssm.Header = sssm.Title; + sssm.IsEnabled = false; } /// @@ -117,15 +116,6 @@ public class SingleSelectSubMenu : MenuItem // extract parent instance of SSSM and guard null if (sssm.Parent is not MenuItem parent) { return; } - // IMRPOVEMENT Delete currently associated values (using e.OldValue) from RegisteredSubItemsAndParent - // create and add title menu item - var titleMenuItem = new MenuItem - { - IsEnabled = false, - Header = sssm.Title - }; - parent.Items.Add(titleMenuItem); - // iterate through new OptionsSource Values and build up list of menuItems foreach (var item in (IEnumerable)e.NewValue) { diff --git a/MultiTerm.Wpf/View/ShellView.xaml b/MultiTerm.Wpf/View/ShellView.xaml index a3c96f5..d9b06c7 100644 --- a/MultiTerm.Wpf/View/ShellView.xaml +++ b/MultiTerm.Wpf/View/ShellView.xaml @@ -3,7 +3,7 @@ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" - xmlns:sys="clr-namespace:System;assembly=System.Core" + xmlns:sys="clr-namespace:System;assembly=mscorlib" xmlns:conv="clr-namespace:MultiTerm.Wpf.ValueConverters" xmlns:controls="clr-namespace:MultiTerm.Wpf.Controls" xmlns:vm="clr-namespace:MultiTerm.Core.ViewModel;assembly=MultiTerm.Core" @@ -14,6 +14,15 @@ + + + + + + + @@ -36,17 +45,13 @@ - + - +