-
-
Notifications
You must be signed in to change notification settings - Fork 516
Custom keybinds, Default language per Library, and bugfixes #4162
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
…ver is of worse quality. Fixes #4117
We could do this for others to, as some logic will be shared accros components
This makes it so what is displayed, is what the user is typing. Using the object with booleans also makes it a lot nicer to work with
…vent - Use correct subject, and don't loop events - Fix is default keybinds code
Fail requiredIf check if other value is invalid, for better error visibility. Log error when trying to manually save with an error in the form
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR introduces custom keyboard bindings and a default language setting for libraries in Kavita. It enables users to customize keyboard shortcuts for various actions throughout the application and allows library-level default language assignment when chapter metadata lacks language information.
Key changes:
- Added custom keyboard bindings system with UI for configuration
- Implemented default language setting for libraries
- Added gamepad support infrastructure
- Refactored cleanup service execution logic
- Enhanced person cover image handling
Reviewed Changes
Copilot reviewed 71 out of 72 changed files in this pull request and generated 9 comments.
Show a summary per file
| File | Description |
|---|---|
| UI/Web/src/assets/langs/en.json | Added translation keys for custom key bindings, validation messages, and language settings |
| UI/Web/src/app/user-settings/custom-key-binds/* | New component for managing custom keyboard shortcuts |
| UI/Web/src/app/_services/key-bind.service.ts | Core service managing keyboard bindings, validation, and event handling |
| UI/Web/src/app/_services/game-pad.service.ts | Service for gamepad input handling |
| API/Entities/Library.cs | Added DefaultLanguage property for libraries |
| API/Services/Tasks/Scanner/ProcessSeries.cs | Implements default language fallback logic |
| API/Services/Tasks/CleanupService.cs | Refactored cleanup execution with better organization |
UI/Web/src/app/user-settings/manga-user-preferences/manage-user-preferences.component.ts
Show resolved
Hide resolved
UI/Web/src/app/user-settings/custom-key-binds/manage-custom-key-binds.component.ts
Show resolved
Hide resolved
UI/Web/src/app/sidenav/_modals/library-settings-modal/library-settings-modal.component.ts
Show resolved
Hide resolved
UI/Web/src/app/sidenav/_modals/library-settings-modal/library-settings-modal.component.ts
Show resolved
Hide resolved
UI/Web/src/app/manga-reader/_components/manga-reader/manga-reader.component.ts
Outdated
Show resolved
Hide resolved
Co-authored-by: Joseph Milazzo <[email protected]>
Added
Changed
Fixed