diff --git a/Elwig/Helpers/ControlUtils.cs b/Elwig/Helpers/ControlUtils.cs index 5593238..39df9d6 100644 --- a/Elwig/Helpers/ControlUtils.cs +++ b/Elwig/Helpers/ControlUtils.cs @@ -212,9 +212,9 @@ namespace Elwig.Helpers { } else if (input is Xceed.Wpf.Toolkit.CheckComboBox ccb) { return ccb.SelectedItems.Cast().ToArray(); } else if (input is CheckBox cb) { - return (cb.IsChecked != null ? (cb.IsChecked == true ? bool.TrueString : bool.FalseString) : null); + return cb.IsChecked?.ToString(); } else if (input is RadioButton rb) { - return (rb.IsChecked != null ? (rb.IsChecked == true ? bool.TrueString : bool.FalseString) : null); + return rb.IsChecked?.ToString(); } else { return null; } diff --git a/Elwig/Windows/AdministrationWindow.cs b/Elwig/Windows/AdministrationWindow.cs index f944366..fae2a48 100644 --- a/Elwig/Windows/AdministrationWindow.cs +++ b/Elwig/Windows/AdministrationWindow.cs @@ -190,13 +190,13 @@ namespace Elwig.Windows { foreach (var ccb in CheckComboBoxInputs) OriginalValues[ccb] = ccb.SelectedItems.Cast().ToArray(); foreach (var cb in CheckBoxInputs) - OriginalValues[cb] = (cb.IsChecked != null ? (cb.IsChecked == true ? bool.TrueString : bool.FalseString) : null); + OriginalValues[cb] = cb.IsChecked?.ToString(); foreach (var rb in RadioButtonInputs) - OriginalValues[rb] = (rb.IsChecked != null ? (rb.IsChecked == true ? bool.TrueString : bool.FalseString) : null); + OriginalValues[rb] = rb.IsChecked?.ToString(); } protected void SetOriginalValue(Control input, object? value) { - OriginalValues[input] = value; + OriginalValues[input] = value is bool b ? b.ToString() : value; if (InputHasChanged(input)) { ControlUtils.SetInputChanged(input); } else { @@ -204,13 +204,17 @@ namespace Elwig.Windows { } } + protected void SetOriginalValue(Control input) { + SetOriginalValue(input, ControlUtils.GetInputValue(input)); + } + protected void UnsetOriginalValue(Control input) { OriginalValues.Remove(input); ControlUtils.ClearInputState(input); } protected void SetDefaultValue(Control input, object? value) { - DefaultValues[input] = value; + DefaultValues[input] = value is bool b ? b.ToString() : value; if (!InputHasChanged(input)) { if (InputIsNotDefault(input)) { ControlUtils.SetInputNotDefault(input); @@ -261,9 +265,9 @@ namespace Elwig.Windows { } else if (input is CheckComboBox ccb) { return !ccb.SelectedItems.Cast().ToArray().SequenceEqual(((object[]?)OriginalValues[ccb]) ?? Array.Empty()); } else if (input is CheckBox cb) { - return (string?)OriginalValues[cb] != (cb.IsChecked != null ? (cb.IsChecked == true ? bool.TrueString : bool.FalseString) : null); + return (string?)OriginalValues[cb] != cb.IsChecked?.ToString(); } else if (input is RadioButton rb) { - return (string?)OriginalValues[rb] != (rb.IsChecked != null ? (rb.IsChecked == true ? bool.TrueString : bool.FalseString) : null); + return (string?)OriginalValues[rb] != rb.IsChecked?.ToString(); } else { return false; } @@ -279,9 +283,9 @@ namespace Elwig.Windows { } else if (input is CheckComboBox ccb) { return !ccb.SelectedItems.Cast().ToArray().SequenceEqual(((object[]?)DefaultValues[ccb]) ?? Array.Empty()); } else if (input is CheckBox cb) { - return (string?)DefaultValues[cb] != (cb.IsChecked != null ? (cb.IsChecked == true ? bool.TrueString : bool.FalseString) : null); + return (string?)DefaultValues[cb] != cb.IsChecked?.ToString(); } else if (input is RadioButton rb) { - return (string?)DefaultValues[rb] != (rb.IsChecked != null ? (rb.IsChecked == true ? bool.TrueString : bool.FalseString) : null); + return (string?)DefaultValues[rb] != rb.IsChecked?.ToString(); } else { return false; } diff --git a/Elwig/Windows/DeliveryAdminWindow.xaml.cs b/Elwig/Windows/DeliveryAdminWindow.xaml.cs index 25a867c..77a0492 100644 --- a/Elwig/Windows/DeliveryAdminWindow.xaml.cs +++ b/Elwig/Windows/DeliveryAdminWindow.xaml.cs @@ -78,10 +78,6 @@ namespace Elwig.Windows { WeighingCButton.Visibility = Visibility.Hidden; WeighingDButton.Visibility = Visibility.Hidden; } - - if (App.Client.IsMatzen) { - SetDefaultValue(GerebeltGewogenInput, true); - } } public DeliveryAdminWindow(int mgnr) : this() {