[#31] AdministrationWindow: Add shortcuts

This commit is contained in:
2024-03-24 21:53:18 +01:00
parent 555ce228d4
commit dd408ca40e
9 changed files with 279 additions and 49 deletions

View File

@ -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);