diff --git a/Elwig/Controls/IntegerUpDown.cs b/Elwig/Controls/IntegerUpDown.cs index dba367a..fd4abd5 100644 --- a/Elwig/Controls/IntegerUpDown.cs +++ b/Elwig/Controls/IntegerUpDown.cs @@ -41,11 +41,19 @@ namespace Elwig.Controls { incButton!.Click += IncrementButton_Click; decButton!.Click += DecrementButton_Click; base.OnApplyTemplate(); + UpdateButtons(); + } + + private void UpdateButtons() { + var incButton = GetTemplateChild("IncrementButton") as RepeatButton; + var decButton = GetTemplateChild("DecrementButton") as RepeatButton; + incButton?.IsEnabled = Maximum != null && Value < Maximum; + decButton?.IsEnabled = Minimum != null && Value > Minimum; } private void IntegerUpDown_TextChanged(object sender, TextChangedEventArgs evt) { var idx = CaretIndex; - Text = new string(Text.Where(char.IsAsciiDigit).Take(4).ToArray()); + Text = new string([.. Text.Where(char.IsAsciiDigit).Take(4)]); CaretIndex = idx; evt.Handled = !(Value >= Minimum && Value <= Maximum); if (idx >= 4) { @@ -56,6 +64,7 @@ namespace Elwig.Controls { } CaretIndex = 4; } + UpdateButtons(); } private void IntegerUpDown_LostFocus(object sender, RoutedEventArgs evt) { diff --git a/Elwig/Dialogs/AreaComModifyDialog.xaml.cs b/Elwig/Dialogs/AreaComModifyDialog.xaml.cs index 0c2da99..ee064aa 100644 --- a/Elwig/Dialogs/AreaComModifyDialog.xaml.cs +++ b/Elwig/Dialogs/AreaComModifyDialog.xaml.cs @@ -12,23 +12,25 @@ namespace Elwig.Dialogs { public string OrigYearTo { get; set; } public string Area { get; set; } - public AreaComModifyDialog(int? yearFrom, int? yearTo, int area, bool delete) { + public AreaComModifyDialog(int? yearFrom, int? yearTo, int area, bool delete, bool forceRetroactive = false) { Area = $"{area:N0}"; OrigYearFrom = $"{yearFrom}"; OrigYearTo = $"{yearTo}"; InitializeComponent(); Title = delete ? "Flächenbindung löschen" : "Flächenbindung bearbeiten"; RetroactiveInput.Content = delete ? "Rückwirkend löschen" : "Rückwirkend bearbeiten"; + RetroactiveInput.IsEnabled = !forceRetroactive; if (delete) { QuestionBlock1.Visibility = Visibility.Hidden; QuestionBlock2.Visibility = Visibility.Visible; DescBlock1.Visibility = Visibility.Hidden; DescBlock2.Visibility = Visibility.Visible; } - if ((yearTo.HasValue && yearTo < Utils.CurrentNextSeason) || (yearFrom.HasValue && yearFrom >= Utils.CurrentNextSeason)) { + SeasonInput.Minimum = yearFrom + 1; + if (forceRetroactive || (yearTo.HasValue && yearTo < Utils.CurrentYear) || (yearFrom.HasValue && yearFrom >= Utils.CurrentYear)) { RetroactiveInput.IsChecked = true; } else { - SeasonInput.Text = $"{Utils.CurrentNextSeason}"; + SeasonInput.Text = $"{Utils.CurrentYear}"; } } @@ -48,7 +50,7 @@ namespace Elwig.Dialogs { DescBlock2.Visibility = Visibility.Hidden; } else { SeasonInput.IsEnabled = true; - SeasonInput.Text = $"{Utils.CurrentNextSeason}"; + SeasonInput.Text = $"{Utils.CurrentYear}"; DescBlock1.Visibility = QuestionBlock1.Visibility; DescBlock2.Visibility = QuestionBlock2.Visibility; } diff --git a/Elwig/Dialogs/AreaComTransferDialog.xaml b/Elwig/Dialogs/AreaComTransferDialog.xaml index fcec9d1..51f4f6e 100644 --- a/Elwig/Dialogs/AreaComTransferDialog.xaml +++ b/Elwig/Dialogs/AreaComTransferDialog.xaml @@ -8,7 +8,7 @@ ResizeMode="NoResize" ShowInTaskbar="False" Topmost="True" WindowStartupLocation="CenterOwner" DataContext="{Binding RelativeSource={RelativeSource Self}}" - Title="Flächenbindungen übertragen" Height="260" Width="450"> + Title="Flächenbindungen übertragen" Height="240" Width="450"> - + - - - + + @@ -177,91 +177,119 @@ - - + + - + - + -