keepassxc
keepassxc copied to clipboard
Add customizable toolbar settings and fix German language layout issue
Implements:
- Issue #12544: Add user-configurable visibility toggles for toolbar actions
- Issue #12550: Fix German translation causing password generator button overflow
Includes:
- New Config::ConfigKey entries for each toolbar button visibility option
- New UI elements (QGroupBox + five QCheckBox widgets) and bindings in ApplicationSettingsWidgetGeneral.ui
- Updated loadSettings() and saveSettings() logic to sync UI checkboxes with persistent config values
- Toolbar visibility logic applied in MainWindow and NewDatabaseWizard, ensuring consistent behavior across all entry points
- Added minimum width (900px) to the New Database Wizard to prevent German-language truncation
- Replaced unsafe static_cast with dynamic_cast in KeeShare for RSA key extraction; added fallback warning
- GUI tests updating TestGui.cpp and TestGui.h for:
- Settings navigation
- Checkbox state propagation
- Config rewrites
- Presence of "de" in language selector
- Cleanup of include ordering and removal of unused includes Fixes #12544. Fixes #12550.
Screenshots
Testing strategy
Added automated GUI tests for:
- Navigating settings
- Verifying checkbox bindings
- confirming German locale presence in the language selector
- Manually tested toolbar visibility toggles with all five buttons
- Verified correct rendering in both English and German interface modes
- Ensured all existing tests pass locally (Qt Test + CTest)
Type of change
- ✅ Bug fix (non-breaking change that fixes an issue)
- ✅ New feature (change that adds functionality)
- ✅ Refactor (significant modification to existing code)
Very nice thank you for the submission, will review