Skip to content

Add "wait for enter" search option#12263

Merged
droidmonkey merged 5 commits intokeepassxreboot:developfrom
jessy2027:feature/wait-for-enter-search
Jul 6, 2025
Merged

Add "wait for enter" search option#12263
droidmonkey merged 5 commits intokeepassxreboot:developfrom
jessy2027:feature/wait-for-enter-search

Conversation

@jessy2027
Copy link
Copy Markdown
Contributor

Feature: Add "Wait for Enter" Search Mode Toggle

Description

This PR adds a new toggle option in the search widget to switch between "search-as-you-type" and "execute search on Enter key press" modes. This feature addresses issue #12231.

Changes

  1. Added a new configuration option SearchWaitForEnter in Config.h
  2. Added a toggle action "Wait for Enter to search" in the search menu
  3. Modified SearchWidget to handle both search modes:
    • Search-as-you-type (default): searches automatically as text changes
    • Wait for Enter: searches only when Enter key is pressed
  4. Added persistence of the toggle state in settings
  5. Added unit tests in TestGui.cpp to verify both modes

User Interface

  • Added a new toggle option "Wait for Enter to search" in the search menu
  • The toggle is persistent across sessions
  • When enabled, the search only executes on Enter key press
  • When disabled, search-as-you-type behavior is restored

Testing

  • Added unit tests in TestGui.cpp to verify:
    • Toggle visibility and functionality
    • Search behavior in both modes
    • Persistence of the toggle state
  • Manual testing confirmed the toggle works as expected

Standards

  • Follows KeePassXC coding standards
  • Maintains existing code structure
  • Proper error handling and validation
  • Documentation updated where necessary

Related Issue

@droidmonkey droidmonkey changed the title feat: add wait for enter search toggle Add "wait for enter" search option Jul 4, 2025
@jessy2027 jessy2027 force-pushed the feature/wait-for-enter-search branch 3 times, most recently from 2681f67 to 13adf94 Compare July 5, 2025 18:29
…ch (uses action state instead of config cache).
@droidmonkey droidmonkey added feature: Search pr: new feature Pull request adds a new feature labels Jul 5, 2025
@droidmonkey droidmonkey added this to the v2.7.11 milestone Jul 5, 2025
@droidmonkey droidmonkey force-pushed the feature/wait-for-enter-search branch from 1397cc8 to d361069 Compare July 6, 2025 13:43
@droidmonkey
Copy link
Copy Markdown
Member

@jessy2027 we got it from here, no need to do any more pushes

* Increase auto-search timeout to 500 ms
@droidmonkey droidmonkey force-pushed the feature/wait-for-enter-search branch from d361069 to 66818cc Compare July 6, 2025 13:44
@jessy2027
Copy link
Copy Markdown
Contributor Author

@droidmonkey sorry I start with github

@droidmonkey droidmonkey force-pushed the feature/wait-for-enter-search branch from 58af605 to 66818cc Compare July 6, 2025 13:47
@jessy2027
Copy link
Copy Markdown
Contributor Author

@droidmonkey where do the errors come from

@droidmonkey
Copy link
Copy Markdown
Member

FAIL! : TestGui::testSearch() '(!m_dbWidget->isSearchActive())' returned FALSE. ()
09:52:34  Loc: [/Users/KPXC/buildAgent/work/c401303cba1b4098/tests/gui/TestGui.cpp(1159)]

@droidmonkey droidmonkey force-pushed the feature/wait-for-enter-search branch from 58af605 to 486dbcc Compare July 6, 2025 15:58
@droidmonkey
Copy link
Copy Markdown
Member

I think I fixed it

@droidmonkey droidmonkey force-pushed the feature/wait-for-enter-search branch from 486dbcc to 91de1e1 Compare July 6, 2025 16:15
@jessy2027
Copy link
Copy Markdown
Contributor Author

@droidmonkey thanks

@droidmonkey droidmonkey merged commit 7ec0f1f into keepassxreboot:develop Jul 6, 2025
11 checks passed
pull bot pushed a commit to surkin/keepassxc that referenced this pull request Jul 6, 2025
* Also increase auto-search timeout to 500 ms to improve user experience, especially with large databases. The previous value of 100ms guaranteed a search was performed after every character entered, even when typing relatively fast. 

---------

Co-authored-by: Jonathan White <support@dmapps.us>
pull bot pushed a commit to blog2i2j/keepassxreboot.._..keepassxc that referenced this pull request Jul 6, 2025
* Also increase auto-search timeout to 500 ms to improve user experience, especially with large databases. The previous value of 100ms guaranteed a search was performed after every character entered, even when typing relatively fast. 

---------

Co-authored-by: Jonathan White <support@dmapps.us>
@droidmonkey droidmonkey added the pr: backported Pull request backported to previous release label Oct 25, 2025
droidmonkey added a commit that referenced this pull request Oct 26, 2025
* Also increase auto-search timeout to 500 ms to improve user experience, especially with large databases. The previous value of 100ms guaranteed a search was performed after every character entered, even when typing relatively fast. 

---------

Co-authored-by: Jonathan White <support@dmapps.us>
dragonekii pushed a commit to dragonekii/keepassxc-custom that referenced this pull request Dec 8, 2025
Release 2.7.11 (2025-11-23)

- Add image, HTML, Markdown preview, and text editing support to inline attachment viewer [keepassxreboot#12085, keepassxreboot#12244, keepassxreboot#12654]
- Add database merge confirmation dialog [keepassxreboot#10173]
- Add option to auto-generate a password for new entries [keepassxreboot#12593]
- Add support for group sync in KeeShare [keepassxreboot#11593]
- Add {UUID} placeholder for use in references [keepassxreboot#12511]
- Add “Wait for Enter” search option [keepassxreboot#12263]
- Add keyboard shortcut to “Jump to Group” from search results [keepassxreboot#12225]
- Add predefined search for TOTP entries [keepassxreboot#12199]
- Add confirmation when closing database via ESC key [keepassxreboot#11963]
- Add support for escaping placeholder expressions [keepassxreboot#11904]
- Reduce tab indentation width in notes fields [keepassxreboot#11919]
- Cap default Argon2 parallelism when creating a new database [keepassxreboot#11853]
- Database lock after inactivity now enabled by default and set to 900 seconds [keepassxreboot#12689, keepassxreboot#12609]
- Copying TOTP now opens setup dialog if none is configured for entry [keepassxreboot#12584]
- Make double click action configurable [keepassxreboot#12322]
- Remove unused “Last Accessed” from GUI [keepassxreboot#12602]
- Auto-Type: Add more granular confirmation settings [keepassxreboot#12370]
- Auto-Type: Add URL typing preset and add copy options to menu [keepassxreboot#12341]
- Browser: Do not allow sites automatically if entry added from browser extension [keepassxreboot#12413]
- Browser: Add options to restrict exposed groups [keepassxreboot#9852, keepassxreboot#12119]
- Bitwarden Import: Add support for timestamps and password history [keepassxreboot#12588]
- macOS: Add Liquid Glass icon [keepassxreboot#12642]
- macOS: Remove theme-based menubar icon toggle [keepassxreboot#12685]
- macOS: Add Window and Help menus [keepassxreboot#12357]
- Windows: Add option to add KeePassXC to PATH during installation [keepassxreboot#12171]

- Fix window geometry not being restored properly when KeePassXC starts in tray [keepassxreboot#12683]
- Fix potential database truncation when using direct write save method with YubiKeys [keepassxreboot#11841]
- Fix issue with database backup saving [keepassxreboot#11874]
- Fix UI lockups during startup with multiple tabs [keepassxreboot#12053]
- Fix keyboard shortcuts when menubar is hidden [keepassxreboot#12431]
- Fix clipboard being cleared on exit even if no password was copied [keepassxreboot#12603]
- Fix single-instance detection when username contains invalid filename characters [keepassxreboot#12559]
- Fix “Search Wait for Enter” setting not being save [keepassxreboot#12614]
- Fix hotkey accelerators not being escaped properly on database tabs [keepassxreboot#12630]
- Fix confusing error if user cancels out of key file edit dialog [keepassxreboot#12639]
- Fix issues with saved searches and “Press Enter to Search” option [keepassxreboot#12314]
- Fix URL wildcard matching [keepassxreboot#12257]
- Fix TOTP visibility on unlock and settings change [keepassxreboot#12220]
- Fix KeeShare entries with reference attributes not updating [keepassxreboot#11809]
- Fix sort order not being maintained when toggling filters in database reports [keepassxreboot#11849]
- Fix several UI font and layout issues [keepassxreboot#11967,  keepassxreboot#12102]
- Prevent mouse wheel scroll on edit username field [keepassxreboot#12398]
- Improve base translation consistency [keepassxreboot#12432]
- Improve inactivity timer [keepassxreboot#12246]
- Documentation improvements [keepassxreboot#12373, keepassxreboot#12506]
- Browser: Fix ordering of clientDataJSON in Passkey response object [keepassxreboot#12120]
- Browser: Fix URL matching for additional URLs [keepassxreboot#12196]
- Browser: Fix group settings inheritance [keepassxreboot#12368]
- Browser: Allow read-only native messaging config files [keepassxreboot#12236]
- Browser: Optimise entry iteration in browser access control dialog [keepassxreboot#11817]
- Browser: Fix “Do not ask permission for HTTP Basic Auth” option [keepassxreboot#11871]
- Browser: Fix native messaging path for Tor Browser launcher on Linux [keepassxreboot#12005]
- Auto-Type: Fix empty window behaviour [keepassxreboot#12622]
- Auto-Type: Take delays into account when typing TOTP [keepassxreboot#12691]
- SSH Agent: Fix out-of-memory crash with malformed SSH keys [keepassxreboot#12606]
- CSV Import: Fix modified and creation time import [keepassxreboot#12379]
- CSV Import: Fix duplication of root groups on import [keepassxreboot#12240]
- Proton Pass Import: Fix email addresses not being imported when no username set [keepassxreboot#11888]
- macOS: Fix secure input getting stuck [keepassxreboot#11928]
- Windows: Prevent launch as SYSTEM user from MSI installer [keepassxreboot#12705]
- Windows: Remove broken check for MSVC Redistributable from MSI installer [keepassxreboot#11950]
- Linux: Fix startup delay due to StartupNotify setting in desktop file [keepassxreboot#12306]
- Linux: Fix memory initialisation when --pw-stdin is used with a pipe [keepassxreboot#12050]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feature: Search pr: backported Pull request backported to previous release pr: new feature Pull request adds a new feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Search option to wait for enter to execute search

2 participants