[#31] AdministrationWindow: Add shortcuts
This commit is contained in:
@ -11,6 +11,7 @@ using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Threading;
|
||||
using Xceed.Wpf.Toolkit;
|
||||
using System.Windows.Input;
|
||||
|
||||
namespace Elwig.Windows {
|
||||
public abstract class AdministrationWindow : ContextWindow {
|
||||
@ -48,7 +49,18 @@ namespace Elwig.Windows {
|
||||
private readonly Dictionary<Control, int?> OriginalValues;
|
||||
private readonly Dictionary<Control, int?> DefaultValues;
|
||||
|
||||
private readonly RoutedCommand AltInsert = new("AltInsert", typeof(AdministrationWindow), [new KeyGesture(Key.Insert, ModifierKeys.Alt)]);
|
||||
private readonly RoutedCommand AltDelete = new("AltDelete", typeof(AdministrationWindow), [new KeyGesture(Key.Delete, ModifierKeys.Alt)]);
|
||||
private readonly RoutedCommand CtrlZ = new("CtrlZ", typeof(AdministrationWindow), [new KeyGesture(Key.Z, ModifierKeys.Control)]);
|
||||
private readonly RoutedCommand CtrlS = new("CtrlS", typeof(AdministrationWindow), [new KeyGesture(Key.S, ModifierKeys.Control)]);
|
||||
private readonly RoutedCommand CtrlB = new("CtrlB", typeof(AdministrationWindow), [new KeyGesture(Key.B, ModifierKeys.Control)]);
|
||||
|
||||
public AdministrationWindow() : base() {
|
||||
CommandBindings.Add(new CommandBinding(AltInsert, ShortcutNew));
|
||||
CommandBindings.Add(new CommandBinding(AltDelete, ShortcutDelete));
|
||||
CommandBindings.Add(new CommandBinding(CtrlZ, ShortcutReset));
|
||||
CommandBindings.Add(new CommandBinding(CtrlS, ShortcutSave));
|
||||
CommandBindings.Add(new CommandBinding(CtrlB, ShortcutEdit));
|
||||
IsEditing = false;
|
||||
IsCreating = false;
|
||||
ExemptInputs = [];
|
||||
@ -69,6 +81,18 @@ namespace Elwig.Windows {
|
||||
Loaded += base.OnLoaded;
|
||||
}
|
||||
|
||||
abstract protected void ShortcutNew();
|
||||
abstract protected void ShortcutDelete();
|
||||
abstract protected void ShortcutReset();
|
||||
abstract protected void ShortcutSave();
|
||||
abstract protected void ShortcutEdit();
|
||||
|
||||
private void ShortcutNew(object sender, EventArgs evt) { ShortcutNew(); }
|
||||
private void ShortcutDelete(object sender, EventArgs evt) { ShortcutDelete(); }
|
||||
private void ShortcutReset(object sender, EventArgs evt) { ShortcutReset(); }
|
||||
private void ShortcutSave(object sender, EventArgs evt) { ShortcutSave(); }
|
||||
private void ShortcutEdit(object sender, EventArgs evt) { ShortcutEdit(); }
|
||||
|
||||
private new void OnLoaded(object sender, RoutedEventArgs evt) {
|
||||
TextBoxInputs = ControlUtils.FindAllChildren<TextBox>(this, ExemptInputs).ToArray();
|
||||
ComboBoxInputs = ControlUtils.FindAllChildren<ComboBox>(this, ExemptInputs).ToArray();
|
||||
|
@ -95,18 +95,42 @@
|
||||
</DataGrid>
|
||||
|
||||
<Button x:Name="NewAreaCommitmentButton" Content="Neu" Click="NewAreaCommitmentButton_Click"
|
||||
HorizontalAlignment="Stretch" VerticalAlignment="Bottom" Margin="5,5,2.5,10" Grid.Column="0" Grid.Row="2"/>
|
||||
HorizontalAlignment="Stretch" VerticalAlignment="Bottom" Margin="5,5,2.5,10" Grid.Column="0" Grid.Row="2">
|
||||
<Button.ToolTip>
|
||||
<TextBlock FontWeight="Bold">Alt+Einfg</TextBlock>
|
||||
</Button.ToolTip>
|
||||
</Button>
|
||||
<Button x:Name="EditAreaCommitmentButton" Content="Bearbeiten" Click="EditAreaCommitmentButton_Click" IsEnabled="False"
|
||||
HorizontalAlignment="Stretch" VerticalAlignment="Bottom" Margin="2.5,5,2.5,10" Grid.Column="1" Grid.Row="2"/>
|
||||
HorizontalAlignment="Stretch" VerticalAlignment="Bottom" Margin="2.5,5,2.5,10" Grid.Column="1" Grid.Row="2">
|
||||
<Button.ToolTip>
|
||||
<TextBlock FontWeight="Bold">Strg+B</TextBlock>
|
||||
</Button.ToolTip>
|
||||
</Button>
|
||||
<Button x:Name="DeleteAreaCommitmentButton" Content="Löschen" Click="DeleteAreaCommitmentButton_Click" IsEnabled="False"
|
||||
HorizontalAlignment="Stretch" VerticalAlignment="Bottom" Margin="2.5,5,5,10" Grid.Column="2" Grid.Row="2"/>
|
||||
HorizontalAlignment="Stretch" VerticalAlignment="Bottom" Margin="2.5,5,5,10" Grid.Column="2" Grid.Row="2">
|
||||
<Button.ToolTip>
|
||||
<TextBlock FontWeight="Bold">Alt+Entf</TextBlock>
|
||||
</Button.ToolTip>
|
||||
</Button>
|
||||
|
||||
<Button x:Name="AreaCommitmentSaveButton" Content="Speichern" Click="AreaCommitmentSaveButton_Click" IsEnabled="False" Visibility="Hidden"
|
||||
HorizontalAlignment="Stretch" VerticalAlignment="Bottom" Margin="5,5,2.5,10" Grid.Column="0" Grid.Row="2"/>
|
||||
HorizontalAlignment="Stretch" VerticalAlignment="Bottom" Margin="5,5,2.5,10" Grid.Column="0" Grid.Row="2">
|
||||
<Button.ToolTip>
|
||||
<TextBlock FontWeight="Bold">Strg+S</TextBlock>
|
||||
</Button.ToolTip>
|
||||
</Button>
|
||||
<Button x:Name="AreaCommitmentResetButton" Content="Zurücksetzen" Click="AreaCommitmentResetButton_Click" IsEnabled="False" Visibility="Hidden"
|
||||
HorizontalAlignment="Stretch" VerticalAlignment="Bottom" Margin="2.5,5,2.5,10" Grid.Column="1" Grid.Row="2"/>
|
||||
HorizontalAlignment="Stretch" VerticalAlignment="Bottom" Margin="2.5,5,2.5,10" Grid.Column="1" Grid.Row="2">
|
||||
<Button.ToolTip>
|
||||
<TextBlock FontWeight="Bold">Strg+Z</TextBlock>
|
||||
</Button.ToolTip>
|
||||
</Button>
|
||||
<Button x:Name="AreaCommitmentCancelButton" Content="Abbrechen" Click="AreaCommitmentCancelButton_Click" IsEnabled="False" Visibility="Hidden" IsCancel="True"
|
||||
HorizontalAlignment="Stretch" VerticalAlignment="Bottom" Margin="2.5,5,5,10" Grid.Column="2" Grid.Row="2"/>
|
||||
HorizontalAlignment="Stretch" VerticalAlignment="Bottom" Margin="2.5,5,5,10" Grid.Column="2" Grid.Row="2">
|
||||
<Button.ToolTip>
|
||||
<TextBlock FontWeight="Bold">Esc</TextBlock>
|
||||
</Button.ToolTip>
|
||||
</Button>
|
||||
</Grid>
|
||||
|
||||
<GridSplitter Grid.Column="1" Grid.Row="0" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"/>
|
||||
|
@ -209,7 +209,13 @@ namespace Elwig.Windows {
|
||||
await RefreshAreaCommitmentList();
|
||||
}
|
||||
|
||||
private void NewAreaCommitmentButton_Click(object sender, RoutedEventArgs evt) {
|
||||
protected override void ShortcutNew() {
|
||||
if (!NewAreaCommitmentButton.IsEnabled || NewAreaCommitmentButton.Visibility != Visibility.Visible)
|
||||
return;
|
||||
NewAreaCommitmentButton_Click(null, null);
|
||||
}
|
||||
|
||||
private void NewAreaCommitmentButton_Click(object? sender, RoutedEventArgs? evt) {
|
||||
IsCreating = true;
|
||||
AreaCommitmentList.IsEnabled = false;
|
||||
AreaCommitmentList.SelectedItem = null;
|
||||
@ -220,7 +226,14 @@ namespace Elwig.Windows {
|
||||
LockSearchInputs();
|
||||
}
|
||||
|
||||
private void EditAreaCommitmentButton_Click(object sender, RoutedEventArgs evt) {
|
||||
|
||||
protected override void ShortcutEdit() {
|
||||
if (!EditAreaCommitmentButton.IsEnabled || EditAreaCommitmentButton.Visibility != Visibility.Visible)
|
||||
return;
|
||||
EditAreaCommitmentButton_Click(null, null);
|
||||
}
|
||||
|
||||
private void EditAreaCommitmentButton_Click(object? sender, RoutedEventArgs? evt) {
|
||||
if (AreaCommitmentList.SelectedItem == null)
|
||||
return;
|
||||
|
||||
@ -233,14 +246,20 @@ namespace Elwig.Windows {
|
||||
LockSearchInputs();
|
||||
}
|
||||
|
||||
private async void DeleteAreaCommitmentButton_Click(object sender, RoutedEventArgs evt) {
|
||||
protected override void ShortcutDelete() {
|
||||
if (!DeleteAreaCommitmentButton.IsEnabled || DeleteAreaCommitmentButton.Visibility != Visibility.Visible)
|
||||
return;
|
||||
DeleteAreaCommitmentButton_Click(null, null);
|
||||
}
|
||||
|
||||
private async void DeleteAreaCommitmentButton_Click(object? sender, RoutedEventArgs? evt) {
|
||||
AreaCom a = (AreaCom)AreaCommitmentList.SelectedItem;
|
||||
if (a == null) return;
|
||||
|
||||
var r = MessageBox.Show(
|
||||
$"Soll die Flächenbindung {a.GstNr} ({a.Area} m²) wirklich unwiderruflich gelöscht werden?",
|
||||
"Flächenbindung löschen", MessageBoxButton.YesNo, MessageBoxImage.Warning, MessageBoxResult.No);
|
||||
if (r == MessageBoxResult.Yes) {
|
||||
"Flächenbindung löschen", MessageBoxButton.OKCancel, MessageBoxImage.Warning, MessageBoxResult.Cancel);
|
||||
if (r == MessageBoxResult.OK) {
|
||||
using var ctx = new AppDbContext();
|
||||
ctx.Remove(a);
|
||||
await ctx.SaveChangesAsync();
|
||||
@ -291,7 +310,13 @@ namespace Elwig.Windows {
|
||||
return newFbNr;
|
||||
}
|
||||
|
||||
private async void AreaCommitmentSaveButton_Click(object sender, RoutedEventArgs evt) {
|
||||
protected override void ShortcutSave() {
|
||||
if (!AreaCommitmentSaveButton.IsEnabled || AreaCommitmentSaveButton.Visibility != Visibility.Visible)
|
||||
return;
|
||||
AreaCommitmentSaveButton_Click(null, null);
|
||||
}
|
||||
|
||||
private async void AreaCommitmentSaveButton_Click(object? sender, RoutedEventArgs? evt) {
|
||||
int? fbnr = null;
|
||||
try {
|
||||
fbnr = await UpdateAreaCom((AreaCommitmentList.SelectedItem as AreaCom)?.FbNr);
|
||||
@ -314,7 +339,13 @@ namespace Elwig.Windows {
|
||||
ControlUtils.SelectItem(AreaCommitmentList, AreaCommitmentList.ItemsSource.Cast<AreaCom>().Where(a => a.FbNr == fbnr).FirstOrDefault());
|
||||
}
|
||||
|
||||
private void AreaCommitmentResetButton_Click(object sender, RoutedEventArgs evt) {
|
||||
protected override void ShortcutReset() {
|
||||
if (!AreaCommitmentResetButton.IsEnabled || AreaCommitmentResetButton.Visibility != Visibility.Visible)
|
||||
return;
|
||||
AreaCommitmentResetButton_Click(null, null);
|
||||
}
|
||||
|
||||
private void AreaCommitmentResetButton_Click(object? sender, RoutedEventArgs? evt) {
|
||||
if (IsEditing) {
|
||||
RefreshInputs();
|
||||
} else if (IsCreating) {
|
||||
|
@ -559,15 +559,31 @@
|
||||
|
||||
<Button x:Name="EditButton" Content="Bearbeiten"
|
||||
HorizontalAlignment="Center" VerticalAlignment="Bottom" Margin="0,0,0,10" Width="120"
|
||||
Click="EditButton_Click"/>
|
||||
Click="EditButton_Click">
|
||||
<Button.ToolTip>
|
||||
<TextBlock FontWeight="Bold">Strg+B</TextBlock>
|
||||
</Button.ToolTip>
|
||||
</Button>
|
||||
<Button x:Name="SaveButton" Content="Speichern" IsEnabled="False"
|
||||
HorizontalAlignment="Center" VerticalAlignment="Bottom" Margin="0,0,250,10" Width="120"
|
||||
Click="SaveButton_Click"/>
|
||||
Click="SaveButton_Click">
|
||||
<Button.ToolTip>
|
||||
<TextBlock FontWeight="Bold">Strg+S</TextBlock>
|
||||
</Button.ToolTip>
|
||||
</Button>
|
||||
<Button x:Name="ResetButton" Content="Zurücksetzen" IsEnabled="False" Visibility="Hidden"
|
||||
HorizontalAlignment="Center" VerticalAlignment="Bottom" Margin="0,0,0,10" Width="120"
|
||||
Click="ResetButton_Click"/>
|
||||
Click="ResetButton_Click">
|
||||
<Button.ToolTip>
|
||||
<TextBlock FontWeight="Bold">Strg+Z</TextBlock>
|
||||
</Button.ToolTip>
|
||||
</Button>
|
||||
<Button x:Name="CancelButton" Content="Abbrechen" IsEnabled="False" IsCancel="True"
|
||||
HorizontalAlignment="Center" VerticalAlignment="Bottom" Margin="250,0,0,10" Width="120"
|
||||
Click="CancelButton_Click"/>
|
||||
Click="CancelButton_Click">
|
||||
<Button.ToolTip>
|
||||
<TextBlock FontWeight="Bold">Esc</TextBlock>
|
||||
</Button.ToolTip>
|
||||
</Button>
|
||||
</Grid>
|
||||
</local:AdministrationWindow>
|
||||
|
@ -37,6 +37,10 @@ namespace Elwig.Windows {
|
||||
WineAttributeFillLowerLabel.Visibility = Visibility.Hidden;
|
||||
}
|
||||
|
||||
protected override void ShortcutNew() { }
|
||||
|
||||
protected override void ShortcutDelete() { }
|
||||
|
||||
new protected void LockInputs() {
|
||||
base.LockInputs();
|
||||
|
||||
@ -228,7 +232,14 @@ namespace Elwig.Windows {
|
||||
await ModifiersFinishEditing(ctx);
|
||||
}
|
||||
|
||||
private async void EditButton_Click(object sender, RoutedEventArgs evt) {
|
||||
|
||||
protected override void ShortcutEdit() {
|
||||
if (!EditButton.IsEnabled || EditButton.Visibility != Visibility.Visible)
|
||||
return;
|
||||
EditButton_Click(null, null);
|
||||
}
|
||||
|
||||
private async void EditButton_Click(object? sender, RoutedEventArgs? evt) {
|
||||
IsEditing = true;
|
||||
EditButton.Visibility = Visibility.Hidden;
|
||||
ResetButton.Visibility = Visibility.Visible;
|
||||
@ -255,7 +266,13 @@ namespace Elwig.Windows {
|
||||
LockInputs();
|
||||
}
|
||||
|
||||
private async void ResetButton_Click(object sender, RoutedEventArgs evt) {
|
||||
protected override void ShortcutReset() {
|
||||
if (!ResetButton.IsEnabled || ResetButton.Visibility != Visibility.Visible)
|
||||
return;
|
||||
ResetButton_Click(null, null);
|
||||
}
|
||||
|
||||
private async void ResetButton_Click(object? sender, RoutedEventArgs? evt) {
|
||||
_branchChanged = false;
|
||||
_attrChanged = false;
|
||||
_cultChanged = false;
|
||||
@ -268,7 +285,13 @@ namespace Elwig.Windows {
|
||||
UpdateButtons();
|
||||
}
|
||||
|
||||
private async void SaveButton_Click(object sender, RoutedEventArgs evt) {
|
||||
protected override void ShortcutSave() {
|
||||
if (!SaveButton.IsEnabled || SaveButton.Visibility != Visibility.Visible)
|
||||
return;
|
||||
SaveButton_Click(null, null);
|
||||
}
|
||||
|
||||
private async void SaveButton_Click(object? sender, RoutedEventArgs? evt) {
|
||||
try {
|
||||
await Save();
|
||||
} catch (Exception exc) {
|
||||
|
@ -183,33 +183,61 @@
|
||||
ToolTip="Neue Teillieferung auf selben Lieferschein hinzufügen"
|
||||
HorizontalAlignment="Stretch" VerticalAlignment="Bottom" Margin="2.5,5,2.5,10" Grid.Column="1" Grid.Row="2"
|
||||
Click="NewDeliveryPartButton_Click"/>
|
||||
<Button x:Name="CancelCreatingButton" Content="Abbrechen" IsEnabled="False" Visibility="Hidden"
|
||||
<Button x:Name="CancelCreatingButton" Content="Abbrechen" IsEnabled="False" Visibility="Hidden"
|
||||
HorizontalAlignment="Stretch" VerticalAlignment="Bottom" Margin="2.5,5,5,10" Grid.Column="2" Grid.Row="2"
|
||||
Click="CancelCreatingButton_Click"/>
|
||||
Click="CancelCreatingButton_Click">
|
||||
<Button.ToolTip>
|
||||
<TextBlock FontWeight="Bold">Esc</TextBlock>
|
||||
</Button.ToolTip>
|
||||
</Button>
|
||||
|
||||
<Button x:Name="NewDeliveryButton" Content="Neu" IsEnabled="False" Visibility="Hidden"
|
||||
HorizontalAlignment="Stretch" VerticalAlignment="Bottom" Margin="5,5,2.5,10" Grid.Column="0" Grid.Row="2"
|
||||
Click="NewDeliveryButton_Click"/>
|
||||
Click="NewDeliveryButton_Click">
|
||||
<Button.ToolTip>
|
||||
<TextBlock FontWeight="Bold">Alt+Einfg</TextBlock>
|
||||
</Button.ToolTip>
|
||||
</Button>
|
||||
<Button x:Name="AbwertenButton" Content="Abwerten" IsEnabled="False"
|
||||
ToolTip="Ausgewählte Teillieferung vollständig oder teilweise abwerten"
|
||||
HorizontalAlignment="Stretch" VerticalAlignment="Bottom" Margin="5,5,2.5,10" Grid.Column="0" Grid.Row="2"
|
||||
Click="AbwertenButton_Click"/>
|
||||
<Button x:Name="EditDeliveryButton" Content="Bearbeiten" IsEnabled="False"
|
||||
HorizontalAlignment="Stretch" VerticalAlignment="Bottom" Margin="2.5,5,2.5,10" Grid.Column="1" Grid.Row="2"
|
||||
Click="EditDeliveryButton_Click"/>
|
||||
Click="EditDeliveryButton_Click">
|
||||
<Button.ToolTip>
|
||||
<TextBlock FontWeight="Bold">Strg+B</TextBlock>
|
||||
</Button.ToolTip>
|
||||
</Button>
|
||||
<Button x:Name="DeleteDeliveryButton" Content="Löschen" IsEnabled="False"
|
||||
HorizontalAlignment="Stretch" VerticalAlignment="Bottom" Margin="2.5,5,5,10" Grid.Column="2" Grid.Row="2"
|
||||
Click="DeleteDeliveryButton_Click"/>
|
||||
Click="DeleteDeliveryButton_Click">
|
||||
<Button.ToolTip>
|
||||
<TextBlock FontWeight="Bold">Alt+Entf</TextBlock>
|
||||
</Button.ToolTip>
|
||||
</Button>
|
||||
|
||||
<Button x:Name="SaveButton" Content="Speichern" IsEnabled="False" Visibility="Hidden"
|
||||
HorizontalAlignment="Stretch" VerticalAlignment="Bottom" Margin="5,5,2.5,10" Grid.Column="0" Grid.Row="2"
|
||||
Click="SaveButton_Click"/>
|
||||
Click="SaveButton_Click">
|
||||
<Button.ToolTip>
|
||||
<TextBlock FontWeight="Bold">Strg+S</TextBlock>
|
||||
</Button.ToolTip>
|
||||
</Button>
|
||||
<Button x:Name="ResetButton" Content="Zurücksetzen" IsEnabled="False" Visibility="Hidden"
|
||||
HorizontalAlignment="Stretch" VerticalAlignment="Bottom" Margin="2.5,5,2.5,10" Grid.Column="1" Grid.Row="2"
|
||||
Click="ResetButton_Click"/>
|
||||
Click="ResetButton_Click">
|
||||
<Button.ToolTip>
|
||||
<TextBlock FontWeight="Bold">Strg+Z</TextBlock>
|
||||
</Button.ToolTip>
|
||||
</Button>
|
||||
<Button x:Name="CancelButton" Content="Abbrechen" IsEnabled="False" Visibility="Hidden" IsCancel="True"
|
||||
HorizontalAlignment="Stretch" VerticalAlignment="Bottom" Margin="2.5,5,5,10" Grid.Column="2" Grid.Row="2"
|
||||
Click="CancelButton_Click"/>
|
||||
Click="CancelButton_Click">
|
||||
<Button.ToolTip>
|
||||
<TextBlock FontWeight="Bold">Esc</TextBlock>
|
||||
</Button.ToolTip>
|
||||
</Button>
|
||||
</Grid>
|
||||
|
||||
<GridSplitter Grid.Column="1" Grid.Row="1" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"/>
|
||||
|
@ -1276,6 +1276,12 @@ namespace Elwig.Windows {
|
||||
}
|
||||
}
|
||||
|
||||
protected override void ShortcutNew() {
|
||||
if (!NewDeliveryButton.IsEnabled || NewDeliveryButton.Visibility != Visibility.Visible)
|
||||
return;
|
||||
NewDeliveryButton_Click(null, null);
|
||||
}
|
||||
|
||||
private async void NewDeliveryButton_Click(object? sender, RoutedEventArgs? evt) {
|
||||
TodayOnlyInput.IsChecked = true;
|
||||
SearchInput.Text = "";
|
||||
@ -1357,7 +1363,13 @@ namespace Elwig.Windows {
|
||||
WeighingId = null;
|
||||
}
|
||||
|
||||
private void EditDeliveryButton_Click(object sender, RoutedEventArgs evt) {
|
||||
protected override void ShortcutEdit() {
|
||||
if (!EditDeliveryButton.IsEnabled || EditDeliveryButton.Visibility != Visibility.Visible)
|
||||
return;
|
||||
EditDeliveryButton_Click(null, null);
|
||||
}
|
||||
|
||||
private void EditDeliveryButton_Click(object? sender, RoutedEventArgs? evt) {
|
||||
if (DeliveryPartList.SelectedItem == null)
|
||||
return;
|
||||
|
||||
@ -1375,14 +1387,20 @@ namespace Elwig.Windows {
|
||||
DeleteDeliveryPartButton.IsEnabled = false;
|
||||
}
|
||||
|
||||
private async void DeleteDeliveryButton_Click(object sender, RoutedEventArgs evt) {
|
||||
protected override void ShortcutDelete() {
|
||||
if (!DeleteDeliveryButton.IsEnabled || DeleteDeliveryButton.Visibility != Visibility.Visible)
|
||||
return;
|
||||
DeleteDeliveryButton_Click(null, null);
|
||||
}
|
||||
|
||||
private async void DeleteDeliveryButton_Click(object? sender, RoutedEventArgs? evt) {
|
||||
if (DeliveryList.SelectedItem is not Delivery d)
|
||||
return;
|
||||
|
||||
var r = MessageBox.Show(
|
||||
$"Soll die Lieferung {d.LsNr} ({d.Member.AdministrativeName}, MgNr. {d.Member.MgNr}) wirklich unwiderruflich gelöscht werden?",
|
||||
"Lieferung löschen", MessageBoxButton.YesNo, MessageBoxImage.Warning, MessageBoxResult.No);
|
||||
if (r == MessageBoxResult.Yes) {
|
||||
"Lieferung löschen", MessageBoxButton.OKCancel, MessageBoxImage.Warning, MessageBoxResult.Cancel);
|
||||
if (r == MessageBoxResult.OK) {
|
||||
Mouse.OverrideCursor = Cursors.AppStarting;
|
||||
using (var ctx = new AppDbContext()) {
|
||||
ctx.Remove(d);
|
||||
@ -1394,7 +1412,13 @@ namespace Elwig.Windows {
|
||||
}
|
||||
}
|
||||
|
||||
private async void SaveButton_Click(object sender, RoutedEventArgs evt) {
|
||||
protected override void ShortcutSave() {
|
||||
if (!SaveButton.IsEnabled || SaveButton.Visibility != Visibility.Visible)
|
||||
return;
|
||||
SaveButton_Click(null, null);
|
||||
}
|
||||
|
||||
private async void SaveButton_Click(object? sender, RoutedEventArgs? evt) {
|
||||
SaveButton.IsEnabled = false;
|
||||
SaveButton.Cursor = Cursors.Wait;
|
||||
|
||||
@ -1425,7 +1449,13 @@ namespace Elwig.Windows {
|
||||
DeleteDeliveryPartButton.IsEnabled = DeliveryList.SelectedItem is Delivery { Parts.Count: > 1 } && !IsCreating;
|
||||
}
|
||||
|
||||
private void ResetButton_Click(object sender, RoutedEventArgs evt) {
|
||||
protected override void ShortcutReset() {
|
||||
if (!ResetButton.IsEnabled || ResetButton.Visibility != Visibility.Visible)
|
||||
return;
|
||||
ResetButton_Click(null, null);
|
||||
}
|
||||
|
||||
private void ResetButton_Click(object? sender, RoutedEventArgs? evt) {
|
||||
if (IsEditing) {
|
||||
RefreshInputs();
|
||||
} else if (IsCreating) {
|
||||
@ -1522,8 +1552,8 @@ namespace Elwig.Windows {
|
||||
|
||||
var r = MessageBox.Show(
|
||||
$"Soll die Teillieferung Nr. {p.DPNr} wirklich unwiderruflich gelöscht werden?",
|
||||
"Lieferung löschen", MessageBoxButton.YesNo, MessageBoxImage.Warning, MessageBoxResult.No);
|
||||
if (r == MessageBoxResult.Yes) {
|
||||
"Lieferung löschen", MessageBoxButton.OKCancel, MessageBoxImage.Warning, MessageBoxResult.Cancel);
|
||||
if (r == MessageBoxResult.OK) {
|
||||
Mouse.OverrideCursor = Cursors.AppStarting;
|
||||
using (var ctx = new AppDbContext()) {
|
||||
ctx.Remove(p);
|
||||
|
@ -164,23 +164,47 @@
|
||||
|
||||
<Button x:Name="NewMemberButton" Content="Neu"
|
||||
HorizontalAlignment="Stretch" VerticalAlignment="Bottom" Margin="5,5,2.5,10" Grid.Column="0" Grid.Row="2"
|
||||
Click="NewMemberButton_Click"/>
|
||||
Click="NewMemberButton_Click">
|
||||
<Button.ToolTip>
|
||||
<TextBlock FontWeight="Bold">Alt+Einfg</TextBlock>
|
||||
</Button.ToolTip>
|
||||
</Button>
|
||||
<Button x:Name="EditMemberButton" Content="Bearbeiten" IsEnabled="False"
|
||||
HorizontalAlignment="Stretch" VerticalAlignment="Bottom" Margin="2.5,5,2.5,10" Grid.Column="1" Grid.Row="2"
|
||||
Click="EditMemberButton_Click"/>
|
||||
Click="EditMemberButton_Click">
|
||||
<Button.ToolTip>
|
||||
<TextBlock FontWeight="Bold">Strg+B</TextBlock>
|
||||
</Button.ToolTip>
|
||||
</Button>
|
||||
<Button x:Name="DeleteMemberButton" Content="Löschen" IsEnabled="False"
|
||||
HorizontalAlignment="Stretch" VerticalAlignment="Bottom" Margin="2.5,5,5,10" Grid.Column="2" Grid.Row="2"
|
||||
Click="DeleteMemberButton_Click"/>
|
||||
Click="DeleteMemberButton_Click">
|
||||
<Button.ToolTip>
|
||||
<TextBlock FontWeight="Bold">Alt+Entf</TextBlock>
|
||||
</Button.ToolTip>
|
||||
</Button>
|
||||
|
||||
<Button x:Name="SaveButton" Content="Speichern" IsEnabled="False" Visibility="Hidden"
|
||||
HorizontalAlignment="Stretch" VerticalAlignment="Bottom" Margin="5,5,2.5,10" Grid.Column="0" Grid.Row="2"
|
||||
Click="SaveButton_Click"/>
|
||||
Click="SaveButton_Click">
|
||||
<Button.ToolTip>
|
||||
<TextBlock FontWeight="Bold">Strg+S</TextBlock>
|
||||
</Button.ToolTip>
|
||||
</Button>
|
||||
<Button x:Name="ResetButton" Content="Zurücksetzen" IsEnabled="False" Visibility="Hidden"
|
||||
HorizontalAlignment="Stretch" VerticalAlignment="Bottom" Margin="2.5,5,2.5,10" Grid.Column="1" Grid.Row="2"
|
||||
Click="ResetButton_Click"/>
|
||||
Click="ResetButton_Click">
|
||||
<Button.ToolTip>
|
||||
<TextBlock FontWeight="Bold">Strg+Z</TextBlock>
|
||||
</Button.ToolTip>
|
||||
</Button>
|
||||
<Button x:Name="CancelButton" Content="Abbrechen" IsEnabled="False" Visibility="Hidden" IsCancel="True"
|
||||
HorizontalAlignment="Stretch" VerticalAlignment="Bottom" Margin="2.5,5,5,10" Grid.Column="2" Grid.Row="2"
|
||||
Click="CancelButton_Click"/>
|
||||
Click="CancelButton_Click">
|
||||
<Button.ToolTip>
|
||||
<TextBlock FontWeight="Bold">Esc</TextBlock>
|
||||
</Button.ToolTip>
|
||||
</Button>
|
||||
</Grid>
|
||||
|
||||
<GridSplitter Grid.Column="1" Grid.Row="1" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"/>
|
||||
|
@ -369,7 +369,13 @@ namespace Elwig.Windows {
|
||||
await RefreshMemberListQuery();
|
||||
}
|
||||
|
||||
private void NewMemberButton_Click(object sender, RoutedEventArgs evt) {
|
||||
protected override void ShortcutNew() {
|
||||
if (!NewMemberButton.IsEnabled || NewMemberButton.Visibility != Visibility.Visible)
|
||||
return;
|
||||
NewMemberButton_Click(null, null);
|
||||
}
|
||||
|
||||
private void NewMemberButton_Click(object? sender, RoutedEventArgs? evt) {
|
||||
IsCreating = true;
|
||||
MemberList.IsEnabled = false;
|
||||
MemberList.SelectedItem = null;
|
||||
@ -383,7 +389,13 @@ namespace Elwig.Windows {
|
||||
LockSearchInputs();
|
||||
}
|
||||
|
||||
private void EditMemberButton_Click(object sender, RoutedEventArgs evt) {
|
||||
protected override void ShortcutEdit() {
|
||||
if (!EditMemberButton.IsEnabled || EditMemberButton.Visibility != Visibility.Visible)
|
||||
return;
|
||||
EditMemberButton_Click(null, null);
|
||||
}
|
||||
|
||||
private void EditMemberButton_Click(object? sender, RoutedEventArgs? evt) {
|
||||
if (MemberList.SelectedItem == null)
|
||||
return;
|
||||
|
||||
@ -399,15 +411,21 @@ namespace Elwig.Windows {
|
||||
LockSearchInputs();
|
||||
}
|
||||
|
||||
private async void DeleteMemberButton_Click(object sender, RoutedEventArgs evt) {
|
||||
protected override void ShortcutDelete() {
|
||||
if (!DeleteMemberButton.IsEnabled || DeleteMemberButton.Visibility != Visibility.Visible)
|
||||
return;
|
||||
DeleteMemberButton_Click(null, null);
|
||||
}
|
||||
|
||||
private async void DeleteMemberButton_Click(object? sender, RoutedEventArgs? evt) {
|
||||
if (MemberList.SelectedItem is not Member m)
|
||||
return;
|
||||
|
||||
var r = MessageBox.Show(
|
||||
$"Soll das Mitglied \"{m.AdministrativeName}\" (MgNr. {m.MgNr}) wirklich unwiderruflich gelöscht werden?\n" +
|
||||
$"Sämtliche Lieferungen und Flächenbindungen dieses Mitglieds werden auch gelöscht!",
|
||||
"Mitglied löschen", MessageBoxButton.YesNo, MessageBoxImage.Warning, MessageBoxResult.No);
|
||||
if (r == MessageBoxResult.Yes) {
|
||||
"Mitglied löschen", MessageBoxButton.OKCancel, MessageBoxImage.Warning, MessageBoxResult.Cancel);
|
||||
if (r == MessageBoxResult.OK) {
|
||||
using var ctx = new AppDbContext();
|
||||
ctx.Remove(m);
|
||||
await ctx.SaveChangesAsync();
|
||||
@ -415,7 +433,13 @@ namespace Elwig.Windows {
|
||||
}
|
||||
}
|
||||
|
||||
private async void SaveButton_Click(object sender, RoutedEventArgs evt) {
|
||||
protected override void ShortcutSave() {
|
||||
if (!SaveButton.IsEnabled || SaveButton.Visibility != Visibility.Visible)
|
||||
return;
|
||||
SaveButton_Click(null, null);
|
||||
}
|
||||
|
||||
private async void SaveButton_Click(object? sender, RoutedEventArgs? evt) {
|
||||
int? mgnr = null;
|
||||
try {
|
||||
mgnr = await UpdateMember((MemberList.SelectedItem as Member)?.MgNr);
|
||||
@ -440,7 +464,13 @@ namespace Elwig.Windows {
|
||||
FocusMember(m);
|
||||
}
|
||||
|
||||
private void ResetButton_Click(object sender, RoutedEventArgs evt) {
|
||||
protected override void ShortcutReset() {
|
||||
if (!ResetButton.IsEnabled || ResetButton.Visibility != Visibility.Visible)
|
||||
return;
|
||||
ResetButton_Click(null, null);
|
||||
}
|
||||
|
||||
private void ResetButton_Click(object? sender, RoutedEventArgs? evt) {
|
||||
TransferPredecessorAreaComs = false;
|
||||
CancelAreaComs = false;
|
||||
if (IsEditing) {
|
||||
|
Reference in New Issue
Block a user