[#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

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