diff --git a/NAPS2.Lib/Config/ConfigSerializer.cs b/NAPS2.Lib/Config/ConfigSerializer.cs index 314d89bf87..bf75989528 100644 --- a/NAPS2.Lib/Config/ConfigSerializer.cs +++ b/NAPS2.Lib/Config/ConfigSerializer.cs @@ -173,6 +173,7 @@ void SetIfLocked(Expression> accessor, T value, string SetIfLocked(x => x.DeleteAfterSaving, c.DeleteAfterSaving, nameof(c.DeleteAfterSaving)); SetIfLocked(x => x.KeepSession, c.KeepSession, nameof(c.KeepSession)); SetIfLocked(x => x.SingleInstance, c.SingleInstance, nameof(c.SingleInstance)); + SetIfLocked(x => x.KeyboardShortcuts, MapKeyboardShortcuts(c.KeyboardShortcuts ?? new KeyboardShortcuts()), nameof(c.KeyboardShortcuts)); return storage; } diff --git a/NAPS2.Lib/EtoForms/Ui/KeyboardShortcutsForm.cs b/NAPS2.Lib/EtoForms/Ui/KeyboardShortcutsForm.cs index 6216cea46d..11f49cad83 100644 --- a/NAPS2.Lib/EtoForms/Ui/KeyboardShortcutsForm.cs +++ b/NAPS2.Lib/EtoForms/Ui/KeyboardShortcutsForm.cs @@ -32,17 +32,14 @@ public class KeyboardShortcutsForm : EtoDialogBase new(UiStrings.Ocr, c => c.KeyboardShortcuts.Ocr), new(UiStrings.Import, c => c.KeyboardShortcuts.Import), Shortcut.Separator, - new(UiStrings.SavePdf, c => c.KeyboardShortcuts.SavePDF), new(UiStrings.SaveAllAsPdf, c => c.KeyboardShortcuts.SavePDFAll), new(UiStrings.SaveSelectedAsPdf, c => c.KeyboardShortcuts.SavePDFSelected), new(UiStrings.PdfSettings, c => c.KeyboardShortcuts.PDFSettings), Shortcut.Separator, - new(UiStrings.SaveImages, c => c.KeyboardShortcuts.SaveImages), new(UiStrings.SaveAllAsImages, c => c.KeyboardShortcuts.SaveImagesAll), new(UiStrings.SaveSelectedAsImages, c => c.KeyboardShortcuts.SaveImagesSelected), new(UiStrings.ImageSettings, c => c.KeyboardShortcuts.ImageSettings), Shortcut.Separator, - new(UiStrings.EmailPdf, c => c.KeyboardShortcuts.EmailPDF), new(UiStrings.EmailAllAsPdf, c => c.KeyboardShortcuts.EmailPDFAll), new(UiStrings.EmailSelectedAsPdf, c => c.KeyboardShortcuts.EmailPDFSelected), new(UiStrings.EmailSettings, c => c.KeyboardShortcuts.EmailSettings), @@ -199,10 +196,11 @@ private void UpdateUi() } else { + bool locked = _transactionConfig.AppLocked.Has(selected.Accessor); _shortcutText.Text = GetKeyString(selected); _shortcutText.Enabled = false; - _assign.Enabled = true; - _unassign.Enabled = _shortcutText.Text != ""; + _assign.Enabled = !locked; + _unassign.Enabled = !locked && _shortcutText.Text != ""; } _listBox.Invalidate(); } diff --git a/NAPS2.Setup/appsettings.xml b/NAPS2.Setup/appsettings.xml index 8a88ae5930..4df7f78dcd 100644 --- a/NAPS2.Setup/appsettings.xml +++ b/NAPS2.Setup/appsettings.xml @@ -85,7 +85,7 @@ false Default - + Ctrl+Enter F2 F3 @@ -127,6 +127,7 @@ Ctrl+Shift+Left Ctrl+Shift+Right Ctrl+Shift+Down + Ctrl+Up Ctrl+Down @@ -138,6 +139,7 @@ Ctrl+Shift+Del + F1 Ctrl+Oemplus Ctrl+OemMinus