feat: Tag toolbox filter gestures and digit hotkey overrides (0.4.1, issue #151) #152

Merged
ValleyGeek merged 5 commits from 0.4.0/issue-151-tag-toolbox-hotkeys into main 2026-08-12 00:48:39 +00:00
Member

Summary

Implements issue #151: faster Tag Filter control from the right-column tag toolbox, user-assignable 09 hotkeys, and keypad . as a DELETE alias.

Tag toolbox

  • Middle-click a tag → add it to the active Tag Filter
  • Right-click a tag → make it the only active filter tag
  • Ctrl-click a tag → dialog “Press a key from 0 to 9” (Cancel / Esc cancel) assigns a digit override

Hotkeys

  • Default auto-assign for free slots remains alphabetical (19, then 0)
  • Explicit overrides pin those tags to the top, ordered by digit; free slots fill the remaining alphabetical tags
  • Overrides persist on the workspace tag row (tags.hotkey, working DB schema v3)

Keyboard

  • Numeric keypad . toggles DELETE the same way as Delete (shell shortcut + image viewer)

Docs / version

  • VERSION0.4.1
  • USER_GUIDE, CHANGELOG, README, DESIGN DDL, DR-034

Test plan

  • pytest tests/test_tag_hotkeys.py (order, migration/persistence, panel gestures, filter API, assign dialog)
  • Related suite: tests/db/test_working_db.py, tests/test_pr9_tags.py
  • ruff check / format on touched files
  • Manual: middle/right/Ctrl-click toolbox tags with an open workspace; verify filter and digit keys; keypad . toggles DELETE

Closes #151

## Summary Implements [issue #151](https://repos.valleygeek.net/ai-collab/bulk-image-organizer/issues/151): faster Tag Filter control from the right-column tag toolbox, user-assignable `0`–`9` hotkeys, and keypad `.` as a DELETE alias. ### Tag toolbox - **Middle-click** a tag → add it to the active Tag Filter - **Right-click** a tag → make it the only active filter tag - **Ctrl-click** a tag → dialog *“Press a key from 0 to 9”* (Cancel / Esc cancel) assigns a digit override ### Hotkeys - Default auto-assign for free slots remains alphabetical (`1`–`9`, then `0`) - Explicit overrides pin those tags to the **top**, ordered by digit; free slots fill the remaining alphabetical tags - Overrides persist on the workspace tag row (`tags.hotkey`, working DB schema v3) ### Keyboard - Numeric keypad **`.`** toggles DELETE the same way as **Delete** (shell shortcut + image viewer) ### Docs / version - `VERSION` → **0.4.1** - USER_GUIDE, CHANGELOG, README, DESIGN DDL, DR-034 ## Test plan - [x] `pytest tests/test_tag_hotkeys.py` (order, migration/persistence, panel gestures, filter API, assign dialog) - [x] Related suite: `tests/db/test_working_db.py`, `tests/test_pr9_tags.py` - [x] `ruff check` / format on touched files - [ ] Manual: middle/right/Ctrl-click toolbox tags with an open workspace; verify filter and digit keys; keypad `.` toggles DELETE Closes #151
Add an optional tags.hotkey column (working DB v3) and pure helpers that pin
explicit 0-9 assignments at the top of the toolbox while auto-filling free
slots alphabetically for the rest.
Middle-click adds a tag to the active filter, right-click makes it exclusive,
and Ctrl-click opens a 0-9 prompt that stores a digit override for that tag.
Treat the numeric keypad '.' key the same as Delete for toggling the DELETE
tag in the shell shortcuts and image viewer.
test: cover tag hotkey order, persistence, and toolbox gestures (issue #151)
All checks were successful
CI / lint (push) Successful in 13s
CI / test (push) Successful in 9m54s
CI / windows-exe (push) Successful in 12m58s
CI / build-windows-exe (push) Successful in 0s
CI / appimage (push) Successful in 26m22s
CI / build-appimage (push) Successful in 0s
7e44ee924a
docs: PR-prep for 0.4.1 tag toolbox hotkeys (issue #151)
Some checks failed
CI / lint (push) Successful in 13s
CI / test (push) Failing after 8m20s
CI / appimage (push) Has been skipped
CI / windows-exe (push) Has been skipped
CI / build-appimage (push) Failing after 0s
CI / build-windows-exe (push) Failing after 0s
499eaddfc5
Bump VERSION to 0.4.1, document toolbox filter gestures and digit hotkey
overrides in the user guide, CHANGELOG, README, DESIGN DDL, and DR-034.
ValleyGeek deleted branch 0.4.0/issue-151-tag-toolbox-hotkeys 2026-08-12 00:48:39 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
ai-collab/bulk-image-organizer!152
No description provided.